Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Informace
Největší Switch na světe - SuperApple pro Virginii
21. listopadu 2003, 00.00 | Dr. Srinidhi Varadarajan se stal pravděpodobně největším "switcherem" na světe - místo strojů od firem Dell nebo IBM koupil 1100 počítačů Apple PowerMac G5, a postavil třetí nejrychlejší počítač na světě. V dnešním článku bych chtěl přiblížit co ho k tomu vedlo, jak celá akce vypadala a snad trochu i co to takový clusterový superpočítač je.
Dr. Srinidhi Varadarajan se stal pravděpodobně největším "switcherem" na světe - místo strojů od firem Dell nebo IBM koupil 1100 počítačů Apple PowerMac G5, dualní 2GHz modely. V dnešním článku bych chtěl přiblížit co ho k tomu vedlo, jak celá akce vypadala a snad trochu i co to takový clusterový superpočítač je.Hrozen uzlů neboli trocha nezbytné teorie
Clustery jako superpočítače začala vůbec poprvé používat NASA, když Donald Becker a Thomas Sterling v roce 1994 postavili první prototyp (16 procesorů 486-DX4 a upravený ethernet). Tenkrát to byla hodně levná a zajímavá alternativa ke koupi opravdového superpočítače, který stejně jako dnes stál spoustu peněz. Myšlenka je prostá: mnoho osobních počítačů (uzlů) zapojit do jednoho celku, vytvořit oslužné programy a superpočítač je na světě. Princip je stejný dodnes, pouze se tento trh trochu zprofesionalizoval a málokdo dnes skládá superpočítač sám, většinou se kupují hotová řešení na bázi 1U strojů v 19" racku opatřeným patřičnou infrastrukturou - má to ale pár háčků, ke kterým se dostanu později.
Technicky se skoro vždy jedná o běžně dostupný x86 hardware s nějakou instalací volně šiřitelného operačního systému (zpravidla linux) a opatřené síťovým rozhraním s nízkou latencí (odezva) a vysokou propustností - minimálně 1Gb/s ethernet, občas se alespoň část uzlů opatří něčím lepším, jako např. Myrinet (2 Gb/s) nebo InfiniBand (2,5, 10 a 30 Gb/s). Samozřejmou součástí infrastruktury je patřičný přepínač, datové a napájecí kabelové rozvody a chlazení.
Zajímavější snad bude, jak takový cluster funguje. Jedná se o takzvaný vysoce výkonný masivně paralelní počítač. Tedy jednotlivé uzly slouží jako otroci, kterým je přidělený balík práce od řídícího uzlu a po zpracování výsledky odevzdají - o tohle se stará střední vrstva, většinou nějaký dávkový systém (např. PBS). Řídící uzel také často bývá jediné rozhraní s okolním světem - zadání přijme, distribuje, posbírá a případně prezentuje výsledky. Tohle je celkem nuda, je to takové lepší mraveniště.
V případě, že je pro něco potřeba opravdu hodně výkonu, postup je jiný. Protože na rozdíl od jiných typů paralelních superpočítačů jednotlivé uzly nevidí do pamětí ostatních uzlů (síťové rozhraní na to nestačí), musí se o úkolu na kterém mají spolu pracovat nějak dorozumívat - posílají si po "síti" zprávy, pomocí kterých se synchronizují, posílají si nezbytné mezivýsledky, atp. Program, který společně řeší musí být vhodným způsobem napsán, rozbit na menší samostatně řešitelné celky (tzv. distribuovatelný). Bohužel ne všechny problémy jsou řešitelné tímto způsobem, stále je jich ale dost na to, aby to bylo zajímavé. Naštěstí stejný princip posílání zpráv používaly i starší paralelní stroje, takže obslužné knihovny (PVM - Parallel Virtual Machine a MPI - Message Passing Interface) se pouze převzaly.
1100 PowerMaců v košíku
Dr. Varadarajan z univerzity Virginia Tech (stránky projektu) se poprvé dozvěděl o PowerMacu G5 v den jejich uvedení, tedy 23. června, ne dříve, jak se spekulovalo. Den poté kontaktoval Apple, že by chtěl udělat "trochu větší objednávku" a když se ho opět o den později v Kalifornii ptali, jak dlouho je uživatelem Apple počítačů, popravdě odpověděl, že nikdy žádný nepoužíval. V Apple si vzali 24 hodin na rozmyšlenou a obchod odsouhlasili. Dr. Varadarajan se tak stal doslova největším switcherem na světe a perličkou snad i je, že počítače oficiálně objednal přes AppleStore. Mimochodem, i termín realizace celého projektu, v podstatě 5 měsíců, stojí za pozornost.
Že se jedná o skutečný switch podporuje i fakt, že před objednávkou měl nabídky od Dellu, IBM a AMD na 9 až 12 miliónů dolarů. Požadoval 64bitový procesor, alespoň 1 Gb ethernet a hlavně příznivou cenu. To je ale ten háček - clustrová řešeni jsou pořád celkem drahá. Například SGI, když jěště prodávala PC clustery, v podstatě požadovala zaplatit i "vzduch" ve skříni - rack byl dimenzován na 64 uzlů, vy si kupujete jenom 32 s tím, že v budoucnu dokoupíte další a skříň vám byla prodána i s nepotřebnou infrastrukturou. Dělá to pár set tisíc až nějaký ten milión navíc. 1U case taky není levný, zvláště když má chladit dva procesory (používají se typicky dual konfigurace) a síťovou kartu komunikující v řádech gigabitů za sekundu. Podobných problému by se našlo více.
Dalším z problémů je rychlost dodávky, za půl roku je superpočítač zastaralý. Na to právě doplatila nabídka IBM, která sice nabízela patřičný počet počítačů s PowerPC 970, ale se začátkem dodávky nejdříve v lednu 2004. Dr. Varadarajan to odmítl s tím, že nemůže začít projektovat superpočítač více než půl roku dopředu. Trochu tady odbočím - pokud vás napadlo, jaktože Apple mohl dodat dříve než IBM, je to tím, že IBM ještě PPC 970 ladí pro řadu Blade a budou to trochu jiné verze procesorů (mají lepší FPU.)
A do toho vstoupil Apple s dvěma 64bitovými procesory na 2 GHz, Unixovým operačním systémem, PCI-X sběrnicí, dodávkou do 3 měsíců (první stroje dorazily 5. září) a skvělou cenou 2999 dolarů za kus, tedy 3,3 miliónů dolarů za počítače, celkové náklady byly 5,2 miliónů. No nekupte to, i za cenu, že si to dáte dohromady sami.
Pár technických detailů
G5 má velmi zajímavý potenciál v pohyblivé řádové čárce, bez podrobností uvedu, že teoretický špičkový výkon dual konfigurace je 16 GFlops, což je více než dokáže moderní uzel počítačů CRAY. Úpravou časování PCI-X sběrnice se dosáhlo toho, že bylo možno osadit síťové rozhraní Mellanox InfiniBand 4X. Každá karta má dva porty a dokáže mít otevřených 150 000 spojení na uzel. Šířka pásma je 20 Gb/s a latence je méně než 10 mikrosekund - RAM to pořád není, ale už se to blíží.
Bylo samozřejmě nutné vybudovat potřebné zázemí. Byl přebudován starý počítačový sál, doplněná požární ochrana, 24 hodinová kontrola přístupu, natažená elektřina pro odběr 1,5 MW (!!!) z dvou trafostanic, doplněná o UPS a záložní dieselový generátor.
Samostatnou kapitolou bylo chlazení. Podle předběžných výpočtů vyšlo najevo, že by při klasické ventilaci bylo potřeba kompletně obměnit vzduch v místnosti 3x za minutu (oproti běžným 3x za hodinu) a i tak by mohly zůstat některá místa bez patřičného chlazení. Místo toho použili princip ledničky - dvouokruhové chlazení, kde je teplo odváděno chladivem z místnosti systémem měděných trubek.
G5 byly trochu upravené i softwarově, byla portována knihovna MV APICH pro paralelní komunikaci programů, ovladače InfiniBand karet a zmíněná změna časování PCI-X rozšířila reálnou propustnost sítě na 870 MB/s. Za zmínku taky stojí velmi inventivní přístup k řešení chyb v paměti. Totiž u velkých clusterů je problém, že takový počet RAM modulů na takové ploše má mnohem větší statistickou náchylnost k chybě, než za normálních podmínek. Zní to divně, ale už se začíná projevovat elektromagnetické záření slunce, magnetické poruchy země a jiné anomálie. Proto se většinou clustery stejně jako servery vybavují moduly RAM s ECC kontrolou, které tomu dokáží zábranit. Ale při běžné velikosti 1 GB RAM na uzel to jen dále velmi prodražuje celé řešení. Tým Dr. Varadarajana vyvinul software, který (pravděpodobně) pomocí vícenásobné iterace kontroluje výsledky výpočtu. Je to možná plýtvání strojovým časem, ale asi se to vyplatí.
Je vidět, že nic nebylo ponecháno náhodě, možná taky proto, že se část strojového času bude později pronajímat. Po skončení implementace projektu hodlá Virginia Tech uvolnit dokumentaci a použitý software, takže se dá očekávat více superpočítačů postavených na Apple řešení.
www.top500.org
Samozřejme se i u superpočítačů projevuje lidská soupeřivost a každý takto výkonný stroj se testuje a porovnává s ostatními. Celá přehlídka se nazývá TOP500, v rámci která jsou publikovány informace a pravidla pro objektivní měření výkonu superpočítačů. Počítače mají za úkol spočítat takzvaný LINPACK test, coz je soubor matematicky orientovaných úloh implementovaných v jazycích C a Fortran. Potom záleží pouze na vašem stroji a kvalitě vašich matematických knihoven.
SuperApple (oficiálně vlastně Terrascale project) poměrně šikovně využívá Altivecu a po prvotních optimalizacích se do seznamu 500 nejrychlejších počítačů na světě zařadil na 3. místo (2200 procesorů, 10,28 TFlops). To je napoprvé pro Apple výborné a před ním jsou pouze ASCI Q (8192 procesorů, 13,88 TFlops) a Earth-Simulator (5120 procesorů, 35,86 TFlops). Podle mně jsou to ale bestie za uplně jiné peníze a jiného kalibru - důležité je, že Apple předběhl všechny x86 clustery, které bývají opravdu dražší (4. místo Dell s 2500 procesory Xeon 3,06 GHz, 9,819 TFlops).