reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Dual-core: proč nemůže uspět

21.4.2005, Eagle , článek
Dual-core: proč nemůže uspět
Dual-core je něco, na co mnoho uživatelů čeká jako na úžasnou věc. Pro mě je to jediný typ procesoru, který mi přinese významné zrychlení práce. Přesto tato technologie v sobě skrývá řadu významných limitů, které by měl i běžný uživatel před koupí vědět.
Problém recenzí - dual-core lze těžko změřit

Měření výkonu dvoujádrových procesorů je značně problematické. Jak už vyplývá z textu výše, existuje v zásadě několik scénářů, kdy je možné dual-core využít. Faktem ale je, že většina aplikací je jednovláknových (z již zmíněných důvodů neochoty optimalizovat, nepodpory threadů od kompilátorů či jednoduše nemožnosti program převést na více threadů) a že většina uživatelů má v jeden okamžik spuštěnou pouze jednu zátěžovou aplikaci. Těžko lze v recenzích uživatelům nějak dokázat, že dual-core pro ně má význam. To jednak proto, že pro většinu uživatelů - alespoň za současné situace jednovláknových aplikací - význam nemá, a za druhé proto, že ostatní případy lze těžko měřit.

Přiznejme si však jedno - pro kategorii uživatelů "prosumers" je dual-core jediný procesor, který jim poskytne kolem 50 až 100 procent výkonu navíc oproti běžnému CPU. Těžko by mě někdo přinutil upgradovat ze současného Mobile Athlon XP-M (v pořizovací ceně asi 3500 Kč za CPU a 3000 za desku) na Athlon 64 (v pořizovací ceně 5000 a 4000 za desku), když rozdíl výkonu může být běžně kolem 30 procent. To se prostě nevyplatí. Abyste si nemysleli, jak úžasné procesory používáme, předem řeknu, že redakce Světa Hardware (... která rychlé počítače potřebuje na srovnávací testy či pro zkoušení různých metodik) běžně pracuje s mainstreamovými čipy - Pentii 4 na 3 GHz, Athlony 64 3200+ a podobnými. Dokonce ani lidé z Intelu či AMD nepoužívají žádné super rychlé kusy. Výkon prostě nepotřebují, stačí klasický notebook s Athlonem XP 1800+ či s 1.5 GHz Pentiem M. Dual-core je ale něco, co třeba mně dokáže přinést odpovídající požitek - pro výkon plynoucí ze dvou procesorů dokážu najít uplatnění. Dokáže ale i to samé soused (BFU - Běžný Franta Uživatel) ? Dost těžko. Jak to ale vysvětlit uživatelům?

Když jsem zkoumal, jak testovat dual-core tak, aby vůbec někde byly viditelné jeho výhody, tvrdě jsem narazil. Nejoblíbenější kodér MP3 - LAME - je jednovláknový. Nejoblíbenější kodek MPEG4 - XviD - je taktéž jednovláknový. Ptal jsem se mnoha známých, jaké aplikace, u kterých je trápí čas, spouští současně. Výsledek? Prakticky nikdy se nejednalo o dvě zátěžové, maximálně si někdo pouští dvacet oken Internet Exploreru, které mají zátěž prakticky nula (tj. jako kdyby nebyly). Ve většině běžných testů dual-core totálně propadne kvůli nízké frekvenci (ve srovnání s jednojádrovými procesory) - v takových případech jedno jádro pracuje naplno, druhé se fláká.

Několik příkladů - Anandtech, Hexus, Tom's Hardware:


SYSMark favorizující procesory Intelu - propadák.


Business Winstone (kancelářská práce): minoritní zlepšení proti nejrychlejšímu procesoru.

Hra Doom 3 - výkon na úrovni jednojádrového čipu stejné frekvence (= propadák).


3D Studio Max 7 - vynikající výsledek, prakticky dvojnásobné zrychlení proti jednojádrovému procesoru stejné frekvence.

Na testy však pozor! Problematika dual-core je natolik složitá, že ne vždy dojdeme k zdárným výsledkům. I na tak věhlasném webu, jakým je Anandtechu, může dojít k hrubým chybám při testování:


Anand se snažil simulovat vytížení počítače uživatelem. Otevřel pět oken prohlížeče Mozilla Firefox, přehrávač hudby iTunes, přihlásil se k news serveru a začal zálohování filmu v DVD Shrinku. Na výsledku si všimněte, jak zapnutí HyperThreadingu u Pentia 4 eXtreme Edition 3.73 GHz zrychlilo tento procesor téměř dvojnásobně! Zde je právě onen problém - je to absolutní nesmysl. Anand si bohužel neuvědomil, že HyperThreading obchází priority procesů. Enkódování skončilo dříve, ale na úkor toho, že DVD Shrink "sežral" výkon procesoru ostatním aplikacím běžícím na pozadí. Athlon 64 FX55 je v této situaci mnohem rychlejší, jen proto, že musel dodávat výkon ostatním aplikacím, mu na DVD Shrink nezbyla taková porce. Jinými slovy zatímco Pentium 4 XE počítalo enkódování videa (... což nemělo, protože toto mělo nízkou prioritu procesu), Athlon 64 se (správně dle priorit) věnoval ostatním aplikacím.

Když jsem s Anandem problém diskutoval, chybu přiznal - v druhé části recenze se již zmínil, jak HyperThreading může velmi negativně ovlivňovat přidělování výkonu: "What's very interesting, however, is that the Pentium 4 630 takes a huge performance hit with DVD Shrink running in the background. Despite being set to a low priority, since Hyper Threading allows both the DVD Shrink thread and Doom 3 thread to execute concurrently, they both contend for the same microprocessor execution resources."

Problém s více aplikacemi na HyperThreadingu částečně souvisí i s testováním dual-core procesorů. Není důležité jen to, jaké aplikace testovat (prakticky žádné multithreaded nejsou, až na pár profesionální záležitostí, které málokdo používá, jsou optimalizované pouze benchmarky), ale také jak je testovat. Protože nemůžeme ovlivnit chování plánovače operačního systému, je velmi těžké zajistit konzistenci výsledků. Testy musí být schopné spuštění za přesně daných podmínek v přesně daném okamžiku, jinak riskujeme, že plánovač bude v každém opakování přidělovat výkon trochu jinak. Právě tyto stejné podmínky je při testování více programů naráz velmi těžké zaručit. A jakmile se v testu objeví procesor s HTT, plánovač kompletně selže. Tímto bych chtěl vyzvat ty z vás, kteří mají nápad, jak přesně testovat výkon více aplikací současně, nechť se v diskuzi ozvou - jakékoli nápady jsou vítány, sám jsem k žádným převratným výsledkům nedošel ani s pomocí kolegů ani dotazem na zástupce Intelu a AMD.

Zatím moje nápady:

- 2x LAME enkódující MP3ky
- komprese souborů + přehrávání HDTV videa
- překompilování některých aplikací nabízených se zdrojovým kódem pomocí Intel C++ Compiler se zapnutým auto-paralelizérem cyklů a případně i se speculative precomputation (programy by byly nabídnuty ke stažení)
- možná: kompilace více zdrojových kódů současně, enkóding videa + hra (pokud bude možné zajistit spuštění v přesně daném okamžiku)

Závěrem... jak hledět na dual-core



Dvoujádrové Pentium D - má šanci přežít ?

Co říct závěrem? Na dual-core je nutné pohlížet jinak než na ostatní procesory, ale zároveň i stejně. Jinak na to, jaké všechny výhody nám přinese - některé (jako např. lepší odezvu systému) nelze změřit. Stejně na ně musíme hledět v tom smyslu, jestli se vyplatí vynaložit výrazně vyšší částku na pořízení a ještě se smířit s výrazně vyšší spotřebou. Jako každý jiný produkt má dual-core své výhody i nevýhody, i když pravdou je, že pro běžného uživatele platí spíše to druhé. Konečné rozhodnutí co pořídit je ale na každém z nás.


Letošní dual-core procesory pro stolní počítače

Pentium eXtreme Edition

Cena: $999

Frekvence a L2 cache:
3.2 GHz / 2x 1MB

Počet jader / threadů: 2 / 4
Patice: LGA775
Typická spotřeba (TDP): 130W
Proudový odběr: 125A (775_VR_CONFIG_05B)
Čipsety: i955, nForce 4 Intel Edition

Pentium D

Cena: $530, $316 a $241

Frekvence a L2 cache:
3.2 GHz / 2x 1MB
3.0 GHz / 2x 1MB
2.8 GHz / 2x 1MB

Počet jader / threadů: 2 / 2
Patice: LGA775
Typická spotřeba (TDP): 130W
Proudový odběr: 125A (775_VR_CONFIG_05B)
Čipsety: i945, nForce 4 Intel Edition

Athlon 64 X2
Cena: $1001, $803, $581, $537

Frekvence a L2 cache:
2.4 GHz / 2x 1MB (4800+)
2.4 GHz / 2x 512kB (4600+)
2.2 GHz / 2x 1MB (4400+)
2.2 GHz / 2x 512kB (4200+)

Počet jader / threadů: 2 / 2
Patice: socket 939
Spotřeba (TDP): 110W
Proudový odběr: 80A
Čipsety: všechny dostupné

Základní desky musí být koncipovány na proudový odběr - jestliže máte například desku pro socket 939, která neumí obsloužit 80A odběru (současný top model FX55 má pouze 70A), není možné Athlon 64 X2 použít! Obdobně deska se socketem LGA775 musí zvládat proud 125A (a 132.5A při resetu), což ty současné neumí.

Zdroje: Intel, AMD, ComputerBase, Anandtech, The Inquirer, HKEPC, Hexus

reklama