Microsoft produces crap, AMD eats it
June 16th 2009
It's old news, but I just read about in in the Wikipedia article for the Phenom II processor.
Apparently Phenom processors had the ability to scale the CPU frequency independently for each core in multicore systems. Now, Phenom II processors lack this feature: the CPU frequency can be scaled, but all cores must share the same frequency.
Did this happen because of technical reasons? AMD thought it was better to do it? No. As Wikipedia says:
Another change from the original Phenom is that Cool 'n Quiet is now applied to the processor as a whole, rather than on a per-core basis. This was done in order to address the mishandling of threads by Windows Vista, which can cause single-threaded applications to run on a core that is idling at half-speed.
The situation is explained in an article in anandtech.com, where the author mistakes an error on Vista's account with an error in the Phenom processor (bolding of text is mine):
In theory, the AMD design made sense. If you were running a single threaded application, the core that your thread was active on would run at full speed, while the remaining three cores would run at a much lower speed. AMD included this functionality under the Cool 'n' Quiet umbrella. In practice however, Phenom's Cool 'n' Quiet was quite flawed. Vista has a nasty habit of bouncing threads around from one core to the next, which could result in the following phenomenon (no pun intended): when running a single-threaded application, the thread would run on a single core which would tell Vista that it needed to run at full speed. Vista would then move the thread to the next core, which was running at half-speed; now the thread is running on a core that's half the speed as the original core it started out on.
Phenom II fixes this by not allowing individual cores to run at clock speeds independently of one another; if one core must run at 3.0GHz, then all four cores will run at 3.0GHz. In practice this is a much better option as you don't run into the situations where Phenom performance is about half what it should be thanks to your applications running on cores that are operating at half speed. In the past you couldn't leave CnQ enabled on a Phenom system and watch an HD movie, but this is no longer true with Phenom II.
Recall how the brilliant author ascribes the "flaw" to CnQ, instead of to Vista, and how it was AMD who "fixed" the problem!
The plain truth is that AMD developed a technology (independent core scaling) that would save energy (which means money and ecology) with zero-effects on performance (since the cores actually running jobs run at full speed), and MS Vista being a pile of crap forced them to revert it.
Now, if you have a computer with 4 or 8 cores, and watch a HD movie (which needs a full-speed core to decode it, but only one core), the full 8 cores will be running at full speed, wasting power, producing CO2, and making you get charged money at a rate 8 times that actually required!
The obvious right solution would be to fix Vista so that threads don't dance from core to core unnecessarily, so that AMD's CnQ technology could be used to full extent. AMD's movement with Phenom II just fixed the performance problem, by basically destroying the whole point of CnQ.
Now take a second to reflex how the monstrous domination of MS over the OS market leads to problems like this one. In a really competitive market, if a stupid OS provider gets it wrong and their OS does not support something like CnQ properly, the customers will migrate to other OSs, and the rogue provider will be forced to fix their OS. The dominance of MS (plus their stupidity), just held back precious technological advances!Tags: antitrust, cabrones, en, hardware, idiocy, logic, Microsoft, opinion, optimization, software, stupidity, Windows