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. 
Prehľad.
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ý.
Využitie.
Superpočítače sa dnes využívajú takmer vo všetkých vedných oblastiach. Používajú sa na tvorbu a testovanie modelov sledovaných alebo skúmaných javov. 
Hardware a software.
Výpočtová sila superpočítačov so sebou prináša extrémnu zložitosť po hardwarovej aj softwarovej stránke. 
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.
Architektúra moderných superpočítačov.
Architektúra superpočítačov sa dnes ustálila. Prvých 10 najvýkonnejších superpočítačov v rebríčku TOP500 má rovnakú základnú architektúru. Každý z nich je klastrom MIMD(Multiple Instruction stream, Multiple Data stream) multiprocesorových zostáv, pričom každý z procesorov je architektúry SIMD(Single Instruction/Multiple Data. Superpočítače sa radikálne líšia počtom multiprocesorových jednotiek na klaster, počtom procesorov na jednu jednotku a počtom súčasne vykonávateľných inštrukcií na jeden SIMD procesor. 
Hlavným problémom superpočítačov je paralelizácia a s tým spojené delenie výpočtových algoritmov, veľké dátové prúdy a podobne. Preto sú v mnohých prípadoch nahradzované klastrami počítačov štandardného dizajnu. Uľahčuje to programovanie, no znižuje dostupný výkon a efektivitu.
Superpočítače so špeciálnym určením.
Mnoho superpočítačov nebolo postavených aby uspokojovali potreby vedeckej komunity, 
ale pre riešenie konkrétnej úlohy. Napríklad:
Najvýkonnejšie superpočítače súčasnosti.
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" (1012 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.