Separate names with a comma.
Discussion in 'TiVo Premiere DVRs' started by logicology, Oct 10, 2011.
Does the TiVo Premier software include dual-core support yet?
Not yet, but the Elite does....so the premier might be next.
"And a nice surprise, it seems the Premiere Elite has enabled the second core. Compare these lines from the kernel on a Premiere running 14.8 to a Premiere Elite running 14.9:
14.8: Linux version 2.6.18-5.1 (build@buildmaster64) (gcc version 3.3.4) #1 Wed Mar 16 02:53:03 PDT 2011
14.9: Linux version 2.6.18-5.1 (build@buildmaster93) (gcc version 4.2.0) #1 SMP Wed Sep 21 18:32:42 PDT 2011
SMP is Symmetric Multi-Processing, which means multiple cores are enabled."
I think there are two hopes here...
1) that the second core gets enabled
2) that the second core adds enough CPU power to actually make the HDUI usable. I'm skeptical...
If the Elite does have the second core enabled then maybe that is part of the reason the HDUI is faster. Even when I was reading/writing seven concurrent HD streams(4 recording, 1 transfer to the elite, 1 transfer from the Elite, and watching a previously recorded show), the HDUI on the Elite was noticeably quicker than the Premiere.
I currently find searching for shows and setting up SPs to be noticably slower than my Premier but that may be well because the system is newly setup and still doing alot of indexing. I agree that other parts of the HDUI seem faster.
... and the SDUI on the Elite is faster than on a Premiere. Don't know if that is second core, more memory or a different processor.
More memory could be a contributing factor there as well. If they can cache more data in RAM, rather then reading it from the disc, that could significantly improve the feel of the UI.
So I wouldn't get my hopes up that the Premiere will see a marked improvement in UI speed when/if it gets 14.9.
Woudn't the HDUI be bottlenecked at the Flash DSP?
Not necessarily. The UI itself is Flash, but it's populated by data which is read from the hard drive, stored in RAM and then processed by the CPU. So the "bottleneck" could be any one, or all, of those things.
If it were about 400% faster UI when it comes to the Premiere non-Elite, I might consider switching to the HDUI. I am highly skeptical...
Exactly, and adding more RAM and enabling the 2nd CPU eliminates a lot of those issues. With the larger RAM you can store more of the data instead of continually reading/writing to the drive, the 2nd CPU allows for IO tasks like reading/writing to the drive to be done more efficiently while other tasks run on the other core, the 2nd CPU also allows the UI to run on a core by itself while everything else is processed by the other core.
We have talked about this to death in the past in other threads. Most of the slowness of the Premiere's HDUI is resting on Flash and the bad design of trying to pull info from the Internet interactively. If Flash is not multithreaded, the additional core would do little to improve the most important aspect of speed- the user interface. The rest of the tasks the Premiere has to do are not very CPU intensive (like I/O or "recording"). And even if they ARE threaded, it will likely have minimal impact, overall.
Note that I said "IF"- I don't know that Flash is not multithreaded, we are assuming it is not. It would be a very pleasant surprise if that assumption is wrong (or has been recently made wrong).
I also doubt they are going to totally redesign the Premiere HDUI so it works from local objects instead of fetched objects. There is plenty of disk space and idle time on the Premiere that it could download any data of interest on at least the programs it has ALREADY recorded; maybe even for everything in the guide. It is more possible they could delay the fetching of live data until the user requests it, not just scrolling through things.
Having more RAM doesn't increase performance much (or at all), unless it already had too little RAM to begin with. Linux does a very good job at memory management. Again, without more data, it is hard to know what the situation is.
All that said, I am sure all of us would love any type of speed and stability improvements that could be mustered.
That is both true and untrue about a 2nd core not helping with Flash being threaded or not. Yes if Flash is not threaded it will not see a speed boost from multiple cores directly from that. However... currently all CPU based tasks share the one core meaning the HDUI, Flash runtime it runs on, network, storage IO, OS functions, SQL storage/querying, and everything else going on that requires the main CPU. Lets say at most those functions require 25% of the CPU ignoring the HDUI portion (as Flash is a CPU beast) that means you at most have 75% of the CPU left for the HDUI but we know it wants more as it's running so freakin slow under demand. Under load you could easily demand more than 25% of 1 CPU just in network requests, SQL querying, memory interfacing, & drive IO requests which this CPU contention then results in someone sacrificing for another to run but they all still need to run to complete the one task, showing you data. When you have multiple cores you can lock the Flash's runtime to have an affinity for a single core forcing it to always run on one core eliminating and issues that might arise from the OS attempting to move it across CPUs in essence giving it its own 100% of a single CPU. You also then allow all those other tasks that were fighting with Flash to run on the other CPU and when Flash isn't slaughtering the one it has affinity to the system can thread its resources across both CPUs speeding them up as well. This then allows the drive IO, memory IO, network IO, and SQL data to be done as needed and not stalled when Flash is gobbling CPU cycles.
The same with memory too. If there is enough data to load into RAM then there will be a benefit. On a 512 MB system only about 256 MB of it is for the OS runtime which is then shared by the OS, Flash, SQL, IO cache, networking, etc. The largest data consumer of those will be the SQL database wanting to reside in memory. It stores the guide data, thumbs data, recorded show data, scheduled recordings data, upcoming shows data, etc. If all of that data on a well soaked TiVo exceeds even just 50 MB it could likely not completely be loaded into memory, let alone cached queries of frequently used data. If the entire SQL database could be loaded into memory this would drastically reduce data loads from it as well increasing HDUI responsiveness.
I've done a lot of phone and embedded system development over the years so low power CPUs with limited RAM are not a new design concept I've had to deal with in terms of performance tuning.
The hope would be that, even if Flash is not multithreaded, it could made to run alone on one processor while everything else is run on the other one. As brentil says, that could be a big improvement.
Sometimes (usually?) caching can be added to I/O routines in a way that is transparent to the high-level code (Flash in this case). I/O caching benefits greatly from having lots of RAM, of course. This assumes that Flash is written intelligently enough to use standard I/O routines (for Internet I/O in this case).
I don't disagree with anything you said (plus I already knew that stuff... it is also along the lines of what I do for a living). But I would be surprised if non-UI tasks ever approached 25%, unless it was performing indexing at the time (like from a recent guide download) or resolving programming conflicts for setting up a new recording. Of course, I am just speculating based on past experience with no hard data at all. (Boy would I love to see a "top" screen while the TiVo is under different loads).
But even *if* non UI load were high as 25%, which I still think is too high, then the overall MAXIMUM boost to a single-threaded HDUI would only be 25%. Again, I think ANY improvement in speed is a great thing, but 25% "ain't doing jack" for the HDUI, which in my view is at least 400% too slow in most tasks. I really think it needs a radical re-design.... or, they would have to throw SERIOUS hardware improvements at it (which I think would be a waste, and also irritating, because it would not address the millions of Premieres already out there right now).
wait a second...am I reading here that the hardware/software improvements I was told were "just a few weeks away" when I bought my original Tivo Premiere unit are now NEVER being implemented in the orignal Premiere, but are instead being implemented in something called the "Elite"? Can I send my "promisary" Premiere in for FREE updates?
if this is true, what a farce
+1 That is the kind of negativity I'm used to on TCF!
TiVo Premiere will get the upgrade to 14.9 as soon as the Elite "public beta" is complete.
If the changes do not appear on the Premiere in a timely manner, then I think Premiere owners should call for a recall of the faulty product.
Pure speculation? Or do you have information we do not?
I believe if the TiVo HD GUI did not rely so heavily on an internet connection for basic functionality, speed should be as fast as SD. As it stands now, it waits so long for icons and programming information to download, which is why it takes so long to load.
One of the TiVo reps informed a customer who called in about their Elite that the 14.9 software was scheduled for non-Elite devices by the end of the month. Which is not too surprising as it is supposed to enable the streaming features between S4 devices.