Superpočítač

Superpočítač je všeobecné označenie pre veľmi výkonný počítač alebo počítačový systém. Hranica, kedy možno počítač označiť ako superpočítač nie je presne daná, v niektorých prameňoch sa hovorí o minimálne desaťnásobne vyššom výkone oproti bežne dostupným počítačom.
Uplatňujú sa pri náročných výpočtoch, napríklad genetický výskum, fyzikálne modely(počasie, jadrové reakcie,...), ekonomické modely, internet a pod. Veľká časť superpočítačov bola vytvorená na konkrétnu úlohu, napr. Deep Blue ako prvý porazil človeka, Gariho Kasparova, v šachu.
Architektúra superpočítačov je postavená na jednoduchom princípe. Je to v podstate veľké množstvo spolupracujúcich jednoduchých elementov, ktoré vytvárajú zložité štruktúry. Jednotlivé časti sú prepájané podobne ako počítačové siete. Často sú použité proprietárne riešenia prepojení, nezriedka však štandardné technológie ako napríklad ethernet. V dnešnej dobe už dlhší čas úspešne fungujú projekty ako SETI@home alebo FOLDING@home využívajúce prepojenie počítačov, resp. PS3 cez internet.

Dejiny

Prvé superpočítače boli vytvorené v šesťdesiatych rokoch Seymourom Crayom. Verejnosti boli sprístupnené prostredníctvom jeho firmy Cray Research. V osemdesiatych a začiatkom deväťdesiatych rokov vstupovali na trh so super počítačmi viaceré menšie firmy. Tie však boli začiatkom deväťdesiatych rokov vytlačené veľkými "tradičnými" spoločnosťami ako IBM a HP.
Nazývať nejaký výpočtový stroj superpočítačom môžeme len pri súčasnej špecifikácii doby, v ktorej bol navrhnutý a zostrojený. Dôvodom relatívnosti tohto prívlastku je rýchly vývoj v tejto oblasti, pretože stačí niekoľko rokov a bežné počítače sa výkonom plne vyrovnajú niekoľko rokov starému superpočítaču. Prvé Crayove stroje boli jednoduché a rýchle skalárne procesory, približne 10-krát rýchlejšie ako tie bežne používané v komerčnej sfére. V sedemdesiatych rokoch sa na trh dostávajú lacné stroje postavené na vektorových procesoroch od malých výrobcov s novou vlastnou architektúrou. Začína sa presadzovať paralelizácia, štyroch až šestnástich výpočtových jadier. Začiatkom deväťdesiatych rokov sa začala vlna enormnej paralelizácie. Toto viedlo k superpočítačom postavených na serverových procesoroch architektúr PowerPC, Intanium alebo x86-64. Spočiatku boli množstvom rovnocenných procesorov usporiadaných do navzájom prepojených štruktúr. Dnes nastáva éra hybridných riešení, v ktorých sa využívajú rôzne druhy procesorov na rôzne časti výpočtového procesu. Jej "zakladateľom" sa stáva IBM so systémom založeným na procesoroch CELL a Opteron pre Los Alamos National Laboratory.

Softvér

Softwarové nástroje na distribuované procesy štandardne obsahuje API ako MPI, PVM alebo opens source a to Beowulf WareWulf, openMosix. Tieto nástroje umožnia vytvorenie superpočítača z niekoľkých prepojených pracovných staníc. Technológia ZeroConf (Rendezvous/Bonjour) sa využívajú na vytvorenie jednoúčelových klastrov pre špecializovaný software ako napríklad Apple's Shake(úprava a tvorba obrazu). V tejto oblasti je free software na rovnakej úrovni ako komerčný.

Operačné systémy

Ako je možné vidieť na obrázku, najväčší podiel v oblasti operačných systémov majú varianty systémov UNIX a Linux. Je to s spôsobené otvorenosťou týchto systémov a ich zrodom práve v tejto oblasti.

Programovanie

Paralelná architektúra si priamo vynucuje použitie špeciálnych metód a nástrojov, aby bolo možné maximálne vyžiť dostupný výkon. Často sa používajú špeciálne prekladače pre jazyk Fortran, ktoré generujú rýchlejšie kódy ako kompilátory jazykov C a C++. Programovací jazyk Fortran je priamo určený na vedeckotechnické výpočty. Pre rozvinutie paralelizmu sa používajú prostredia ako PVM, MPI alebo OpenMP.

Meranie výkonu superpočítačov

Výkon superpočítačov je meraný v jednotkách FLOPS(FLoating Point Operations Per Second), pričom sa využívajú SI násobky, napr. "TFLOPS" (10¹² FLOPS, napíšeme jeden teraflops). Toto meranie je založené na benchmarku, ktorý robí operácie s veľkými maticami.

Rebríček TOP500

Od roku 1993 sú superpočítače radené do rebríčka TOP500, podľa výsledku v benchmarku LINPACK.