Výkon počítačů při numerických výpočtech - a o ty jde u superpočítačů na prvém místě - se měří ve Flops, což je počet operací v pohyblivé čárce za sekundu. U současných počítačů jde samozřejmě o miliony operací, tedy o MFlops - megaflopsy. Výkon je ovlivněn řadou faktorů, především
Vliv délky hodinového taktu není třeba komentovat - je to u všech počítačů nejsledovanější parametr - nikoli však nejvýznamnější. Je to ovšem jednoduchý a snadno představitelný ukazatel, proto ho výrobci s oblibou záměrně zneužívají v reklamě svých nových procesorů.
Architektura je pro charakteristiku výkonu počítače podstatně důležitější, ne-li nejdůležitější: patří do ní takové vlastnosti jako druh a stupeň paralelního zpracování, rozsah rychlých registrů, hierarchie paměti, typ ovládání vnějších pamětí a periferií a mnoho dalších.
Všechny vlastnosti operační paměti mají pro výkon počítače mimořádný význam, jak jsme se o tom zmínili již výše, a souvisí velice úzce s architekturou počítače. Obecně platí, že čím rychlejší (a tím také dražší) je paměť (tj. čím kratší je vybavovací doba a její latence ), tím je výkon počítače vyšší. Skutečnost je však mnohem složitější, protože se projevuje významná závislost na typu aplikace. Respektování tohoto vztahu je velmi významné při výběru počítače pro různé účely.
Pro ilustraci zde uvedeme jen jediný případ - cache . Je to rychlá paměť mezi procesorem a operační pamětí, přes niž se uskutečňuje každé čtení z paměti do registru a každý zápis do paměti. Při čtení z paměti se totiž dá v mnohých aplikacích s poměrně vysokou pravděpodobností očekávat, že čtené místo je blízko k tomu místu, z něhož se četlo předtím. Proto se nečte z paměti jen jedna položka, ale navíc ještě určitá oblast v okolí a všechno se zapíše do cache . Při každém čtení si procesor ověřuje, zda požadovaný údaj není již v cache ; jestliže ano, nemusí pak číst “pomalu” z paměti. Velikost drahé paměti cache nebývá ve srovnání s kapacitou hlavní paměti významná (50-100krát menší), ale je 5-10krát rychlejší než hlavní paměť, takže čtení i zápis vyžadují jeden nebo jen několik taktů.
Jestliže jsou zpracovávána velká pole, jak tomu bývá ve vědecko-technických výpočtech, nelze obvykle mít celá pole v cache . Každý si to může snadno zjistit na počítači s cache např. při výpočtu součtu dvou vektorů: Jestliže se zvyšuje rozměr vektorů, tak efektivní rychlost nejprve rychle roste (protože se zlepšuje využití cache ), při naplnění cache se však situace náhle obrátí. Proto také se ve vektorových počítačích cache neinstalovala; teprve nejnovější vektorový počítač firmy SGI / Cray Research označený SV1 , který přichází na trh v r. 1999, cache má; na význam této revoluční inovace si musíme nějaký čas počkat, až bude její dopad na praxi analyzován.
Vliv adekvátního základního programového vybavení na výkon počítače je přirozený a byl v praxi i v analytických studiích nesporně prokázán. Jeho výběru musí být věnována stejná pozornost jako výběru hardware a nelze na něm šetřit. Jen pro ilustraci si uveďme, že od kompilátoru z jazyka fortran (nebo jiného) pro vektorový počítač se požaduje co nejlepší automatická vektorizace přeloženého programu. Kdyby tato podmínka nebyla splněna, byl by výkon počítače při zpracování programů přeložených takovým kompilátorem velmi nízký, protože by se speciální část počítače určená pro paralelní vektorové operace nevyužila a tyto operace by se prováděly na skalárním procesoru. A ten bývá ve vektorovém počítači většinou slabší než ve standardním počítači (např. PC ). Ze stejného důvodu je třeba věnovat pozornost i vybavení adekvátními matematickými knihovnami a aplikačními programy.
Zcela jiná situace nastává při zcela “nepravidelném” přístupu k paměti - pak dojde na počítači, kde styk mezi procesorem a operační pamětí probíhá přes cache , dokonce ke zpomalení, protože se procesor v mnoha případech dotazuje v cache zbytečně a musí po negativní odpovědi číst data z hlavní operační paměti ( cache trashing ). Toto čtení trvá déle, protože se nečte jen požadovaný údaj, ale celý blok.
V neposlední řadě se musí programátor poučit o zásadách vhodného programování (a tyto zásady dodržovat). Tomuto faktoru se velice často nevěnuje žádná pozornost a přitom bohužel platí, že i ta nejlepší metodika programování vhodná pro neparalelní počítače (např. populární strukturované programování) dává na vektorových i jiných paralelních počítačích špatné výsledky.
© J. Nadrchal (28.4.2000) | ![]() ![]() |