Intel Application Accelerator

Pamatuje si ještě na programy, které ze 486ky "vytvořily" Pentium? Tyto vylepšovátka pocházející převážně z Ruska se podle popisu tvářily, že vdechnou starým věcem nový dech... ale bohužel nevdechly. Nyní je tu tématicky podobný program přímo od Intelu - jejich Application Accelerator. Dokážou být profesionální programátoři Intelu lepší než jejich staré vzory a je vůbec možné nějak urychlit stávající aplikace bez jakékoliv modifikace?

Prakticky všechny testy, které Intel provádí, jsou dělány na systému s nainstalovaným Intel Application Acceleratorem (IAA). Lákadlem je zvýšený výkon aplikací a tím úplně největším magnetem pak bootovací doba Windows. A o co vůbec jde? IAA není nic jiného než propracovaný ovladač řadiče pevných disků Intel Ultra ATA Storage Driver (UASD) v novém kabátě a s jedním vylepšením určeným pro majitele systémů s Pentiem 4 - automatickým software data prefetch. Ten analyzuje kód a v případě, kdy je možné dosáhnout nějakého zvýšení výkonu, přidá SSE data prefetch instrukce, čímž se zvýší výkon. Chod programu se při tom nijak nezmění.

K dispozici jsou nyní dvě verze - release 1.12 a beta 2.

Jak je vidět, oba Application Acceleratory dokáží zkrátit dobu potřebnou od zahájení bootování až do úplného zastavení čtení z pevného disku na zhruba tři čtvrtiny původního času. Doba bootování Windows 2000 se tak zkracuje na rozumnou úroveň a člověk si rychle zvykne.

A jak je vidět, za tímto výsledkem stojí Ultra ATA Storage Driver. Pochopitelně je možné si nainstalovat UASD samostatně a dosáhnete stejného efektu. Požadavkem ovšem je systém s čipovou sadou série 8xx (Hub architektura). IAA navíc vyžaduje pro funkci vkládání prefetch instrukcí Pentium 4 a Windows 2000 nebo XP.

Tuningové nástroje

Samotný IAA, jakož i UASD, se řadí mezi programy, u kterých není možné prakticky nic měnit. To ovšem vůbec nevadí! Jednak k tomu není důvod a pak... jedná se o tuningové nástroje u nichž není pravděpobodné, že by jim rozuměl každý. K programu je dodávána pouze malá utilita zobrazující konfiguraci systému:

V záložce Report se dozvíte, jak je váš disk velký, jakou revizi firmwaru používá nebo kolik má logických LBA sektorů.

Dalo by se říct, že toto všechno si můžete zjistit ze specializovaných programů jako SiSoft Sandra nebo HWiNFO32 (zde je to ale zdarma).

Co je uvnitř

Jak jsem již říkal, základním vylepšením IAA oproti UASD je softwarový data prefetch pomocí SSE instrukcí. Nejvýraznější zvýšení výkonu (to, které poznáte), ovšem pochází z ovladače řadiče pevných disků. Ten je naprogramován tak, aby co nejlépe využíval burst přenosů. Tyto další výpočty sloužící k optimalizaci přístupů k disku pochopitelně zatěžují procesor víc než běžné ovladače od Microsoftu. Reálné navýšení výkonu v aplikacích náročných na výpočetní výkon je proto diskutabilní, především u pomalejších počítačů.

Nemilou vlastnosti je, že UASD se hrabe v nastavení registrů IDE Controlleru (u ICH2 je to Device ID: 244B) a snaží se je pozměnit k obrazu svému. A snad ještě horší je, že některé programy nedokážou cachovací techniky UASD dobře strávit a v některých případech tak může docházet k nestabilitě až haváriím systému. U mě se to projevovalo např. při detekci nového hardware a spuštěných několika aplikacích na pozadí.

Testy

Protože tyto programy slouží k zrychlení běžné práce, chtěl jsem se pokud možno co nejvíc vyvarovat syntetických testů a zaměřit se spíše na praxi. Jeden test probíhá s IAA 2 beta, druhý bez IAA, jakož i bez Ultra ATA Storage Driveru.

První test, Quake 3, zaznamenává při použití IAA nárůst výkonu o nezanedbatelných deset snímků za vteřinu. Zde je vidět, jak působí data prefetch na relativně starý program.

Stejná situace se opakuje u 3DMark 2000 při nastavení 640x480x16bit, 16bit textury, 16bit Z-buffer, triple buffering a Intel Pentium III (tím se snažím emulovat starší hry bez podpory hardwarového T&L).

Helicopter test zaznamenává (až na Medium Detail) vždy poměrně slušné navýšení výkonu o zhruba 5 až 10 procent.

V Adventure je nárůst minimální, přesto nějaký ten snímek za sekundu navíc získat lze. Jestliže tedy hrajete hry, IAA se určite vyplatí.

A nyní k testům, které nemají nic společného s grafikou.

Pakovací program ACE32 v2.04 běží prakticky stejně rychle s IAA jako bez něj.

Komprese do formátu MP3 taktéž trvá stejně dlouho. Z těchto dvou testů jasně vyplývá, že IAA není příliš vhodný v případě, kdy se uživatel zabývá prací s výpočetně složitými a již tak optimalizovanými programy.

Na LAME enkodéru je zajímavé, že při kompilaci s použitím SSE instrukcí běží program pomaleji než bez nich. To samé platí i o kompilaci pro pipeline Pentia 4, kdy je opět lepší nastavit volbu /G6 (pipeline P6) oproti /G7.

Pro programátory bude jistě zajímavý test kompilace Lame enkodéru pomocí Intel C++ Compiler 5.0.1 s maximálními optimalizacemi.

Zde beze změny. Programátorům bych proto doporučil IAA z důvodu možné nestability nepoužívat, stejně tím nic nezískají.

Hrubou výpočetní sílu reprezentuje test CPUMathMark. Zde je možné dosáhnout určitého zlepšení, výsledky jsou ale značně nestabilní, jednou dosáhnete 18 vteřin, jindy naopak stejný výsledek jako bez IAA. Kód tohoto benchmarku je značně neoptimalizovaný a jak je vidět, zde se skrývá jistý potenciál k zlepšení. Nic světového ovšem nečekejte.

Shrnutí

Nárůst výkonu díky nainstalování Intel Application Acceleratoru je v některých případech velmi diskutabilní. V jednom případě (a týká se to především her), lze dosáhnout poměrně značného zlepšení, jindy naopak (zpracování dat, optimalizované aplikace) nezískáte nic, naopak je možné i trochu ztratit. Uvedená fakta spíše souvistí s tím, jak dobře jsou jednotlivé aplikace naprogramovány a zda je možné najít ještě nějakou výkonostní rezervu. Je-li to možné, pak IAA opravdu dokáže přinést nezanedbatelné zlepšení, není-li, pak není vůbec žádný důvod IAA používat.

Programátory Intelu musím ovšem pochválit. Dokázali vyvinout nástroj, který přestože má sám určité nároky na výpočetní výkon procesoru, celkový výkon aplikace prakticky jenom zvyšuje. Naprogramovat něco takového určitě nebylo vůbec snadné. Dobrá práce!

Odkazy: Intel Ultra ATA Storage Driver
  Intel Application Accelerator

Eagle

Diskuze (23) Další článek: Hackněte si počítač

Témata článku: , , , , , , , , , , , , , , ,