ACER_112024 ACER_112024 ACER_112024

Superpočítače – hon na výkon

Archív NXT
0

Označenie super počítač môže na prvý pohľad evokovať výrazy z pestrých reklamných letákov, v ktorých sa marketingovým jazykom opisujú rôzne parametre, funkcie či dizajn osobných počítačov. Niekomu by sa mohol pod týmto označením vybaviť moderný stolový počítač či notebook s výkonným viacjadrovým procesorom, dostatkom pamäte či výkonnou hernou grafickou kartou.

Pravý význam označenia superpočítač je, samozrejme, úplne odlišný a ukrýva sa pod ním stroj alebo jedna spoločná sústava strojov, ktorých výkon sa pohybuje v hodnotách, k akým sa bežné domáce počítače prakticky ani nepribližujú. Ide o objemné zariadenia, náročné na prevádzku, ktoré sú aktuálnym vrcholom z hľadiska výpočtovej sily a používajú sa na tie najnáročnejšie úlohy, ktorých výpočet by klasickým domácim PC trval storočia. Aký výkon teda naozaj tieto počítače majú? Ako sa budujú, prevádzkujú a aký softvér a hardvér používajú? Na to sa pozrieme práve v tomto článku.

Vrcholové superpočítače sú vždy predstaviteľmi aktuálneho stavu na poli výpočtovej sily z hľadiska rýchlosti kalkulácií. Vo väčšine prípadov ide o extrémne drahé stroje patriace najrôznejším laboratóriám a výskumným inštitúciám, ktoré sa používajú na náročné výpočty rozličného druhu (k podrobnostiam sa ešte dostaneme). Ich základná idea je dosiahnutie maximálneho výkonu, no nie z hľadiska výpočtovej kapacity, ale z hľadiska výpočtovej schopnosti. Pod týmto zdanlivo paradoxným opisom sa skrýva to, že superpočítače sú budované na riešenie veľmi zložitých a komplikovaných problémov v čo najkratšom čase. Obyčajne teda svojím plným výkonom riešia len jeden veľmi komplexný problém a po jeho vyriešení sa presúvajú na ďalší. Neslúžia na riešenie obrovského množstva rôznych jednoduchých problémov. Z tohto dôvodu napríklad rozsiahle serverovne najrôznejších svetových webových služieb nie sú označované za superpočítače, pretože riešia zvyčajne len obrovské množstvo jednoduchých úloh, ako je napríklad prístup veľkého množstva používateľov do databázy či na internetovú stránku. Špecifická architektúra počítačového klastra prepracovaného do podoby superpočítača je naproti tomu cielená na riešenie najkomplexnejších problémov a zvyčajne dokáže riešiť úlohy, ktoré iné systémy v únosnom čase alebo objeme nezvládnu (napríklad pokročilé simulácie).

Moderné superpočítače pozostávajú obyčajne z niekoľko tisíc procesorov a grafických jadier, ktoré sú v podobe serverových rackov prepojené do jedného celku. Vo výsledku sa tak dá superpočítač jednoducho opísať ako centralizovaný a masívne paralelný počítačový systém. Existuje pritom niekoľko druhov rôznych prepojení a architektúr a dá sa povedať, že každý vrcholový superpočítač je do istej miery unikát. Samostatnú a trochu oddelenú kategóriou tvoria distribuované oportunistické systémy virtuálnych superpočítačov, ktoré na rozdiel od vlastného centralizovaného systému využívajú dobrovoľných „hardvérových" prispievateľov. Takéto riešenia pozostávajú z klasických domácich počítačov pripojených na internet, ktorých majitelia sa dobrovoľne prihlásia do nejakého výpočtového projektu. Na pripojenie pritom používajú nejakú softvérovú platformu, ako je napríklad program BOINC. Stovky tisíc domácich počítačov tak vytvoria virtuálny superpočítač, ktorý sa môže z hľadiska hrubého výpočtového výkonu neraz popasovať aj s najvýkonnejšími centralizovanými superpočítačmi. Virtuálne superpočítače sa však vzhľadom na rôzne slabiny vyplývajúce z necentralizovaného riešenia nevenujú komplikovaným problémom, ktoré treba vyriešiť v krátkom čase, ale dlhodobým a neprioritným výpočtovým projektom. Tejto špecifickej skupine distribuovaných superpočítačov sme sa venovali v článku Hľadáte mimozemšťanov i liek na rakovinu? (PC REVUE č. 4/2011).

Výkon superpočítačov sa meria v jednotkách FLOPS, pričom ide o počet operácií s plávajúcou desatinnou čiarkou za sekundu (Floating Point Operations Per Second). Kým napríklad vrecková kalkulačka dosahuje zvyčajne len niekoľko jednotiek FLOPS, superpočítače sú schopné vykonávať operácie o mnoho rádov vyššie. Z tohto dôvodu sa používajú bežné násobky sústavy SI a v prípade miliónov hovoríme o megaFLOPS (MFLOPS), pri miliardách o gigaFLOPS (GFLOPS) a pri biliónoch o teraFLOPS (TFLOPS). Súčasný najvýkonnejší superpočítač na svete je Titan, prevádzkovaný v Národnom laboratóriu Oak Ridge (USA), jeho výkon dosahuje 17,59 petaFLOPS, teda viac ako 17 biliárd FLOPS. Počet FLOPS je odmeraný testovacím softvérom LINPACK, ktorý vykonáva operácie s veľkými matematickými maticami. Na základe tohto výsledku je pravidelne zostavovaný rebríček najvýkonnejších superpočítačov na svete TOP 500. Na úplnom vrchole rebríčka sa superpočítače udržia zvyčajne iba niekoľko mesiacov, potom ich prekonajú úplne nové alebo upgradované stroje. Superpočítače zvyčajne nie sú bez modernizácie prevádzkované dlhšie ako niekoľko rokov, pretože za určité obdobie už udržovanie prevádzky starého, a teda neefektívneho hardvéru stojí viac ako jeho upgrade. Vývoj polovodičových technológií je jednoducho obrovský a v priebehu desiatich rokov sa obvykle výkon superpočítačov stisícnásobí.

Titan.jpg

Pohľad na superpočítač Cray Titan s pôdorysom 404 m2


Superpočítače včera a dnes

História superpočítačov sa začala písať v 60. rokoch 20. storočia strojom s názvom CDC 6600 (CDC je skratka výrobcu Control Data Corporation). Do prevádzky bol uvedený pred 49 rokmi (1964) a vďaka svojmu jedinému 40 MHz procesoru dosahoval výkon troch miliónov FLOPS (3 megaFLOPS). Jeho cena činila 8 miliónov dolárov, čo je v dnešných pomeroch približne 60 miliónov. Vzhľadom na to, že dosahoval desaťnásobne vyšší výkon ako dovtedy najvýkonnejší počítač IBM 7030, dostal označenie superpočítač. Jeho zostavovateľom bol nadaný počítačový architekt Seymour Cray, ktorý sa dnes považuje za otca superpočítačového priemyslu. Po vývoji nástupcu v podobe CDC 7600 v roku 1968 Seymour Cray z CDC odišiel a založil si vlastnú spoločnosť Cray Research, v ktorej sa v priebehu nasledujúcich dekád zostavilo mnoho najvýkonnejších superpočítačov na svete. Prvý superpočítač z tejto dielne bol legendárny Cray 1, postavený v roku 1976 v Národnom laboratóriu Los Alamos (USA), kde sa podieľal na vývoji nukleárnych zbraní. Cray 1 disponoval 80 MHz procesorom a dosahoval výkon 136 megaFLOPS. Išlo o nesmierne podarený návrh stroja, ktorý sa vyrobil v 80 kusoch a jeho nezameniteľný „startrekovský" vzhľad si môžete prezrieť na obrázku. Výrazný zlom v architektúrach superpočítačov prišiel v roku 1982 so strojom Cray X-MP. Išlo o prvý model, ktorý na dosiahnutie maximálneho výkonu používal súhrnné zapojenie viacerých procesorov. Konkrétne to boli štyri procesory s frekvenciou 105 MHz, ktoré dovedna dávali superpočítaču výkon 800 megaFLOPS. Dominancia superpočítačov od Cray Research pokračovala 8-procesorovým modelom Cray 2 z roku 1985, dosahujúcim výkon 1,9 gigaFLOPS. Na dosiahnutie tohto výkonu už museli byť vtedajšie obvodové moduly počítača v takej hustote, že neboli schladiteľné vzduchom. Vnútro celého počítača bolo preto ponorené do fluórouhlíkovej kvapaliny.

Cray1.jpg

Legendárny superpočítač Cray 1 z roku 1976

Americkú dominanciu na poli najvýkonnejších superpočítačov po troch dekádach ukončili stroje z Japonska. V roku 1990 najprv uviedla spoločnosť NEC do prevádzky štvorprocesorový superpočítač SX-3 s výkonom 22 gigaFLOPS, ktorý následne o dva roky neskôr prekonal ďalší japonský stroj Numerical Wind Tunnel od spoločnosti Fujitsu. Numerical Wind Tunnel bol umiestnený v Národnom kozmickom laboratóriu v Tokiu, pričom išlo o vôbec prvý masívne paralelný superpočítač. Obsahoval spolu 140 procesorov, ktoré dovedna poskytovali výkon 124 gigaFLOPS (čo je približne výkon súčasných procesorov Intel Core i7). O ďalšie dva roky neskôr (1996) sa do čela výkonovej tabuľky vyhupol ďalší japonský superpočítač Hitachi SR2201, ktorý už prostredníctvom 2048 procesorov HARP-1E s frekvenciou 150 MHz dosahoval výkon 600 gigaFLOPS. Koncom 90. rokov minulého storočia na vrchol opäť vyštartovali americké superpočítače. V roku 1997 na požiadavku vlády Spojených štátov zostavila spoločnosť Intel superpočítač ASCI RED, ktorý po prvýkrát v histórii prelomil hranicu jedného teraFLOPS (1,3 TFLOPS). Išlo o superpočítač určený na simuláciu materiálov na vývoj nukleárnych zbraní, pričom obsahoval 9000 procesorov Intel Pro. V roku 1999 bol tento superpočítač upgradovaný a všetky jeho CPU vymenené za Intel Pentium II Xeon (333 MHz). Výkon superpočítača tým stúpol na 2,3 teraFLOPS a prvú priečku v rebríčku TOP 500 si zachoval až do nasledujúceho roku (2000), keď ho prekonal 8192-procesorový superpočítač ASCI WHITE s výkonom 7,2 teraFLOPS, ktorý zostavila spoločnosť IBM v Národnom laboratóriu Lawrencea Livermora (USA).

Dvadsiate prvé storočie prinieslo na poli superpočítačov značnú zmenu. Keďže v predošlých rokoch došlo k vývoju superpočítačov na základe bežne dostupných komerčných CPU, mohol trh so superpočítačmi skutočne rozkvitať. Pokrok sa dal učiniť aj vďaka pokročilým paralelným architektúram zapojenia, ako bola napríklad architektúra Beowulf cluster, vyvinutá v 90. rokoch v laboratóriách NASA. V roku 2002 si vrchol rebríčka opäť uchmatol japonský superpočítač. Tentoraz išlo o Earth Simulator s výkonom 35,8 teraFLOPS, zostavený spoločnosťou NEC v Jokohame na simulácie globálnej klímy. Titul najvýkonnejšieho superpočítača mu patril až do roku 2004, keď sa uviedol do prevádzky prvý z modelov dominantného superpočítača minulej dekády - Blue Gene od IBM. Tento superpočítač bol budovaný v niekoľkých kusoch a rôznych variantoch (Blue Gene L, P a Q) v laboratóriách prestížnych amerických univerzít a výskumných inštitúciách v USA, Nemecku, Portugalsku a ďalších štátoch. V prvotnej verzii z roku 2004 IBM Blue Gene, umiestnený v Energetickom laboratóriu v Minnesote (USA), dosahoval výkon 70,7 teraFLOPS, čo v roku 2005 dvojnásobne prekonal (136,8 teraFLOPS) jeho modernizovaný model umiestnený v kalifornskom Národnom laboratóriu Lawrencea Livermora (USA). Po ďalších modernizáciách v roku 2007 výkon Blue Gene stúpol na 478,2 teraFLOPS a nadvládu tohto modelu ukončil až v roku 2008 predstaviteľ novej generácie superpočítačov od IBM Roadrunner, postavený v Národných laboratóriách pre nukleárny výskum v Los Alamos (USA). Roadruner ako prvý superpočítač prelomil hranicu 1 petaFLOPS (i keď len veľmi tesne: 1,026), pričom na ploche 560 štvorcových metrov zoskupoval paralelnú architektúru zloženú z 12 960 procesorov IBM PowerXCell 8i (3,2 GHz) a 6480 dvojjadrových procesorov AMD Opteron 2210 (1,8 GHz). O rok neskôr bol pokorený superpočítačom od Cray Research menom Jaguar a s výkonom 1,7 petaFLOPS, ktorý bol postavený vo Vedecko-technologickom národnom laboratóriu v Oak Ridge (USA).

V roku 2010 trón najvýkonnejšieho stroja obsadil po štyroch dekádach po prvýkrát počítač z inej krajiny než USA alebo Japonsko. Išlo o čínsky superpočítač Tianhe-IA s výkonom 2,56 petaFLOPS v Národnom superpočítačovom centre 13-miliónovej metropoly Tianjin. Počítač obsahoval 14 336 procesorov Intel Xeon X5670 a 7168 grafických jadier NVIDIA Tesla M2050. V roku 2011 ho prekonal ďalší stroj z Ďalekého východu - tentoraz japonský K Computer, postavený spoločnosťou Fujitsu vo Fyzikálno-chemickom laboratóriu RIKEN v meste Kobe za 1,25 miliardy dolárov. Superpočítač K pozostáva z 80 000 paralelne zapojených procesorov SPARC64 VIIIfx (8-jadrové procesory s frekvenciou 2 GHz, vyvinuté spoločnosťou Fujitsu), ktoré dávajú superpočítaču výkon 10,5 petaFLOPS. Aktuálne vrchol rebríčka opäť patrí USA. V roku 2012 sa tam najprv vyšplhal superpočítač IBM Sequoia s výkonom 16,32 petaFLOPS a začiatkom tohto roka ho prekonal superpočítač Cray Titan (17,59 petaFLOPS). Obom sa pozrieme na zúbok podrobnejšie.


Architektúra moderných superpočítačov

Počas 50-ročnej histórie superpočítače prešli rôznymi podobami a používali niekoľko konštrukčných princípov. Azda najdôležitejšiu zmenu v schéme predstavoval prechod od jednoprocesorových či niekoľkoprocesorových systémov k masívnemu paralelizmu so státisícmi výpočtových jadier. S rozširujúcim sa počtom procesorov už nebolo možné naďalej používať jednu zdieľanú pamäť, ale bolo treba prejsť k distribuovanému riešeniu. Moderné superpočítače fungujú na báze klastra, pričom pozostávajú z množstva výpočtových uzlov, vzájomne prepojených rýchlou privátnou sieťou. Jednotlivé uzly sú softvérovou vrstvou označovanou ako middleware prepojené medzi sebou, vytvárajúc tak jednu spoločnú jednotku. Superpočítač sa navonok správa ako jednoliaty celok. Superrýchle prepojenie medzi jednotlivými uzlami je teda mimoriadne dôležitá časť architektúry, pričom k jeho riešeniu rôzni zostavovatelia pristupujú inak. Jedna z možností je napríklad používanie sieťovej topológie fabric, ktorá na rozdiel od bežných architektúr (napríklad eternet) nie je hierarchická. Na spojenie sa používa rozhranie InfiniBand s latenciou menšou ako 100 nanosekúnd a prenosovou rýchlosťou 100 Gbit/s a viac. Prepojenie prostredníctvom InfiniBand sa objavuje v mnohých superpočítačoch, ide napríklad o americký IBM Roadrunner alebo čínsky Tianhe-1. Ďalšia populárna sieťová topológia na spojenie uzlov je torus, pri ktorom je každý uzol superpočítača prepojený so šiestimi najbližšími uzlami okolo neho. Túto topológiu používajú napríklad superpočítače IBM Blue Gene a aj z nich vychádzajúci IBM Sequoia či moderné superpočítače od Cray Research.

Sequoia.jpg

Supepočítač IBM Sequoia bez ochranných krytov kabinetov – dobre vidieť zásuvky s jednotlivým hardvérom a prepojovacie káble

Z hľadiska vonkajšieho dizajnu sa moderné superpočítače veľmi nelíšia od výkonných serverovní. Na obrázkoch si môžete všimnúť, že pozostávajú zo skupiny samostatných kabinetov, teda akýchsi skríň, v ktorých nájdeme niekoľko zásuviek umiestnených nad sebou. Ide o modulárny dizajn, označovaný ako Blade (žiletka), ktorý sa používa aj na rôznych serveroch. Jednotlivé časti superpočítača sa umiestnia na pozície vo vyberateľných zásuvkách a následne sa vzájomne prepoja. V zásuvke zvyčajne nájdeme základnú dosku, na ktorej je umiestnených niekoľko procesov a modulov operačnej pamäte, k čomu sa podrobnejšie dostaneme už o chvíľku v hardvérovej časti článku. Z hľadiska rozmerov moderné superpočítače zaberajú plochu približne vo veľkosti basketbalového ihriska. V prípade IBM Sequoia, ktorý sa nachádza v kalifornskom Národnom laboratóriu Lawrencea Livermora, ide o 280 m2, zatiaľ čo v prípade Cray Titan, nachádzajúceho sa v Národných laboratórách Oak Ridge (Tennessee, USA), je to 404 m2.

Hardvér, chladenie a napájanie

Dobrú predstavu o tom, ako moderné superpočítače vyzerajú, si môžeme vytvoriť na základe pohľadu na dva momentálne najvýkonnejšie modely - IBM Sequoia a Cray Titan. Superpočítač Sequoia pozostáva z 96 samostatných kabinetov, pričom v každom z nich nájdeme 1024 výpočtových uzlov (dovedna 98 304 uzlov). V prípade počítača Sequoia je uzlom 16-jadrový procesor IBM PowerPC A2 (64-bitové CPU s frekvenciou 1,4 GHz a 32 MB eDRAM L2 cache), ktorý je osadený spoločne s vlastnou operačnou pamäťou s kapacitou 16 GB (DDR3). Superpočítač tak spolu disponuje jeden a pol miliónom procesorových jadier (1 572 864) a 1,6 petabajtami operačnej pamäte. Superpočítač Cray Titan naproti tomu pozostáva z 200 kabinetov Cray XK7. V každom z nich je 24 zásuviek, pričom šesť z nich vytvára jeden výpočtový uzol. Uzol Titanu je tak architektonicky odlišný od uzla IBM Sequoia. Vzhľadom na 24 zásuviek alebo „žiletiek" (blades) tak dostaneme štyri uzly na jeden kabinet. Túto schému superpočítač „zdedil" po svojom predchodcovi, ktorým jej Cray Jaguar. Vo výsledku je Cray Titan kompletnou modernizáciou superpočítača Jaguar, pričom bola využitá jeho kompletná štruktúra. Na obrázku môžete vidieť, ako jedna z 24 zásuviek kabinetu vyzerá. Ide o základnú dosku Cray XK7, na ktorej sa nachádzajú štyri 16-jadrové procesory AMD Opteron 6274 (2,2 GHz) umiestnené v päticiach AMD G34 (Cray Jaguar pôvodne disponoval šesťjadrovými CPU AMD Opteron 2435). Okrem toho na doske nájdeme ešte štyri grafické karty NVIDIA Tesla K20X (Kepler GK110) v slotoch PCIE. Sloty PCI Express Titanu majú inú podobu ako na klasických počítačoch, pričom na obrázku môžete vidieť, že karty sú umiestnené naležato. Ide o form factor SXM veľmi podobný schéme, aká sa používa na grafických kartách notebookov (kde sa z dôvodu nízkeho tela prenosných počítačov používa takisto súmerné uloženie so základnou doskou). GPU je na superpočítačoch určené, samozrejme, čisto na výpočtové operácie, a teda budete márne hľadať na kartách zbytočné prvky, ako sú napríklad obrazové výstupy. Dovedna nájdeme v superpočítači Titan 18 688 procesorov a rovnaký počet grafických čipov. Pri hybridných systémoch je počítanie jadier trochu problematické, pretože sú použité dva pomerne odlišné princípy výpočtových jednotiek (CPU oproti GPU). V prípade 16-jadrových CPU ide spolu o 299 008 procesorových jadier, zatiaľ čo pri GPU (každý čip NVIDIA K20X obsahuje 2688 jadier CUDA) je to 50 233 344 grafických jadier CUDA FP32. Na každej základnej doske nájdeme 128 GB pamäte DDR3 (32 GB pre každé CPU) a zároveň 24 GB pamäte GDDR5, umiestnenej na samotných grafických kartách (6 GB na každej). Dovedna teda Titan obsahuje viac ako 700 TB operačnej pamäte. Superpočítače, samozrejme, disponujú aj klasickým dátovým úložným priestorom, ale v tomto prípade nejde zvyčajne o nič „špeciálne". Cray Titan napríklad používa 10 000 štandardných 2,5-palcových pevných diskov s kapacitou 1 TB (7200 ot./min). Spolu teda môže niesť 10 petabajtov dát, pričom vstupno-výstupné subsystémy umožňujú ukladanie rýchlosťou približne 240 GB za sekundu.

Titan-MB.jpg

Jedna zo 4800 základných dosiek superpočítača Cray Titan – pod medenými chladičmi v strede nájdeme štyri 16-jadrové procesory Opteron, vľavo naležato štyri grafické karty NVIDA Tesla a napravo radiče dosky a dovedna 128 GB operačnej pamäte


Z hľadiska chladenia superpočítače v priebehu histórie neraz balansovali na hrane, obzvlášť pred nástupom masívneho paralelizmu (napríklad už spomenutý Cray 2 s útrobami ponorenými do fluórouhlíkovej kvapaliny). Výkonný hardvér produkuje obrovské množstvo tepla, ktoré treba rýchlo a efektívne odvádzať. S nástupom viacnásobných kabinetových riešení si superpočítače vo väčšine prípadov vystačia s výkonným vzduchových chladením. Napríklad na doske superpočítača Titan si môžete všimnúť, že komponenty v podobe procesorov a grafických kariet sú osadené iba rozmernými pasívnymi chladičmi. Aktívne sa totiž chladí celý kabinet, do ktorého sa rýchlo vháňa chladný vzduch pomocou sústavy trubíc, ktoré môžete vidieť na obrázku vrchnej časti superpočítača. Z kabinetu je následne ohriaty vzduch pumpovaný nazad do chladiacej časti, kde sa ochladzuje cirkuláciou vody na teplotu približne 5 °C a posiela nazad do obehu. Chladiace systémy Titanu dokážu odviesť tepelnú energiu schopnú roztopiť 6600 ton ľadu za 24 hodín. Niektoré superpočítače, ako napríklad IBM SuperMuc (3 petaFLOPS) či japonský K computer (10 petaFLOPS), používajú vodné chladenie v plnom rozsahu, keď je voda pumpovaná potrubnými systémami do pasívnych chladičov na procesoroch. Ohriata voda sa pritom nezriedkavo používa napríklad na vykurovanie pridružených budov komplexu, čím sa čiastočne redukujú prevádzkové náklady superpočítača.

Titan-Cooling.jpg

Rozvádzanie schladeného vzduchu potrubím priamo do útrob Titanu

Pokiaľ si zhrnieme výkon superpočítača, počet jeho výpočtových jadier a teplo, ktoré je pri jeho práci generované, zrejme je vám jasné, že objem energie vyžadovanej na jeho prácu je enormný. Pri superpočítačoch sa na zaháľanie skrátka nehrá a očakáva sa, že pôjdu počas svojej životnosti prakticky neustále na plný výkon. Nezriedkavo tak spotrebúvajú elektrickú energiu porovnateľnú s energetickými požiadavkami malého mesta. Súčasná svetová superpočítačová jednotka Cray Titan spotrebúva pri svojej práci nepretržite približne 8,2 megawattu. Obdobne je na tom svetová dvojka IBM Sequoia (7,2 MW), zatiaľ čo trojka v podobe japonského K computera vyžaduje už dodávku 12,6 MW. Na vnútorné napájanie jednotlivých častí superpočítača sa používajú rôzne postupy, pričom napríklad Cray Titan napája jednotlivé kabinety napätím 480 voltov. Pre prípad výpadku dodávky elektrického prúdu z hlavnej rozvodnej siete bývajú superpočítače vybavené systémami záložného napájania. Prvú líniu tvoria obvykle veľké mechanické zotrvačníky, ktoré sa pri práci superpočítača roztočia na 52 000 otáčok za minútu. Pri výpadku elektriny sú vďaka zotrvačnému momentu a nakumulovanej kinetickej energii schopné po dobu 16 sekúnd (v prípade Cray Titan) produkovať dostatok energie na udržanie prevádzky sieťovej a úložiskovej časti superpočítača. Pokiaľ je energetický výpadok dlhší ako dve sekundy, štartujú sa dieselové motory. Nábeh dieselových elektrických generátorov trvá približne 7 sekúnd, pričom preberajú úlohu dodávateľa elektrickej energie skôr, ako sa zotrvačníky zastavia. Aj v tomto prípade však ide len o napájanie sieťovej a úložnej časti superpočítača, pretože prakticky neexistuje možnosť, ako lokálnymi generátormi produkovať okolo 10 MW potrebných na udržanie prevádzky výpočtovej časti.

Kcomputer-MB.jpg

Vodné chladenie vnútri superpočítača K Computer

Softvér a konektivita

V počiatkoch éry superpočítačov sa operačný systém budoval pre každý model zvlášť. To umožňovalo precízny softvérový návrh, ktorý bol vždy šitý na mieru a pre konkrétne hardvérové potreby každého stroja. S postupným nárastom hardvérovej zložitosti sa však vývoj operačného systému stával časovo čoraz náročnejším, technicky zložitejším a hlavne drahším. V 80. rokoch minulého storočia sa už cena na jeho vývoj začala rovnať sume, ktorá bola investovaná do hardvéru. To malo za následok radikálny odklon od vlastných softvérových riešení, pričom výrobcovia začali dávať prednosť klasickým a osvedčeným operačným systémom. Tento trend naštartoval v roku 1985 superpočítač Cray-2, ktorý bol vybavený systémom UNICOS, založeným na Unixe. V priebehu nasledujúcich rokov začalo operačné systémy UNIX používať čoraz viac superpočítačov a v 90. rokoch už boli tieto riešenia prakticky štandardom. Nikdy však nešlo o konkrétny a špeciálny druh systému, na ktorom sa všetci výrobcovia superpočítačov spoločne podieľali, ale o klasický unixový základ, ktorý jednotliví výrobcovia upravovali pre vlastné potreby (najmä z toho dôvodu, že jednotlivé superpočítače sa v rámci architektúry často značne líšili). Ako však vývoj klasických operačných systémov pokračoval, začal byť ich stále sa zväčšujúci zdrojový kód problémom. Kým pre domáce počítače bola zvyšujúca sa komplexnosť a funkčnosť systémov vítaná, pri superpočítačoch, kde bolo treba nad kódom držať plnú kontrolu a upravovať ho na maximálnu rýchlosť, išlo o značné skomplikovanie situácie. V čase, keď zdrojový kód systémov presahoval už pol milióna riadkov, bolo prakticky jasné, že je nevyhnutné prístup zmeniť. V odvetví superpočítačov sa tak začali používať tzv. mikrokernely, teda mikrojadrá, ktoré si zachovávali len tie najdôležitejšie funkcie operačného systému a poskytovali vysokú rýchlosť a upraviteľnosť. Medzi prvé lastovičky v tomto smere patrili mikrosystémy MACH a Chorus. Na prelome storočí, keď nastal v superpočítačoch prechod k masívnemu paralelizmu, sa začali pre jednotlivé uzly používať rôzne druhy linuxových systémov. Zatiaľ čo na výpočtových uzloch sa zvyčajne nasadzoval nejaký typ linuxového mikrojadra, na vstupno-výstupných uzloch a riadiacich častiach superpočítača zas nejaký štandardný, a teda „veľký" linuxový operačný systém.

Moderné superpočítače od IBM používajú na výpočtových uzloch mikrosystém CNK (Compute Node Kernel). Ide o odľahčený linuxový kernel, obsahujúci približne 5000 riadkov zdrojového kódu v C++, špeciálne upravený pre potreby superpočítačov. Naopak, Cray Research používa odvodeninu linuxového mikrojadra nazvanú CNL (Compute Node Linux), ktorá vychádza zo systému SUSE Linux Enterprise Server. Ako sme už spomenuli, na riadiacej časti a vstupno-výstupných uzloch sa zvyčajne používa klasický, a teda neodľahčený operačný systém, pričom napríklad IBM používa systém INK založený na Linuxe. V súčasnosti sú linuxové operačné systémy na superpočítačoch dominantné, ich podiel si môžete pozrieť na farebnom grafickom znázornení. Pre superpočítače používajúce masívnu paralelnú architektúru je z hľadiska softvéru mimoriadne dôležité správne a včasné rozdeľovanie úloh. Úlohy treba plánovať nielen z výpočtového, ale aj komunikačného hľadiska. Obyčajne sa používa nejaký druh hlavného plánovača, ktorý inštruuje zástup podriadených plánovačov obsluhujúcich spúšťanie, kontrolovanie a monitorovanie jednotlivých procesov. Tieto podriadené plánovače sledujú vždy vlastné časti superpočítača a pravidelne hlavnému plánovaču odosielajú reporty o pokroku jednotlivých úloh. Superpočítače IBM napríklad používajú open source softvér SLURM (Simple Linux Utility for Resource Management). Iné superpočítače, ako napríklad niektoré modely Cray, pristupujú k problému trochu inak a jednotlivé úlohy distribuujú pomocou softvérového plánovača PBS (Portable Batch System) vždy na prvý dostupný procesor, respektíve uzol. Okrem rýchleho softvéru a plánovača sa superpočítače, samozrejme, nezaobídu ani bez veľmi rýchleho sieťového pripojenia. Úlohy sú v drvivej väčšine prípadov zadávané na diaľku. K superpočítaču Cray Titan napríklad vedie niekoľko desiatok lokálnych 10 Gbit liniek, pričom celý systém je zároveň pripojený na 100-gigabitovú chrbticovú sieť ESNET (Energy Sciences Network - Energetická vedecká sieť), ktorú používajú rôzne národné laboratóriá, výskumné ústavy a univerzity.

OS.png

Percentuálne zastúpenie operačných systémov na superpočítačoch za dve posledné dekády


Čo vlastne superpočítače počítajú?

Superpočítače sa používajú na veľmi komplexné simulácie a výpočty z najrôznejších vedeckých odborov. Zvyčajne sú to napríklad simulácie biologických systémov, nanotechnológií, meteorológie, dynamiky prúdenia plynov, kvantovomechanické deje a podobne. Vo výsledku tak ide napríklad pri biológii o výskum priebehu chorôb a vývoj liekov, pri meteorológii zas o pokročilé simulácie budúcej zemskej klímy a pri odbore dynamiky prúdenia napríklad o výskum potrebný na stavbu efektívnejších leteckých motorov. Superpočítače sa pritom môžu budovať buď špeciálne na výskum v nejakom konkrétnom odvetví, alebo ako zdroj výpočtovej sily na výskumy najrôznejšieho typu. Superpočítač IBM Sequoia sa napríklad prioritne používa na simuláciu nukleárnych reakcií, pričom výsledky jeho simulácií pomáhajú vyvíjať americký jadrový arzenál bez potreby jadrových testov a zároveň pomáhajú udržiavať existujúci arzenál bez nutnosti jeho likvidácie a výmeny za novší (možno spúšťať komplexné simulácie zisťujúce to, dokedy je ešte funkčný). Okrem toho sú na ňom v menšej miere spúšťané aj simulácie z iných odborov, ako napríklad z astronómie, výskumu ľudského genómu či globálneho otepľovania.

Superpočítač Cray Titan nemá žiadne špecifické zameranie a je k dispozícii prakticky pre akýkoľvek dôležitý vedecký projekt. Pri jeho uvedení do prevádzky začiatkom tohto roka bolo zvolených šesť úvodných projektov: WL-LSMS, Denovo, S3D, LAMMPS, CAM-SE a NRDF. Projekt WL-LSMS je simuláciou interakcie elektrónov v magnetických materiáloch pri teplote nad absolútnou nulou s cieľom nájsť najlepšie postupy na zvyšovanie efektívnosti elektromagnetických zariadení. Projekt Denovo simuluje nukleárne reakcie prebiehajúce v jadrových reaktoroch, ktoré sa zameriavajú na optimálne spaľovanie jadrového materiálu. Na základe výsledkov možno napríklad určiť, pri akom použití sa materiál spaľuje najefektívnejšie a kedy je palivový článok kompletne spálený. Vo výsledku sa teda dá zabrániť tomu, aby sa palivový článok vyhadzoval v stave, keď je ešte spálený napríklad na 70 % (odstavenie reaktora a výmena článku je zdĺhavá procedúra, nehľadiac na to, že sa z dôvodu neefektívnosti produkuje viac jadrového odpadu, ako treba). Projekt S3D sa zameriava na simuláciu spaľovania plynov v dieselových a biopalivových motoroch na zníženie ich spotreby, zatiaľ čo projekt LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) simuluje molekulárnu a kvantovú dynamiku rôznych nových materiálov. Pomáha tak hľadať budúce zlepšenia z hľadiska technológií používaných v polovodičovom a inom priemysle. Projekt CAM-SE sa zameriava na simulácie atmosférického modelu Zeme a jej životného prostredia. Ide najmä o riešenie veľmi zložitých termodynamických rovníc, potrebných na presné simulácie globálnej klímy. Šiesty projekt je NRDF (Non-Equilibrium Radiation Diffusion), ktorý modeluje správanie subatomárnych častíc bez elektrického náboja, čo má význam pre astrofyziku a pochopenie dôležitých vesmírnych javov a zároveň pre energetiku z hľadiska vývoja fúznych reaktorov.

Kcomputer.jpg

Japonský superpočítač K Computer s výkonom 10,5 petaFLOPS

Aj keď je Cray Titan vybudovaný na poskytnutie výpočtovej sily na náročné výpočty a simulácie z rôznych vedeckých odborov, jeho silu možno prenajať aj z komerčného hľadiska. Konkrétna firma si teda môže prenajať časť jeho prostriedkov aj na súkromný výpočet. Cena takéhoto použitia závisí od miery vyťaženia superpočítača a zvyčajne sa odvíja od počtu použitých jadier potrebných na výpočet (napríklad 5 centov za hodinu použitia jedného jadra). Pri náročnom výpočte tak môže účet narastať aj o niekoľko desiatok tisíc dolárov za hodinu. Na druhej strane vedecké a výskumné inštitúcie, ktoré výsledky svojej vedeckej práce publikujú, môžu superpočítač Cray Titan používať zadarmo. Samozrejme, požiadaviek je oveľa viac, ako možno vykonať, a projekty sú naplánované obyčajne na mnoho mesiacov dopredu pri prakticky stopercentnom pokrytí pracovného času a výkonu superpočítača. Nie je teda prekvapujúce, že projekty musia prejsť prísnym schvaľovacím procesom, kde sa musia presadiť v náročnej konkurencii. Žiadosť o použitie pozostáva z podania prihlášky, v ktorej musíte ukázať, aký problém plánujete riešiť, a vysvetliť, prečo je dôležitý. Zároveň musíte predložiť algoritmy, ktoré si vyžadujú použitie najvýkonnejšieho superpočítača. Žiadosť sa následne posudzuje v dvoch smeroch. Prvým je posúdenie z hľadiska výpočtových požiadaviek, keď sa zhodnotí, či výpočet na superpočítači vôbec možno vykonať a aký objem z výpočtovej kapacity by zabral. Ak sa ukáže, že projekt vyžaduje menej ako 1/5 výkonu stroja, je zvyčajne zamietnutý, pretože existujú aj menej výkonné superpočítače, a tak netreba plytvať časom najvýkonnejšieho stroja na svete. Druhé posúdenie sa uskutočňuje z vedeckého hľadiska, keď návrh prechádza procesom peer-review, pri ktorom ho posudzujú špičkoví akademici z príslušného odboru a hodnotia, či je výskumný projekt legitímny a má za cieľ skutočné posunutie ľudských znalostí. Ak sa žiadosť schváli (posúdenie zvyčajne trvá tri mesiace), je projekt zaradený do plánovača a čaká, kým príde na rad. Po jeho spracovaní sú jeho výsledky prístupné okamžite a výskumníci si ich môžu zo superpočítača na diaľku prevziať.

Superpocitace - nahlad 02.jpg

Blízka budúcnosť

Vývoj superpočítačov a polovodičového priemyslu pokračuje neúprosným tempom. V najbližších dvoch rokoch sa dá očakávať príchod strojov pokorujúcich hranicu 100 petaFLOPS, pričom s najväčšou pravdepodobnosťou pôjde o americký Cray založený na architektúre XC30 alebo o čínsky Tiahne-2. V oboch prípadoch sa dá predpovedať použitie minimálne desaťtisíc procesorov Intel Xeon a obdobný počet grafických kariet NVIDIA TESLA alebo AMD FirePro. S narastajúcim výkonom stúpa aj náročnosť simulácií, ktoré môžeme vykonávať, a preto je hodnota, ktorú prinášajú superpočítače z hľadiska technologického a vedeckého pokroku, prakticky nevyčísliteľná. Keďže výkon superpočítačov sa stisícnásobuje približne každých desať rokov, príchod stroja s výkonom na úrovni exaFLOPS sa dá odhadnúť na rok 2018. Nám nezostáva nič iné, len s napätím naďalej sledovať tento vývoj vyrážajúci dych.

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať