O superpočítačích - tutoriál

Z MetaCentrum
Přejít na: navigace, hledání
Info red.png Tomuto dokumentu něco chybí!
Chybí prolinkování v rámci metawiki, ale i na externí dokumentaci.
Pokud jste dokument opravili, odstraňte řádek se šablonou TODO z tohoto dokumentu.

(English version)

Tato stránka je určena pro nové uživatele MetaCentra. Dozvíte se zde, jaké jsou principy fungování superpočítačů, výpočetních clusterů a gridů, a za jakých předpokladů má tedy smysl využívat zdroje MetaCentra.

K čemu jsou superpočítače dobré a k čemu ne

Google datacenter2.jpg

Superpočítače jsou počítače, jen výkonnější než "normální" počítače. Pro jejich správné využití si je třeba uvědomit, proč jsou výkonnější.

Jeden druh superpočítačů, tzv. vektorové superpočítače, má procesory, které dokážou některé operace provádět s vektory (n-ticemi) čísel stejnou rychlostí, jakou běžné procesory pracují s jednotlivými čísly. Nicméně na jiné než vektorové operace (například kompilace programu) bývají jejich procesory naopak mnohem pomalejší než běžné procesory. Proto vektorový superpočítač v MetaCentru zatím nemáme.

Obecně platí, že superpočítače nemusí mít rychlejší procesory, než jsou dostupné v osobních počítačích či jednoduchých serverech, mají však těch procesorů opravdu hodně. To má zásadní vliv na to, jaké problémy superpočítače mohou spočítat rychleji než běžné počítače, a které ne.

Když jeden dělník udělá práci za 2 hodiny, pak 100 dělníků ...

Přibližme si to na příkladu ze života. Představte si obrovský lán obilí a jednoho žence s kosou, který ten lán poseká, dejme tomu, za dva týdny. Když místo jednoho žence nasadíte dva, posekají ten lán za týden. Když jich bude 14, posekají ho za den. Když jich bude 140, posekají ho za desetinu pracovního dne, řekněme za hodinu. Takhle se to dá zvyšovat po určitou mez, možná že 8400 ženců ho poseká za minutu. Sekání obilí je tzv. dobře paralelizovatelná úloha, čím víc dělníků nasadíte, tím dříve bude hotová.

Představte si naopak jedny hodinky, které potřebují opravit. Jeden hodinář je opraví za deset hodin, ale dva hodináři taky za deset hodin, a 8000 hodinářů taky za deset hodin, protože pracovat s jedněmi hodinkami může vždycky jenom jeden a ostatní čekají. Opravování hodinek je neparalelizovatelná úloha.

Superpočítače vám nedávají jednoho dělníka (ehm, procesor), který pracuje výrazně rychleji než jiní dělníci (spíš naopak). Ale superpočítače vám dávají velkou partu dobře sehraných dělníků. Záleží na vás, jakou práci jim zadáte, jestli sekání obilí, nebo opravu hodinek, jestli budou všichni usilovně pracovat, nebo jich většina bude nečinně čekat.

Proto má smysl superpočítače použít, pokud máte výpočet, který se dá řešit souběžnou prací mnoha procesorů. Pokud máte výpočet, kde každý krok závisí na výsledku předchozího kroku, nelze využít víc než jeden procesor a spuštěním na superpočítači jeho urychlení nedosáhnete.

Pokud tedy máte výpočetní úlohy, které lze rozdělit na souběžně (paralelně) zpracovávané části, vítejte v MetaCentru !

Dlouho běžící výpočty

I pokud nemáte paralelizovatelnou úlohu, stále vám může MetaCentrum nabídnout prostředí pro velmi dlouho běžící úlohy. Některé výpočty mohou trvat celé měsíce, a na osobním počítači je velká pravděpodobnost, že mu za takovou dobu vypadne přívod elektřiny, zhroutí se operační systém nebo ho někdo příliš aktivní vypne.

V MetaCentru máte k dispozici stroje, které beží nepřetržitě velice dlouhou dobu, jejich napájení je zálohováno akumulátory i motorgenerátorem na naftu, a jsou umístěny na střeženém výpočetním sále s klimatizací, kde je nikdo nemůže rušit a i v horkém létě se nepřehřejí.

Pokud tedy máte výpočetní úlohy běžící celé měsíce, také vítejte v MetaCentru!

Clustery a Gridy

Google datacentrum1.jpg

Na tomto místě je vhodné představit i blízké příbuzné superpočítačů, a to clustery a gridy. Ty totiž v MetaCentru také používáme.

Cluster je mnoho víceméně stejných počítačů spojených dohromady komunikační sítí. Grid je mnoho počítačů patřících různým organizacím propojených volně přes Internet, a počítače v gridu nemusí být stejné.

Clustery a gridy poskytují vysoký výpočetní výkon na stejném principu jako superpočítače. Se superpočítači mají společné to, že také nabízí mnoho procesorů. Liší se však způsobem jejich propojení. Zatímco v superpočítači jsou procesory propojeny velmi rychlou vnitřní sítí s minimálním zpožděním a všechny procesory mají přístup do společné paměti, v clusterech a gridech používáme běžný Internet a IP protokol a paměť není sdílená. Výhodou clusterů a gridů oproti superpočítačům je jejich relativně nižší cena, takže za stejné peníze je možné pořídit výrazně více procesorů.

V případě clusterů však ještě můžeme propojit každý procesor s každým (vhodnou volbou přepínané sítě), případně můžeme použít speciální vysokorychlostní síť s nízkým zpožděním (např. Myrinet či nověji Infiniband). U Gridů jsme odkázaní na rozsáhlé sítě, jejichž celková propustnost je výrazně menší a zpoždění naopak mnohonásobně vyšší. Více informací....

Vzrůst zpoždění se promítne na režii paralelizované úlohy. Připomeneme si příklad se ženci, při naší jednoduché úvaze jsme nepočítali s časem, který budou potřebovat na to, aby se každý postavili na to své správné místo na poli. Snadno se pak může stát, že doba, kterou jim trvá rozmístění, je mnohem větší než vlastní práce – to by nepochybně byl případ oněch 8400 ženců, kteří mohou posekat lán za minutu, ale hodinu jim bude trvat, než najdou své místo na poli.

Paralelní superpočítače své žence (úlohy) rozmisťují mnohem rychleji než clustery a ty to zase zvládají mnohem rychleji než Gridy. Úlohy si také v superpočítači mohou mezi sebou vyměňovat zprávy mnohem rychleji a častěji. Přes toto omezení clustery i Gridy představuji velmi efektivní (ekonomicky i výkonnostně) variantu specializovaných superpočítačů a je možné je použít k řešení i velmi rozsáhlých paralelních úloh.

V MetaCentru máte k dispozici jak klasické superpočítače s mnoha procesory a sdílenou pamětí, tak clustery složené ze stovek dvou- a čtyřprocesorových strojů, a poskytujeme přístup i do mezinárodních gridů, kde jsou k dispozici obrovská množství procesorů. Ovšem v životě je vždy něco za něco, a v tomto případě se vzrůstem počtu dostupných procesorů od superpočítačů ke gridům vzrůstá i obtížnost práce s nimi. To je dobré mít na paměti.

Netřeba se však bát, náš zkušený tým vám vždy rád poradí ;-) Můžete začít používáním dvouprocesorových strojů a postupně přecházet k pokročilejším konfiguracím. Aktuální seznam dostupných strojů je v kategorii stroje.

Pokud máte dojem, že služby MetaCentra jsou to, co hledáte, pokračujte prosím na stránku o tom, jak začít.