Peta FLOPoví obři

redakce  |  Věda
057_000_jpg_499954499b.jpg

Ocitáme se už skoro 60 let v prostředí neustálé elektronické a výpočetní revoluce. V žádném jiném technologickém odvětví nelze pozorovat tak prudký vývoj a dlouhodobý růst výkonnosti jako zde. Za posledních 30 let se výkony i těch nejrychlejších počítačů zvýšily zhruba milionkrát. V průběhu předchozích třiceti let to vypadalo podobně. V posledních 42 letech také platí tzv. Moorův zákon, který ve své současné podobě znamená mj., že výkony procesorů či z nich vytvářených kompletů o porovnatelných rozměrech se každých 18 měsíců zdvojnásobují (ještě před několika lety to znamenalo hlavně zvyšování pracovních frekvencí či výkonů jednotlivých procesorů, to je dnes již obtížné a nyní se proto vývoj promítá hlavně do zvyšování počtu paralelních procesorových jader, a to geometrickou řadou). Dalším pozoruhodným faktem je i to, že dnes mají běžné osobní (tj. malé, stolní či přenosné) počítače podobné výkony jako ty nejrychlejší superpočítače z doby před asi 20 lety, které tehdy zabíraly celé sály nebo patra budov.

Dnešní opravdové superpočítače ovšem nejsou o nic menší než jejich vysloužilí předchůdci – ba často právě naopak.

Není se čemu divit, neboť obsahují typicky desetitisíce a někdy až statisíce procesorů. Od roku 1993 přesně podchycuje tuto oblast tým kolem serveru TOP500 (www.top500. org), který dvakrát ročně sestavuje žebříčky a sleduje a vyhodnocuje trendy, statistické aj. ukazatele v rámci aktuálně 500 nejvýkonnějších strojů světa. Poslední žebříček vyšel v červnu tohoto roku a přinesl nového šampiona – hybridní superpočítač od firmy IBM – Roadrunner, který jako první kompaktní (čili nedistribuovaný) výpočetní systém pokořil další významný výkonnostní milník -hranici 1 PetaFLOPS u jednoho stroje.

Co je to FLOP?

Jak zjišťujeme výkon složitých a svojí strukturou často velmi rozdílných počítačových soustav? Výkon počítačů, které operují s desetinnými čísly, se měří v násobcích jednotky zvané FLOP či FLOPS (elementární operace s pohyblivou desetinnou řádkou za sekundu – FLoating point Operation(s) Per Second a v praxi potkáváme nejčastěji výkony v řádech GigaFLOPS (109), TeraFLOPS (1012) či PetaFLOPS (1015) při řešení nějakého přirozeného vzorku testovacích úloh. V případě žebříčku TOP500 jde o test Linpack, což je sada úloh na bázi soustav lineárních rovnic (i když bývá kritizován pro určitou jednostrannost, protože odráží hlavně výkon samotných procesorů, méně již pamětí nebo disků). Sumární výkon všech 500 počítačů z tohoto žebříčku byl v době před 3–4 roky zhruba roven výkonu „jedničky v TOP500“ v současnosti.

Oblast superpočítačů je tradičně a zároveň nutně spjata s koncepcemi multiprocesorového a obecně paralelního počítání (u běžných jednoduchých tzv. sériových strojů se naopak všechny instrukce a operace provádějí striktně jedna po druhé).

Růst výkonů je totiž možno zajistit i pomocí nasazení více stávajících jednodušších procesorů/procesorových jader/elementárních systémů najednou (někdy jde i o zcela běžné součástky a zařízení). Tomuto stavebnicovému zvětšování systémů se říká škálování.

Procesory v procesorech

Procesory se dvěma či čtyřmi procesorovými jádry (např. Intel Core 2 Duo, Quad Core, AMD X 264 či Opteron) jsou dnes běžnou součástí stolních počítačů a brzy přijdou na trh procesory s jádry osmi, šestnácti a více. Jedním z nejvyspělejších komoditních čipů současnosti je procesor IBM Cell, používaný v herní konzoli Sony PlayStation 3, který obsahuje jedno plus osm jader (z toho šest funkčních) na jediném čipu, má také stále výkonnější varianty. IBM a Intel dnes zkoumají a vyvíjejí prototypy procesorů s desítkami až stovkami jader. Cílem je dosáhnout výpočetního výkonu přibližně jednoho TeraFLOPS na jednom desktopu při mnohem úspornější energetické bilanci než dnes. Podle zmíněného Moorova zákona by podobné integrované procesorové uzly mohly být na trhu zhruba za sedm let. Dnešní procesory dokážou zpracovat řádově kolem 10 GigaFLOPS (miliard operací s pohyblivou desetinnou čárkou/ sekundu). To se ovšem neobejde bez další miniaturizace, která již naráží na limity dnešní mikroelektronické technologie. Intel chce postupně zvládnout technologie o „jemnosti“ 45, 32 a po roce 2011 dokonce 22 nanometrů. Otevřenou hardwarovou cestou je také stále větší integrace komponent počítače či jistého autonomního výpočetního uzlu do jednoho čipu (PC-on-a-chip, processors in memory). Očekává se i rostoucí využití pamětí typu flash a postupné zavádění prvků nanoelektroniky, mikro- a nanofotoniky (elektrooptické modulátory, fotonické krystaly), integrovaných optických spojů a spintroniky (permanentní magnetické operační paměti MRAM), což už je ovšem spíše otázka vzdálenější budoucnosti.

Máte dost chytrý software?

Využití paralelní architektury si však žádá modifikaci softwaru, používaného na příslušných strojích, jak na úrovni operačních systémů, tak i aplikací -efektivní paralelizaci algoritmů a rozložení úloh mezi elementy a subsystémy počítače. Bez toho nelze zvýšeného potenciálního strojového výkonu reálně využít. Paralelizace ovšem také závisí na konkrétním typu úlohy, lze-li ji „rozložit“ na skupinu relativně nezávislých, i když koordinovaných procesů (tato míra nikdy nečiní 100 %). Stejně důležitá jako sdružená síla procesorových jader je i datová propustnost spojovacích komponent systému, rychlost pamětí a disků apod. Jednotlivá jádra mohou být specializována pro konkrétní účel (vstup/výstup, matematické operace, grafika). Většina procesů však bývá prováděna na obecných unifikovaných jádrech. Velmi záleží i na řízení či koordinaci komplexu jader. Například většina běžného softwaru pro PC nedokáže ani dnes plně využít schopností systémů s více procesorovými jádry, to je doménou odladěných a profesionálních paralelních systémů.

Neuznané rekordy

Hranice jednoho PetaFLOPS byla již vloni v září překročena v rámci distribuovaných, přes internetové spoje volněji propojených soustav počítačů, které pracují v dávkovém režimu, a tudíž je nelze považovat za jeden počítač v pravém slova smyslu (nelze zde spustit testovací Linpack).

Konkrétně šlo o dobrovolnický internetový projekt Folding@home (zkoumání úlohy exprese proteinů zejména v oblasti lidských nemocí a mutací) a dosažený celkový výkon činil 1,3 PetaFLOPS, především zásluhou mnoha připojených konzolí PlayStation 3. Pro srovnání, snad nejznámější distribuovaný projekt BOINC dosáhl 28. 1. 2008 sumárního výkonu přes 846 TeraFLOPS, a jeden z podprojektů – SETI@home nejvíce 385 TeraFLOPS. Výkon vyhledávacích a aplikačně hostingových serverů Googlu se odhaduje také v řádu několika set TeraFLOPS. Zcela stranou hlavního proudu univerzálních počítačů stojí hardwarově speciální „monstrum“ pro fyzikálně-molekulární výpočty – stroj MDGRAPE-3 japonského institutu Riken. Ten překonal petaflopovou hranici už v červnu 2006, ale jelikož je hodně speciální a nelze na něm spustit Linpack, do oficiálního žebříčku TOP500 se nedostal.

Vítězný Roadrunner

Mezi univerzálními kompaktními systémy (kompaktní zde znamená nanejvýš prvky lokálních sítí obsahující jednu souvislou úlohu v reálném čase umějící řešit) je podle výkonu na světě první clusterový systém IBM Roadrunner, který pracuje v americké strategické Los Alamos National Laboratory a který dosáhl výkonu 1.026 PetaFLOPS při testu Linpack.

Obsahuje aktuálně 12 960 procesorů IBM PowerXCell 8i (zdokonalené průtokové/streamové procesory Cell z PlayStation 3, každý o výkonu více než 100 GFlops), které posilují asi 6500 dvoujádrových procesorů AMD Opteron, dále zhruba 100 TB paměti RAM. Kvůli kombinaci klasických procesorů a procesorů průtokových (streamových) je Roadrunner považován za neklasický, hybridní systém, první svého druhu na světě (vyžaduje také sobě na míru šité programové vybavení). Stál 133 milionů dolarů a běží na něm operační systém Red Hat Linux.

V dohledné době se má jeho výkon zvýšit zhruba na 1,5–1,7 PetaFLOPS. Jeho hlavním úkolem bude, jak jinak, péče o jaderný zbrojní arzenál USA. Dále jsou na programu problémy z oblasti astrofyziky, energetiky, kosmonautiky, automobilového průmyslu, finančnictví, změn klimatu a lidského genomu. Zabírá plochu 557 m2, má spotřebu 3,9 MWattu a je hierarchicky vystavěn ze stavebnice stejných tenkých serverových segmentů, tzv. bladeů (Triblade).

Každý prvek Triblade obsahuje dva dvoujádrové Opterony, čtyři akcelerující procesory PowerXCell 8i a 16+16 GB RAM u každého druhu procesorů.

058_003_jpg_499954499c.jpg

Další borci v pořadí

Druhým podle pořadí je loňský vítěz žebříčku TOP500, masivně paralelní systém IBM BlueGene/L v Lawrence Livermore National Laboratory se stabilním výkonem 480 TeraFLOPS. Obsahuje neuvěřitelných 212 992 procesorů typu PowerPC, má 73 728 GB paměti RAM a spotřebu přes 1,5 MW. Není vyloučeno další rozšiřování stroje a zvyšování jeho výkonu. Slabší stroj na bázi Blue Gene / L – JUBL z německého výpočetního centra Jülich s 16 348 procesory a výkonem 45,8 teraFLOPS je na 46. příčce (stav k červnu 2008). Dalším „petaflopovým“ kandidátem je systému Blue Gene/L podobná stavebnice na bázi prvků Blue Gene/P, která může v principu dosáhnout výkonu až tří petaFLOPS a je ještě energeticky úspornější.

Má také pracovat větší měrou ve výpočetně výhodnějším SMP režimu než stavebnicový systém Blue Gene/L. Systém IBM BlueGene /P je obecně technologicky mladším a relativně silnějším „bráškou“ systému IBM Blue Gene/L. Na jeho bázi je postaven i v současnosti šestý nejsilnější počítačový systém na světě a první v Evropě – JUGENE z německého výpočetního centra Jülich. S 65 536 procesory PowerPC má JUGENE výkon 167 TeraFLOPS. V první desítce TOP500 jsou nyní celkem čtyři zástupci stavebnice Blue Gene/L a /P. Do konce roku 2009 se očekává, že bude spuštěno více kompaktních systémů s výkonem kolem či přes jeden PetaFLOPS (1000 TeraFLOPS), přičemž vzroste využití streamových procesorů, jako jsou Cell či grafické karty. Řada nadšenců si také dnes z desítek PS3 dělá doma vlastní těsně propojené výpočetní minicentrum. Procesor Cell obsahuje celkem 1+6 volných procesorových jader a pakliže výkon normálního dnešního PC činí kolem 10 GigaFLOPS, jednotlivé procesory Cell podávají pro jisté úlohy výkon ještě nejméně 10× větší. Nvidia chce již brzy nabízet stavebnici Tesla pro oblast High-Performation Computing (HPC), jejímž základem jsou čipy G80 (verze s jedním čipem je ekvivalentní kartě GeForce 8800 Ultra, ale nemá klasický grafický výstup. Používá se k akceleraci výpočtů externího klasického grafického procesoru (GPU), který celý proces zpravidla řídí. Akcelerátorů může být pohromadě více (2, 4, 8); dnes nejsilnější modul/rack stojí asi 12 000 dolarů, spotřebuje přibližně 800 wattů, a poskytuje výkon až dvou TeraFLOPS. Podobné funkce či výkony poskytuje i konkurenční systém Firestream od AMD, který navíc umí počítat v oboru desetinných čísel dokonce s dvojnásobnou přesností.


VÝPOČETNÍ VÝKON LIDSTVA

Momentálně je devět velkých amerických datacenter propojeno do formy tzv. TeraGridu (superpočítač, propojený přes rychlý internet, www.teragrid.org); i zde se očekává brzké překonání petafl opové hranice. Celkový instalovaný výpočetní výkon lidstva se nyní pohybuje kolem osmi PetaFLOPS a bude se asi každých 18 až 24 měsíců zdvojnásobovat. Většina běžného softwaru pro domácí počítače nedokáže ani dnes plně využít schopností systémů s více procesorovými jádry. Výkon pro realistické modelování mozku krysy, resp. kočky, odpovídá přibližně 1 resp. 10 PetaFLOPS, což může být dostupné někdy mezi roky 2010–2015.

LIDSKÝ MOZEK V POČÍTAČI

V několika příštích letech má být na stavebnicovém systému Blue Gene spuštěn významný švýcarský projekt Blue Brain, jehož cílem je nejdříve v základních rysech simulovat procesy v lidském mozku. 8000 procesorů v první fázi zde má přibližně představovat 10 000 „modelových“ neuronů mozkové kůry a instalovaný výkon má být 22,4 TeraFLOPS, což v praxi odpovídá spíše jen poměrně malé části mozku savce. Potřebný výkon pro realistické modelování mozku krysy, resp. kočky, přitom odpovídá veličině kolem 1, resp. 10 PetaFLOPS (10 na 15 tou resp. 16 tou FLOPS), což může být dostupné někdy mezi roky 2010–2015. Později má projekt směřovat i k tzv. uploadu lidského vědomí, tj. k mapování a ukládání co nejpřesnějšího stavu reálného lidského mozku do počítače, včetně 3D struktury a do úrovně molekul. Zde už bude ale třeba disponovat výkonem ještě 100–1000× větším, což si dnes moc neumíme představit (řádově 1018 Flops (1 ExaFlops), ale tento potenciál může být k dispozici kolem r. 2020–2025. Bezprostředním účelem však zde je rámcově simulovat různé kognitivní procesy a psychiatrické poruchy.

Nejčtenější