1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Premiere Elite performance enhancements

Discussion in 'TiVo Premiere DVRs' started by brentil, Oct 10, 2011.

  1. Oct 10, 2011 #1 of 234
    brentil

    brentil New Member

    342
    0
    Sep 9, 2011
    From the Elite data thread there was a wonderful bit of data dropped by sbiller.

    Wait a 50% increase in boot speed? :eek: The importance of this is that boot speed can provide a glimpse into various enhancements at multiple levels in the system. It implies a significant change in a certain aspect or a collection of smaller changes combining to provide a significant overall improvement.

    Is there a new chip inside of the Elite? I'm not really sure, but the items I explore below could explain this performance boost without the move to a new CPU.

    Why do we care? The changes needed to provide such a boost could provide various benefits to the overall user experience as well providing for a more fluid UI interface, more advanced software components, more active features, etc.

    What we know about the Elite so far;
    • Newer 14.9 software (instead of 14.8)
    • Newer kernel revision 2.6.18 buildmaster93 (instead of buildmaster64)
    • Newer GCC 4.2.0 compiler used (instead of 3.3.4)
    • 1024 MB of RAM (instead of 512 MB) - UPDATE the Elite still only has 512 MB of RAM
    • SMP support enabled during boot process (instead of ?)
    • Quad Tuner support (instead of dual cable & dual OTA)

    Newer 14.9 software (instead of 14.8)
    The software version is really the overall container of features. A new version could contain a new kernel, updated support libs, newer UI code, etc. Some of the data is exposed to us in the form of version #s but is typically internal to TiVo what exactly has changed. What we know exists in this version is new UI code, a newer kernel build (not to be confused with a new kernel version), MoCA support, and Quad Tuner support.

    Of note library wise Flash Player Version: mainline3/2011.07.06.0601 & HD Menu Software Version:1-9/2011.08.31-1134 show fairly new revision dates compared to a non-Elite Premiere with Flash Player Version: 14-8-mr/2011.02.24-0601 & HD Menu Software Version: 1-8/2011.04.08-1413. Any advances in these could provide significantly greater UI performance features. In relation to boot times if the core files have been optimized to use SMP as well as the larger memory space then load times at the end of the post BIOS pre-OS could be reduced.

    Newer kernel revision 2.6.18 buildmaster93 (instead of buildmaster64)
    The latest 14.9 release includes a more recent kernel build. This is not to be confused with a new version of the kernel. The non-Elite & Elite both run 2.6.18 so there are no new features added at the kernel level between these two versions. However newer builds of the same kernel version indicate bug fixes and performance enhancements to the system as it currently exists. The kernel is where the enable/disable of SMP (multiple cores) is defined and controlled so any resolutions here could have provided the ability to enable features already planned or prevent issues that were causing problems.

    Newer GCC 4.2.0 compiler used (instead of 3.3.4)
    This to me is really the most important of software level changes. The GCC 3.3.4 compiler was built in May 2004 where 4.2.0 was built in May 2007 (of note GCC 4.2.1 was what Android was being built against until late last year). The compiler takes the code you've written and translates it into the machine code your device will run. Besides dealing with your own bugs and performance issues, compiler level fixes and performance gains can provide impressive results. The various GCC versions between these sets have all produced significant performance enhancement features along with improved debugging and tracing. In terms of SMP support as well your compiler needs to properly understand certain ways of writing code to be much more SMP friendly. These newer tools can provide a very significant performance boost to SMP code as well as may have been instrumental in finally solving the SMP issues TiVo has been plagued with. As with moving to newer kernel versions moving to newer GCC versions can allow the removal of legacy components providing more efficient CPU cycle usage and memory usage.

    1024 MB of RAM (instead of 512 MB) - UPDATE the Elite still only has 512 MB of RAM
    As with PCs the more RAM you have in general the better your performance. However doubling the system RAM will not provide a doubling in performance. It does however prevent items being loaded and then pushed out of RAM to make room for new items being loaded. This type of behavior is extremely detrimental to a SQL type application which is what the heart of a TiVo's guide data and recording systems are stored in. Providing the ability to load these into memory and keep them loaded would provide an impressive performance gain in relation to tasks accessing it like scheduling, editing, listing, etc. From digging in the code of the previous 512 MB devices only a portion of the RAM is dedicated to the tuners, and it was less than 256 MB if I recall correctly meaning the Elite if they doubled the tuner memory would still allow for a doubling of RAM for the OS.

    The most important aspect of more RAM becomes apparent with the enabling of SMP. The problem with running multiple concurrent processes is that you need to feed them or they starve and stall in action waiting for data. For an SMP system to function optimally it really needs more RAM and faster RAM than a single threaded core. The cores also need extra space in order to share data between each other as well for communication and data sharing.


    SMP support enabled during boot process (instead of ?)
    Threading is the beast & the beauty of performance improvements. The beauty of threading is if you can successfully thread an application set and then provide it an SMP environment you can see up to a 50% improvement in speed by running two instances. However the beast of threading comes in the form of debugging and capability. Once you break from one thread doing everything you've more than doubled the complexity of programming and debugging the issues that arise with your code. An improperly developed system can actually see a performance decrease from running on a multiple core platform as certain aspects become faulty due to unfound bugs.

    If the SMP functionality has truly been enabled at the kernel level finally then this could very well provide along with additional RAM the ability to provide performance boosts in lots of regions. At boot time the ability to process multiple starting services (this kernel does not support asynchronous device loading though) greatly decreasing system loads. Under system load the ability to run UI threads and SQL threads simultaneously could provide significant UI enhancement as data is immediately available instead of in seconds or 10s of seconds.

    Quad Tuner support (instead of dual cable & dual OTA)
    The support for Quad tuners allows for the removal of OTA tuner support. Depending on how long the initialization portion is for this hardware you can see a benefit from its removal. As the loading of only one driver set for two cable tuners may provide a slight benefit. It does allow the removal of the OTA drivers from memory as well.


    14.9.9.2 vs 14.8c Performance Gains
    This image contains the data values in seconds comparing the previous 14.8c versus the new 14.9.2.2 along with the % difference.

    [​IMG]

    This image is a graph of the % increase showing the overall trend in increases.

    [​IMG]
     
  2. Oct 10, 2011 #2 of 234
    P42

    P42 New Member

    1,266
    0
    Jan 7, 2003
    01460
    Re: Newer kernel revision 2.6.18 buildmaster93 (instead of buildmaster64)

    buildmaster## is likely just a build server at Tivo, ie the server which complies the code. Both boxes are running the same kernel 2.6.18
     
  3. Oct 10, 2011 #3 of 234
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    Until the Premiere units get the same level of software (14.9 or above) I would not make any conclusions that speedup is solely hardware related.
     
  4. Oct 10, 2011 #4 of 234
    brentil

    brentil New Member

    342
    0
    Sep 9, 2011
    You are correct, looking at the comments again the full version for both is 2.6.18-5.1.

    However if SMP is actually enabled it would require a kernel update & recompiled without the SMP blocking code in it. There obviously was a recompile at least with the newer GCC compiler and build system so they may have changed code without changing the build version number too. puffdaddy somehow was able to see this build information, I'm hoping to find out how so I can compare the code of the most recent build versus the older builds.
     
  5. Oct 10, 2011 #5 of 234
    brentil

    brentil New Member

    342
    0
    Sep 9, 2011
    Yeah, that's part of the point of this thread to show gains from both hardware and software. I plan to benchmark my system (base Premiere) tonight in a couple methods like boot times and transfer speed to get an idea of where it is now and then where it is when/if we get the 14.9 or later software.

    Another issue too is we still do not know if the Elite is the same CPU and if/when we get 14.9 will SMP be enabled for the non-Elite versions.
     
  6. Oct 10, 2011 #6 of 234
    jfh3

    jfh3 New Member

    4,469
    0
    Apr 15, 2004
    Denver area
    Nice thread. I added a link to it in the initial post of the Initial Elite impressions thread. As a former programmer, this kind of info/speculation is always cool to read
     
  7. Oct 10, 2011 #7 of 234
    lgerbarg

    lgerbarg New Member

    68
    0
    Jun 26, 2000
    Troy, NY, USA


    GCC 4.2 has a number of improvements over 3.x, but better compiler support for SMP is not really one of them*. Some languages and compilers have defined SMP semantics, C does not (though the draft C1X standard finally includes language level semantics for C atomics and a memory model). Consequently all SMP support for C is provided by OS level functionality (pthreads in this case) of which the compiler is blissfully ignorant of, by design
    .
    *Some atomic intrinsics were added, but they don't improve code generation or change the quality of anything, they just mean you don't have to use the OS provided intrinsics in platform independent code, so on an embedded device like TiVo their inclusion is moot.
     
  8. Oct 10, 2011 #8 of 234
    aaronwt

    aaronwt UHD Addict

    19,173
    21
    Jan 31, 2002
    Northern...
    I've been transferring some more shows to my Elite this evening. So far the fastest I seen on the diagnostics page from last night and today is 82Mb/s. But I've also never checked the speeds from the switch I currently have it connected to. So I'm not sure if that is normal or a little slow.

    My other locations have seen 90Mb/s transfer rates. Although that is good for now. When I move it to it's permanent location when I remove two Premieres, I'll have to check it again.
     
  9. Oct 10, 2011 #9 of 234
    Dan203

    Dan203 Super Moderator Staff Member TCF Club

    37,454
    166
    Apr 17, 2000
    Nevada
    That's pretty good, and above average for real world 100Mbps Ethernet performance. So unless the Elite has switched to Gigabit I wouldn't expect much more then that.

    Dan
     
  10. Oct 10, 2011 #10 of 234
    brentil

    brentil New Member

    342
    0
    Sep 9, 2011
    lgerbarg, thank you for the clarification. I haven't done GCC/C since my undergrad days so I'm much more used to VS now with various SMP optimaztion tools.

    The 802.11N modules might be able to push closer to that with their 150 Mbps theoretical limit. I'll be doing my transfer to a PC because I only have 1 S4 and the rest are S3 or less and those have very slow transfer rates. The boot times will really be a much better test for performance gains on the non-Elite as we already have pretty decent network. I mainly wanted to test to make sure it didn't get worse.
     
  11. Oct 10, 2011 #11 of 234
    Dan203

    Dan203 Super Moderator Staff Member TCF Club

    37,454
    166
    Apr 17, 2000
    Nevada
    The TiVo 802.11n adapter is basically just an Ethernet bridge, so it's still limited by the throughput of the TiVo's Ethernet jack. So I think that 80-90Mbps is max you'll ever see coming from a Premiere with it's 100Mbps Ethernet.

    Now The Elite on the other hand might be able to go faster using MoCa, since that has a theoretical limit of 175Mbps.

    Dan
     
  12. Oct 10, 2011 #12 of 234
    brentil

    brentil New Member

    342
    0
    Sep 9, 2011
    Duh you're right, I had one for a time and completely forgot that it was the crazy RJ45 jack + power dongle insanity... I really hope the S5 brings WiFi internally but the addition of MoCA might dash those dreams.
     
  13. Oct 10, 2011 #13 of 234
    rainwater

    rainwater Active Member

    7,057
    1
    Sep 21, 2004
    The Elite has the same CPU as the Premiere.
     
  14. Oct 10, 2011 #14 of 234
    brentil

    brentil New Member

    342
    0
    Sep 9, 2011
    Yeah, I think I was 90% convinced it was the same chip. There had just been some question of it. We also have a user in the other thread who said he was going to do a teardown and see.
     
  15. Oct 10, 2011 #15 of 234
    BigJimOutlaw

    BigJimOutlaw Active Member

    2,779
    8
    Mar 21, 2004
    Nothing scientific to add, but I did notice that the EPG (grid mode) was displaying data immediately as I paged through it. The PG was always relatively fast, with maybe some show titles populating the grid a split second behind the button press. But when I was paging through it on the Elite I played with, it was almost like the data was buffered... it kept up with every Chan Dwn and Chan Up button press. Instant. Minor but noticeable improvement.
     
  16. Oct 10, 2011 #16 of 234
    justinw

    justinw New Member

    74
    0
    Jan 30, 2007
    I noticed the same. The font seems to be slightly different as well. Looks better in my opinion.
     
  17. Oct 10, 2011 #17 of 234
    caddyroger

    caddyroger New Member

    1,730
    0
    Mar 14, 2005
    Some where...
  18. Oct 11, 2011 #18 of 234
    jfh3

    jfh3 New Member

    4,469
    0
    Apr 15, 2004
    Denver area
    Other than cost, would there have been any logic in including 2GB memory, rather than 1TB, in the Elite? How much more would 2GB cost these days at the BOM level?
     
  19. Oct 11, 2011 #19 of 234
    jfh3

    jfh3 New Member

    4,469
    0
    Apr 15, 2004
    Denver area
    I don't know if you meant me, but all I plan to do is take off the hard drive and take pics. I don't plan to even have my soldering iron in the same room with be and I'm certainly not going to be trying to disassemble anything.

    Is there other useful info you will be able to gather from close up pictures of the various chips? Any to focus on?
     
  20. Oct 11, 2011 #20 of 234
    L David Matheny

    L David Matheny Active Member

    1,588
    1
    Jan 29, 2011
    SE Ohio
    If you're referring to main memory (RAM), 1GB does seem a little light these days. And I didn't realize that the Premiere has only 500MB (somebody said, I think). A current Windows machine with only 500MB or even 1GB would surely be starved for memory. I know Premieres run Linux, which should use memory much more efficiently, but they are also running Flash, which probably doesn't, and video data uses lots of memory.

    Has anybody ever tried to add memory to a TiVo? Could that be done? Would the OS recognize it? Does anybody feel daring?
     

Share This Page