It appears there is significantly greater horsepower in the Elite's Broadcom chip. I suppose some of the increased boot up time could be related to software differences but I doubt TiVo is concerned about start-up time.

Wait a 50% increase in boot speed? 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 RAMAs 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.

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

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

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.

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

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.

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.

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

[B]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.

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.

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.

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.

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

The 802.11N modules might be able to push closer to that with their 150 Mbps theoretical limit.

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.

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.

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

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.

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.

I noticed the same. The font seems to be slightly different as well. Looks better in my opinion.

We also have a user in the other thread who said he was going to do a teardown and see.

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?

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?

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?

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.

You can't compare it a desktop system since it uses a Broadcom SoC which offloads a lot of tasks to the dedicated hardware. It's much different than a desktop system since it is so specialized.

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?

Yeah, I miss stated what you intended. The information written on the memory chip itself would be useful to know what type of RAM it is. Also if you can find the MoCA chip so we can ensure it is the one we think it is. Intrinsic or something like that?

Quote:

Originally Posted by jfh3

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?

The current S4 has 4 x 128 MB chips on it, I wouldn't be surprised if the 1 x 1024 MB chip cost the same or less than the 4 other chips. It also decreases power draw and and heat generation. It also allows decreasing the motherboard complexity which looking at the Elite vs non-Elite there are a lot less traces now. Since the new design has 1 chip on one side they could add another chip to the other side of the PCB opposite the existing one still leaving the other traces off.

Short answer...
Maybe, it depends on how much data a well soaked TiVo stores in the SQL DB and how much more room for overhead there is in the CPU to run more advanced applications.

Long answer...
More RAM is always better RAM until you run out of things to load into RAM. Also as rainwater said a TiVo has lots of dedicated hardware to offload specific tasks too. So the question comes to how much data does a TiVo store in the SQL database? This aspect of the TiVo I'm rather lacking in knowledge, but if someone has access to the location the SQL DB files are stored that would give a good answer for a long time running Premiere. You can load that entire data set into RAM + cached queries that are commonly used. Plus you can keep larger portions of the OS in memory but a device like a TiVo (like a phone) uses a much smaller OS footprint. You could however use the memory to load higher detail graphics used for interfaces as well as load larger applications into memory (like more advanced Flash applications).

You also then run into the limitations of just what we can run with the current CPU in this device which I believe is a MIPS32 34K based design. I don't think more than 1 GB of RAM will provide significant benefits to misc applications as I don't believe anything extremely advanced could be run on this hardware.

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

I just discovered the Elite has 2GB of RAM instead of the 1GB of RAM I reported earlier. Turns out it has 2 of the Hynix chips. Once I removed the hard drive I was able to see the second chip!
More to come...
~Sam

The AR8328/AR8328N is a highly integrated seven-port Gigabit Ethernet switch with a fully non-blocking switch fabric, a high-performance lookup unit supporting 2048 MAC addresses, and a four-traffic class Quality of Service (QoS) engine. The AR8328 has the flexibility to support various networking applica- tions. The AR8328/AR8328N is designed for cost-sensitive switch applications in wireless AP routers, home gateways, and xDSL/cable modem platforms.

__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.