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. 
 modely kvantovej fyziky, počasie, predpovede počasia, modely organickej chémie
 kryptoanalýza, modely dopravnej situácie

Hardware a software 
Výpočtová sila superpočítačov so sebou prináša extrémnu zložitosť po hardwarovej aj softwarovej stránke. 
 Napájanie a chladenie sú najviditeľnejším problémom. Superpočítače sú zostavované z veľkého množstva paralelizovaných procesorov so spotrebou podobnou ako majú tie bežne dostupné na trhu. Vzhľadom na veľkosť celého systému je ich spotreba enormná, čo kladie veľké nároky na interné elektrické rozvody, ktoré musia byť chladené. V niektorých prípadoch sa využívajú supravodivé materiály v kombinácii s chladením na teplotu blízku absolútnej nule. Chladenie samotných procesorov je tiež náročná úloha. Dnes najvyužívanejšou metódou je vyžitie kvapalinového okruhu. Niekedy sa využíva dusíkové alebo héliové chladenie.
 Veľký objem prenášaných dát je ďalším problémom. Siete musia mať obrovskú dátovú priepustnosť a zároveň musia byť dostatočne rýchle. Ich rýchlosť je však limitovaná rýchlosťou šírenia elektromagnetického impulzu. Či už je to optická alebo kovová sieť, rýchlosť prenosu dát je limitovaná rýchlosťou svetla.
 Vysoké frekvencie rádovo v GHz sú ďalším problémom. Pri vysokých frekvenciách elektrický impulz stráca schopnosť šíriť sa aj po veľmi krátkych vodičoch. Je to spôsobené tým, že každý vodič sa stáva takmer dokonalou anténou, ak je jeho dĺžka rovná aspoň polke vlnovej dĺžky el. signálu v tomto vodiči. Preto je nutné všetky spoje realizovať pomocou vedení alebo vlnovodov, čo však kladie veľké nároky na konštrukciu a použité materiály.

Technológie prenesené zo sveta superpočítačom do "normálneho" sveta 
 Vector processing 
 Kvapalinové chladenie 
 Non-Uniform Memory Access (NUMA)
 Striped disks(neskôr nazvané RAID) 
 Paralelné súborové systémy

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. 
 Počítačový klaster je súbor počítačov prepojených vysokorýchlostnou sieťou, pričom na každom z nich beží samostatné úloha operačného systému. 
 Multiprocesorový počítač je počítač, na ktorom beží jeden samostatný operačný systém a používa viac ako jeden CPU, pričom počet užívateľských aplikácií je iný ako počet procesorov. Procesory zdieľajú úlohy pomocou technológií SMP(Symmetric multiprocessing) a NUMA(Non-Uniform Memory Access).
 SIMD procesor spúšťa rovnaké inštrukcie na viac ako jeden súbor dát v tom istom čase. Sú to tzv. vektorové procesory. Ich výhodou je väčšia efektivita s tým spojená nižšia spotreba pri rovnakom výkone.
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:
 Deep Blue, vytvorený na hranie šachu, ako prvý stroj porazil v tejto hre človeka, Garryho Kasparova
 GRAPE, vytvorený pre úlohy astrofyziky a molekulárnej dynamiky
 Deep Crack, vytvorený na prelomenie DES šifrovania

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.

Iné projekty

Externé odkazy 
 TOP500 Supercomputer list
 LinuxHPC.org Linux High Performance Computing and Clustering Portal
 WinHPC.org  Windows High Performance Computing and Clustering Portal
 Cluster Resources
 Cluster Builder
 CDAC
 Microsoft Windows Compute Cluster Server (CCS)
 Infiscale Cluster Portal - Free GPL HPC Resources  
 Supercomputing Online Homepage for the World's High-Performance Computing, Networking & Storage Professionals
 Degree Project about best alternatives to implement HPC Cluster