Co jsou vlastně ty superpočítače zač?

Technologie |

Ačkoli i standardní osobní počítače jsou někde využívány k tomu, co se do osmdesátých let nazývalo vědecko-technické výpočty, je pro tyto aktivity řada vhodnějších nástrojů, z nichž jsou samozřejmě nejznámější pracovní stanice a výpoč ...




Ačkoli i standardní osobní počítače jsou někde využívány k tomu, co se do osmdesátých let nazývalo vědecko-technické výpočty, je pro tyto aktivity řada vhodnějších nástrojů, z nichž jsou samozřejmě nejznámější pracovní stanice a výpočetní servery. Pro větší výpočty však slouží specializované počítače, které se od běžných počítačů mnohdy významně odlišují. Jsou to superpočítače nebo obecněji a poněkud moderněji (zato méně výstižně) výkonné počítače (anglicky high performance computers). V tomto článku se budeme zabývat právě těmito typy počítačů.

Speciální, nebo univerzální technologie?
Superpočítače se od konce šedesátých let vyvíjely jako svérázné stroje, které neměly jiný účel než rychlé počítání. Jejich počátek se obvykle klade do doby vzniku počítače Cray 1 v roce 1972, ale už dříve existovaly počítače, které měly stejné určení, např. CDC 6600 a 7600, ale i IBM 360/144 a některé další. V této době byla většina počítačů konstruována a vybavována základními a aplikačními programy tak, aby co nejvíce vyhovovaly aplikacím v obchodě, ekonomii apod. připomeňme si, že tehdy začala éra programovacího jazyka Cobol.
Superpočítače a další stroje, které byly někdy specializovanými mutacemi tzv. univerzálních počítačů, měly nejen odlišné nebo přídavné elektronické prvky, ale již tehdy se odlišovaly především na úrovni programového vybavení: programovaly se ve Fortranu, Algolu, Pascalu a byly pro ně napsány speciální knihovny matematických, statistických a dalších funkcí. Významnou vlastností těchto počítačů byla také vyšší spolehlivost daná výběrem nejkvalitnějších součástek a zabudováním kontrolních mechanismů.
Bude-li se někdo ptát na definici superpočítače, pak mu nelze dát jinou než velice nevyhovující odpověď, která není absolutní a nezávislá na čase: obvykle se jako superpočítač označuje počítač, který má výkon o řád vyšší než standardní počítače ve své době.
Éra specializovaných superpočítačů vrcholila počátkem osmdesátých let. V té době nebylo na trhu mnoho různých typů superpočítačů, dominovaly stroje geniálního konstruktéra Seymoura Craye vyráběné v jeho zapadlém rodišti Chipewa Falls ve Wisconsinu a distribuované firmou Cray Research z Minneapolis. Existovala však spousta dalších strojů, pro které se ujal poněkud paradoxní název minisuperpočítače. Ty byly založeny na podobném principu, nebyly však tak výkonné, zato byly lacinější. Začaly vznikat i další speciální stroje, které byly určeny pro výkonné počítání, jako např. Connection Machine od Thinking Machines. Společnou vlastností všech těchto strojů však byla exkluzivita, malé výrobní série, a proto také vysoká pořizovací cena.
O pár let později však začal úpadek tohoto trendu, protože běžné počítače, které byly vzhledem ke své masové produkci podstatně levnější, měly stále větší výkon a byly spolehlivější; proto ubývalo výpočtů, které musely být prováděny na superpočítačích. Investoři si spočítali, že za jednu monetární jednotku (dolar, libru nebo korunu) získají více početních operací na sériovém počítači než na exkluzivním superpočítači. Na superpočítače zbývaly jen takové úlohy, které by se na standardních počítačích nedaly v reálné době vůbec dopočítat nebo by byly dokončeny, když už by nebyly aktuální (typickou úlohou tohoto typu je předpověď počasí).
Superpočítačům crayovského typu (klasickým superpočítačům) se v té době vynořil ještě další protivník: sdružování standardních počítačů nebo jejich procesorů do výpočetních konglomerátů, které měly na prvý pohled stejný nebo ještě větší výkon. Pro některé typy výpočtů byla tato cesta velice výhodná z pohledu pořizovacích nákladů, pro jiné nebyla naopak vůbec použitelná, ale důsledek byl neodvratitelný: další zúžení potřeby klasických superpočítačů a totální ohrožení jejich existence.
Různé prognózy v prvé polovině devadesátých let předpovídaly jejich zánik do dvou, tří, pěti let. Do dneška k tomu však nedošlo. Superpočítače se naopak v nové situaci výrazně transformovaly a jejich principy začaly pronikat i do standardních počítačů. I z tohoto důvodu je zajímavé se s nimi seznámit.

Paralelita kouzelný šém výkonných počítačů
Fyzikální zákony jsou neúprosné a platí i pro konstruktéry počítačů: elektrony se nemohou přemisťovat rychlostí vyšší než je rychlost světla, a tak jsou jen dvě možnosti, jak pochody v počítačích urychlit: buď zkrátit vzdálenosti mezi prvky nebo činnost rozdělit na úseky, které mohou probíhat současně.
Zkracování vzdáleností znamená miniaturizaci počítačů, ta má však také své meze, protože je náročná na technologii výroby. Naopak paralelizace nabízí na první pohled neomezené možnosti. Ale jen zdánlivě, protože rozsekání výpočetních nebo jakýchkoli jiných procesů probíhajících v počítačích je jak pro lidský mozek, tak pro automatizovaný algoritmus zabudovaný do počítače tvrdým oříškem.
Obecně se obě cesty podílejí na zvyšování výkonu počítačů asi stejně významně. (Připomeňme si empirický poznatek, že se rychlost počítačů v posledních letech zdvojnásobí přibližně každých 18 měsíců.) Pro superpočítače je však paralelizace hlavním zdrojem jejich vysokého výkonu, ale také omezením jejich univerzálnosti: pokud se pro výpočet, který se na superpočítači má provádět, nepodaří zabezpečit využití paralelních struktur v superpočítači, bude probíhat pomalu a někdy i pomaleji než na standardním počítači. Z tohoto hlediska byly superpočítače vždy speciálními výpočetními prostředky, které byly vhodné jen pro adekvátní úlohy.
Když se hovoří o superpočítači nebo obecněji o výkonném či rychlém počítači, myslí se většinou na rychlý procesor a tedy na paralelizaci vlastních výpočetních úkonů. Ve skutečnosti vůbec nestačí dát do počítače rychlý procesor, jestliže jsou ostatní části pomalé nejvýznamnější z nich je paměť: její vybavovací doba a rychlost přenosu mezi hlavní pamětí a procesorem.
Seymour Cray kladl na rychlou paměť ještě větší důraz než na rychlý procesor: říkal, že superpočítač znamená rychlou paměť a "nějaký" procesor; však také navrhoval počítače, které byly obvykle vybaveny tou nejrychlejší možnou pamětí a samozřejmě i výkonným procesorem. Zrychlení přenosu mezi pamětí a procesorem je ovšem založeno také na principu paralelity.
U procesorů se může princip paralelity realizovat v zásadě dvěma způsoby:
Vnitřní paralelita má dvě různé formy:
ve vektorových superpočítačích jsou paralelizovány jednotlivé "agregátní" výpočetní operace (operace na vektorech), jejichž části se provádějí v tomtémž procesoru,
v superskalárech je současně zpracováváno několik různých operací. Jsou to mnohé procesory v moderních osobních počítačích a pracovních stanicích.
Vnější paralelita je název pro metodu, kdy je výpočetní algoritmus hrubě rozčleněn na samostatné celky, které mohou po určitý čas probíhat nezávisle na sobě a jsou rozděleny mezi různé procesory. Tento přístup je základem všech ostatních superpočítačů: masivně-paralelních počítačů, symetrických počítačů, ale i dalších metodik, které vytvářejí (náhradní) platformy pro výkonné počítání pomocí standardních výpočetních prostředků: clusterů, metacenter, mříží ("grids") aj.
Klasickým superpočítačem je vektorový počítač, jehož procesor může zpracovávat současně všechny složky vektoru, a to až do určité délky (např. vektoru o 64 nebo 128 složkách). V mnohých technických a vědeckých výpočtech je zpracování vektorů velice časté; odhaduje se, že asi 70 % všech algoritmů má buďto přímo vektorový charakter, nebo se na něj před numerickou realizací převede.
Rozklad numerického algoritmu na paralelní části s využitím vektorů se nazývá vektorizací je to speciální a relativně snadný typ paralelizace. Během čtvrtstoletí existence vektorových superpočítačů byla vektorizace maximálně zautomatizována a každý vektorový počítač je vybaven alespoň jedním vektorizujícím kompilátorem (většinou z některé verze Fortranu), který dokáže rozpoznat skoro všechny vektorizovatelné konstrukce, a pokud vektorizaci z nějakého důvodu nemůže sám udělat, upozorní na ni, aby programátor mohl odstranit překážky.

Šálivé megaflopsy
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:

hodinovým taktem
tzv. architekturou počítače, zvláště paralelismem
typem a rychlostí operační paměti
typem spojení mezi pamětí a procesorem (rychlostí přenosu mezi nimi)
výkonem vstupních a výstupních jednotek počítače
kvalitou softwaru (překladačů, nástrojů atd.)
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ší. Jedná se ovšem o 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.

Zádrhele s vyrovnávací pamětí
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í jen jeden nebo několik hodinových 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 se také 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.
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.
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 hardwaru 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.
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.
Výkon počítače
Výrobci udávají v popisu svých produktů nejčastěji teoretický výkon procesoru P, který znamená toto: je-li hodinová frekvence procesoru f MHz a v jednom taktu se v procesoru může provést n operací, pak je P = nf Mflop/s.
Je-li např. možné současně provádět jedno násobení a jedno sčítání, uvažuje se, že se v jednom cyklu provádějí dvě operace a výkon se uvádí jako P = 2f Mflop/s.
Jestliže je v procesoru více funkcionálních jednotek, násobí se hodinová frekvence jejich počtem.
Nepravděpodobnost dosažení takto vypočítaného výkonu P vyplývá např. z toho, že současně lze operace provádět jen ve zlomku taktů, protože se za sebou pravidelně nevyskytují.
Reálný výkon procesoru je proto vždy nižší než teoretický a poměr závisí na mnoha okolnostech, samozřejmě i na typu programu.
Výkon celého počítače se stanovuje ještě složitěji, protože roli nehraje jen výkon samotného procesoru, ale řada dalších okolností. Teoretický výkon počítače (odvozený mechanicky z teoretického výkonu jeho procesorů) je tedy údaj z hlediska aplikací neužitečný. Reálné výkony počítačů (nejen superpočítačů) se porovnávají podle jejich výkonu při řešení souboru standardních úloh; anglicky se této metodě říká benchmarking.
Příklady standardních výpočetních benchmarků (jiné benchmarky umožňují porovnat výkon počítačů v nevýpočetních aplikacích databáze, zpracování textů apod.):
Klasickým standardním benchmarkem pro výkonné počítače je soubor úloh z lineární algebry z balíků LINPACK nebo LAPACK.
Obecnější jsou benchmarky SPEC složené z různých "reálných" programů ve Fortranu nebo v jazyce C.
Pro posouzení reálného výkonu paralelních počítačů je užitečnou pomůckou soubor programů z benchmarku NAS, vytvořeného v Ames Research Center NASA.
Není možné jednoznačně říci, zda některý z těchto standardních benchmarků je lepší než jiný, vždy záleží na tom, jak blízko je ten či onen benchmark aplikacím, které se na počítači zpracovávají. Nejznámější LINPACK má některé přednosti:
používá se již od r. 1979, takže poskytuje nejvíce srovnání
je poměrně jednoduchý (např. ve srovnání s NAS), takže si ho může kdokoli snadno spustit
pro mnoho náročných aplikací je blízko jejich reálné hodnotě
Nevýhodou LINPACKu je jeho velká popularita, takže návrháři architektury a kompilátorů myslí už předem na výkon tohoto souboru programů a snaží se, aby byl co nejlepší. Skoro žádná reálná aplikace však není složena jen z řešení soustav lineárních rovnic a výkon počítače v LINPACKu a reálný výkon od sebe bývají také dost vzdáleny i když ne tolik jako v případě porovnávání s teoretickým výkonem počítače.
Výběr počítače by se měl opírat o soubor předpokládaných aplikací, na němž bude každý počítač mít patrně jiný výkon než na souboru programů LINPACK, LAPACK, NAS nebo SPEC a jejichž spektrum musí být co nejširší. Proto je nanejvýš žádoucí připravit si vlastní benchmark, který by se měl definovaným způsobem zpracovat na všech počítačích, o nichž se uvažuje.
Přehledem výkonu počítačů nejrůznějších architektur převážně na základě benchmarků LINPACK a LAPACK se soustavně zabývá profesor J. Dongarra z univerzity v Tennessee a jeho přehled je průběžně aktualizován a zveřejňován na internetové stránce www.netlib.org/liblist. html.
Prakticky dosahovaný výkon bývá v nejlepším případě kolem 50-70 % teoretického špičkového výkonu a v případě masivně paralelních počítačů se ve výpočetních střediscích považují úlohy za adekvátní této architektuře, když to je aspoň 10 %!
Na základě benchmarku LINPACK je už několik let dvakrát do roka sestavována aktuální tabulka TOP 500, která udává 500 nejvýkonnějších počítačů na světě. Lze ji nalézt na internetové stránce www.netlib.org/benchmark/top 500/top500.list.html.
Je smutnou skutečností, že žádný počítač z České republiky se v této tabulce ještě neobjevil: ačkoli se již několikrát mohl některý nový počítač do publikované tabulky dostat, na následující aktuální verzi již nestačil!

Další cesty k výkonnému počítání
Značná naděje se již po léta vkládá do masivně-paralelních počítačů, což jsou počítače o velkém počtu běžných standardních procesorů s distribuovanou pamětí, i když tato architektura s sebou přináší závažné problémy. Kapacita (šířka) přenosu (bandwidth tento termín pochází z telekomunikačního žargonu, kdy frekvenční šířka pásma skutečně určovala rozsah přenositelných informací) mezi procesorem a pamětí v této architektuře roste lineárně s počtem procesorů, zatímco v paralelních počítačích se sdílenou pamětí je při zvýšení počtu procesorů tato kapacita pevná, a tedy klesá rychlost přenosu vztažená k jednomu procesoru (má-li být zachován výkon, je třeba instalovat novou paměť s rychlejším přenosem). Distribuovaná paměť se na druhé straně ve srovnání se sdílenou pamětí vyznačuje pomalejší komunikací mezi jednotlivými procesory. Pomalý je také přístup k datům, která jsou v paměti jiného procesoru.
Uvědomme si, že tyto úvahy mají smysl jen tehdy, když se pro řešení jedné úlohy používá celý paralelní počítač nebo alespoň několik procesorů. Jestliže na každém jednotlivém procesoru běží jiná úloha, nejde ve skutečnosti o paralelní aplikace (a v takovém případě je vhodnější použít samostatné počítače nebo paralelní počítač s distribuovanou pamětí, protože je levnější než paměť sdílená).
Zásadním a dosud jednoznačně nevyřešeným problémem paralelních počítačů s distribuovanou pamětí je vazba mezi jednotlivými procesory. Realizuje se pomocí různých a různě drahých struktur.
Efektivní výkon paralelních počítačů je také velmi závislý na tom, jak je zatížení jednotlivých procesorů vyvážené. To je možno ovlivnit jen na úrovni programu. A právě programování masivně paralelních počítačů je výrazně složitější než v případě počítačů s jedním procesorem nebo počítačů vektorových, protože kompilátory pomohou s paralelizací jen minimálně, a proto programátor musí provést nejprve detailní analýzu algoritmu a pak jeho rozdělení mezi procesory "vynutit" pomocí speciálních direktiv (programovací systémy PVM nebo MPI aj.).
Jestliže se programování pro tyto počítače nevěnuje tak veliká péče, je efektivnost zpracování obvykle asi 10krát nižší než instalovaný výkon. Byly však již vymyšleny i obecné metody, pomocí nichž lze programovat rovnoměrné zatížení (např. rozklad oblasti, který se využívá v programech pro konečné diference a konečné prvky).
Spřežení pracovních stanic
Další cestou, jak zrychlit zpracování úlohy, je její rozložení na několik pracovních stanic. Na každé univerzitě nebo větším výzkumném ústavu jsou desítky nebo stovky pracovních stanic spojených obvykle sítí Ethernet s přenosovou rychlostí 10 nebo 100 Mb/s, jejichž procesory bývají využity z 5-30 %. Je tedy přirozené, že mnoho lidí napadlo přimět tyto výkonné výpočetní prostředky, aby pracovaly na nějakém relativně snadno paralelizovatelném problému v době, kdy by jinak zahálely, a staly se tak důstojnou náhradou superpočítače. Tak vznikly tzv. farmy.
Pracovní stanice jsou výborným "stolním" prostředkem pro pohotové a rychlé výpočty. Mají rychlé procesory, ale pomalý přístup k paměti a velmi pomalé vstupní a výstupní jednotky což je v souladu s požadavky uživatelů na "stolní" počítání. Pracovní stanice jsou v současné době nesporně nejlepším výpočetním nástrojem pro málo nebo středně náročné problémy.
Na druhé straně tytéž okolnosti, které postavily pracovní stanice na přední místo ve "stolním" počítání, jsou příčinou jejich omezení pro distribuované problémy, které jsou náročné jak na výpočetní výkon, tak na kooperaci jednotlivých částí prováděných na různých jednotkách: řešení je brzděno nebo znemožněno pomalým přístupem k paměti, distribuovanou pamětí a nízkým výkonem vstupních a výstupních jednotek. Jestliže se ovšem problém podaří tak paralelizovat, že tyto nevýhody nevadí, jsou spřažené pracovní stanice nejlevnějším výpočetním nástrojem.
Použití několika unixových stanic pro paralelní řešení je velmi lákavé: nejenomže jsou skoro vždy po ruce, ale paralelizace programu se může připravit na vlastní stanici. Je potřeba jen jediné na všech pracovních stanicích ve spřežení instalovat a osvojit si nějaké programovací prostředí. I přes různé naše negativní poznámky si myslíme, že to stojí zato, zkusit si program paralelizovat na několik stanic. Člověk se nově zamyslí nad svým problémem, vyzkouší si metodu řízení několika procesorů pomocí předávání zpráv (což mu může být užitečné pro paralelní počítače), a když to nevyjde, tak mu vždycky zůstane program, který může spouštět na své stanici.
Kdo se do toho pustí, musí však počítat s tím, že skoro celou práci udělá sám, protože nebude mít k dispozici žádné nástroje pro paralelizaci a pro zjišťování "jalových časů" na pracovních stanicích.
Paralelizaci ve spřežení pracovních stanic lze samozřejmě organizovat různými způsoby. Farma je charakterizována tím, že v ní je "jeden pastýř a více ovcí", což znamená, že všechny komunikace se odehrávají jen jako dialog mezi "pastýřem" (master) a některou "ovcí" (slave); "ovce" vzájemně nekomunikují. Obvyklý je také cluster, což je spřežení, v němž se data rozdělí do pamětí jednotlivých pracovních stanic, které proto mohou pracovat nezávisleji než ve farmě a dále spolu smějí komunikovat přímo. Tento model je blíže obecné paralelizační strategii, protože umožňuje transformovat problém efektivně na paralelní počítače.

Na čem se bude počítat v budoucnu?
Předpovídat vývoj v oblasti počítačů je obtížné, protože se všechno mění nesmírně rychle. Vzpomínám si na jednu prognózu prominentní americké firmy z roku 1991, zabývající se marketingovými studiemi, která ještě tehdy velice podcenila rozvoj mikropočítačů. A dnes se jejich výrobci pokoušejí vytlačit superpočítače! V jiné, několik let staré prognóze se uvádělo, že procesory osobních počítačů a pracovních stanic nebudou potřebovat paměť větší než 1 MB. Bylo to samozřejmě ještě před érou Windows. Přesto se o určitý odhad budoucího vývoje na vrcholu počítačové hierarchie pokusme.
Klasické vektorové superpočítače pravděpodobně nezaniknou ještě řadu let, protože mají rozsáhlou klientelu a jejich přednosti pro špičkové výpočty nebudou asi hned překonány. Např. meteorologové používají pro výpočet předpovědi počasí převážně systémy Cray, NEC nebo Fujitsu.
Bude určitě pokračovat "demokratizace" a zlevňování superpočítačů (především v důsledku proniknutí japonských počítačů do této oblasti), takže až definitivně opustí svůj zanikající exkluzivní klub, stanou se nedílnou součástí jednotného světového prostředí pro náročné výpočty, které bude organicky napojeno na pracovní stanice na stolech techniků a vědců v jednotné elektronické síti.
V nižších výkonových kategoriích se vektorová architektura již začíná kombinovat s výkonnějšími skalárními procesory, takže zanedlouho budou místo specializovaných vektorových počítačů na jedné straně a skalárních počítačů na straně druhé komplexní výkonné a inteligentní výpočetní prostředky, schopné samy posoudit, která část systému je nejvhodnější pro jednotlivé části programu.
Vyloučit však nelze ani takovou situaci, že masivně paralelní počítače (spíše ty se sdílenou pamětí) budou podstatně levnější než "lidové" vektorové počítače, protože se sníží cena jejich součástek, úspěšně a levně se vyřeší komunikace s pamětí, aby byla na úrovni vektorových počítačů, jejich programování bude stejně snadné a komerční aplikace budou stejně snadno dostupné. Pak by tyto počítače mohly ovládnout oblast náročných výpočtů.
Pro nejbližší léta takovou revoluci však nelze očekávat. Jedním z hlavních důvodů je značná setrvačnost v oblastech, kde je spolehlivost výsledků hlavním kritériem volby. A tento argument bude ještě řadu let mluvit pro vektorové superpočítače. I v nových aplikacích typu amerických Grand Challenge bylo zatím všech výsledků dosaženo jen s použitím počítačů s vektorovou architekturou.
Jestliže si znovu uvědomíme, že počítače jsou jen nepatrně využívány pro skutečné počítání, a že tento trend bude spíše zesilovat, můžeme očekávat dokonce vytvoření speciálních strojů určených pouze pro výpočty. Ty by mohly zásluhou dokonalého softwaru a kombinované architektury velmi efektivně vyřešit všechny problémy na výpočty náročné. Anebo dokonce proč by nemohlo vzniknout jedno (distribuované) světové středisko, které bude opravdu počítat skoro všechno, a to pro každého?








Související články




Komentáře

Napsat vlastní komentář

Pro přidání příspěvku do diskuze se prosím přihlašte v pravém horním rohu, nebo se prosím nejprve registrujte.