Hlavní navigace

Povídky paralelistické: Linux

Michal Burda 14. 8. 2003

O hrdinném tažení tučňáků, kteří spojivše své síly vytáhli do boje proti komerčním paralelním systémům. Podrobněji se podíváme na systém Beowulf, zmíníme výhody a nevýhody linuxových klastrů a v závěru se zaměříme na dostupný hardware pro klastery.

Beowulf

První klastr osobních počítačů použitý v oblasti HPC (High Performance Computing) vznikl roku 1994 ve výzkumném centru CESDIS pracujícím pro NASA. Thomas Sterling a Donald Becker tehdy propojili šestnáct počítačů s procesory Intel 486DX4 pomocí lokální sítě Ethernet do jediného výpočetního systému. Vzniklý paralelní systém nazvali Beowulf. Systém měl velký úspěch a jeho název se v dnešní době stal synonymem pro levné klastry postavené z komponent používaných v osobních počítačích.

Do doby vzniku Beowulfu bylo zaznamenáno mnoho pokusů o sestavení architektur založených na mikroprocesorech, ale ty vždy potřebovaly nějaký speciální hardwarový propojovací prostředek. Výzkumy v tomto směru nalezly mnoho nových myšlenek a nápadů, ale pokaždé vedly ke strojům, které se mezi ostatními nevyjímaly, a tak po čase upadly v zapomnění.

Beowulf byl propojen 10 Mbit/s Ether­netem. Jeho procesory ale byly příliš rychlé pro jediný Ethernet a switche byly tenkrát ještě příliš drahé. Aby byl systém vyvážený, přepsal tehdy Don Becker ovladače Ethernetu pro Linux, aby mohl být síťový provoz rozložen na dva nebo více Ethernetů zároveň (channel bonding). Použití obyčejných síťových komponent k propojení procesorů učinilo systém Beowulf jedinečným.

Úspěch Beowulfu tkvěl také v jeho kompatibilitě s budoucími verzemi. Díky robustnosti Linuxu, ostatního GNU softwaru a standardizaci předávání zpráv pomocí knihoven PVM a MPI měli programátoři jistotu, že jejich kód bude přenositelný na nové verze Beowulfích klastrů bez ohledu na to, kdo bude výrobcem procesorů nebo sítí.

Z prvotního klastru nazvaného Beowulf se zrodil tzv. Beowulf Project, který zastřešuje různé aktivity týkající se sestavování klastrů. Poskytuje svobodný software pro paralelní počítání na bázi Linuxu. Distribuce Beowulfu zahrnuje různá programátorská prostředí a knihovny. K dispozici je PVM, MPI a BSP. Implementována je meziprocesorová komunikace ve stylu Unix System-V a p-threads. Mnoho úsilí bylo věnováno zlepšení síťového subsystému jádra stejně tak jako podpory rychlých síťových zařízení.

Výhody a nevýhody linuxovských klastrů

Tak tedy nejdříve výhody:

  • Každý stroj klastru může být kompletním systémem použitelným pro široké spektrum aplikací. Tedy v okamžicích, kdy není potřeba paralelního počítání, se může chovat jako obyčejná linuxovská stanice.
  • Klastr je sestaven z komponent, které našly širokou základnu na trhu – jsou proto výrazně levnější než specializovaný hardware superpočítačů.
  • Klastr se může proměnit ve velmi rozsáhlý systém. S relativně malým úsilím lze propojit stovky nebo dokonce tisíce strojů.
  • Nahradit zkažený stroj v klastru je naprosto triviální v porovnání s opravením multiprocesorového počítače.

Nevýhody:

  • Až na nějaké výjimky není síťový hardware přizpůsoben pro nasazení v paralelních strojích. Latence je velmi vysoká a propustnost zase velice nízká v porovnání s multiproceso­rovými stroji. Například latence (latency) multiprocesorů není obvykle vyšší než několik mikrosekund narozdíl od stovek až tisíců mikrosekund pro klastry. Propustnost (bandwith) se u multiprocesorů pohybuje často nad 100 MB/s; ačkoliv nejvýkonnější síťový hardware (např. Gigabit Ethernet) poskytuje srovnatelnou rychlost, často používané síťové komponenty klastrů jsou 10 až 100krát pomalejší.
  • Dalším problémem je správa klastrů. Každý uzel je zodpovědný za chod své vlastní kopie jádra OS – uzly jsou obecně na úrovni jádra nezávislé. Z toho pramení problémy při instalaci a konfiguraci uzlů. (Opakovat tutéž instalační proceduru na stovce počítačů je neúnosné.)
  • Dosud existuje málo nástrojů, které by s klastrem pracovaly jako s jednolitým systémem. Například obyčejný příkaz ps zobrazí jen procesy běžící na aktuálním uzlu, ne všechny procesy běžící na celém klastru linuxovských strojů.

Hardware k propojení strojů do klastru

Následující tabulka shrnuje některé možné prvky sítě a jejich základní parametry. Poznámky k sloupcům:

  • Podpora Linuxu – jestliže chceme vytvářet klastr, musíme hledět v první řadě na to, aby veškerý použitý hardware byl touto platformou podporován
  • Maximální propustnost (maximum bandwith) – číslo, o které se každý nejvíce zajímá :-). Je to hodnota udávající, jaké množství informací lze zařízením protlačit.
  • Minimální latence – číslo, o které by se každý nejvíce zajímat měl (alespoň co se týče klastrů). Latencí lze chápat časový údaj potřebný k odeslání nejmenší zprávy. Cítíme, že latence bude hrát v paralelních strojích významnou roli – zprávy mezi procesory obvykle budou malé, ale bude jich hodně, a tak je třeba, aby byly odbaveny v co nejkratším čase.
  • Rozhraní – interface, jakým se síťové zařízení připojuje k počítači
Tabulka č. 464
Název Podpora v Linuxu Max. propustnost Min. latence Rozhraní
Ethernet ovladače v jádře 10 Mb/s 100 mikrosekund PCI
Fast Ethernet ovladače v jádře 100 Mb/s 80 mikrosekund PCI
Gigabit Ethernet ovladače v jádře 1000 Mb/s ? PCI
Myrinet knihovna 1280 Mb/s 9 mikrosekund PCI
Parastation HAL nebo knihovna socketů 125 Mb/s 2 mikrosekundy PCI
PLIP (Parallel Line Interface Protocol, LapLinkový kabel) ovladače v jádře 1,2 Mb/s ? (nic slavného to nebude :-) paralelní port (SPP)
SLIP ovladače v jádře 0,1 Mb/s 1000 mikrosekund RS232C

Cenové srovnání jednotlivých technologií orientačně zobrazuje následující graf: (Graf byl tvořen z orientační ceny na jeden stroj. Při vybavování desítek strojů stejnou technologií se rozdíly v celkové ceně ještě více prohlubují.)

Cenové srovnání síťových technologií

Ethernet

Síťový standard posledních let. Switchované propojení poskytuje slušný výkon za více než přijatelnou cenu. Pro rozumné paralelní počítání se však příliš nehodí.

Fast Ethernet

Pro využití v klastrech je již vhodnější. NASA experimentovala se zvýšením výkonu zavedením několikanásobného Fast Ethernetu.

Gigabit Ethernet

Ukazuje se, že Gigabit Ethernet jednou bude levnou masovou záležitostí. Doposud je však veškerý hardware stále ještě dost drahý.

Myrinet

Myrinet je LAN (Local Area Network) navržená také jako system area network (SAN), tedy síť počítačů propojená do paralelního systému. LAN a SAN verze používají různá fyzická média o mírně rozdílných charakteristikách. Pro účely klastrů se lépe hodí verze SAN. V současné době je Myrinet v propojování počítačů do klastrů favoritem.

Firma Myricom, tvůrce Myrinetu, v současnosti dodává kromě samotných PCI karet komplexní síťové vybavení: Myrinet switche (až 16 portů) nebo Myrinet „Network in a Box“, což je zařízení samostatně realizující sesíťování až 128 uzlů a až deseti tisíců počítačů, pokud použijeme těchto zařízení několik. Myricom uvádí, že dodávaný software se postará o automatickou konfiguraci sítě.

Parastation

ParaStation je univerzitní projekt, který si dal za cíl vytvořit PVM-kompatibilní nízko latentní síť. Parastation je vyráběna ve verzi PCI v kooperaci se společností Hitex.

PLIP a SLIP

Vlastně za cenu obyčejného LapLinkového kabelu dovoluje PLIP (Parallel Line Interface Protocol) propojit dva linuxové počítače mezi sebou s využitím standardního softwaru na bázi socketů. S ohledem na propustnost a latenci není PLIP seriózní síťovou technologií. Nicméně takřka nulové náklady a softwarová kompatibilita jsou užitečné vlastnosti alespoň pro hraní.

Podobně je tomu i u protokolu SLIP (Serial Line Interface Protocol), který, i když byl původně vymyšlen za jiným účelem, dovoluje zřídit socketovou komunikaci přes standardní sériový RS232 port.

Odkazy:

Myricom
Nejrychlejší evropský linuxový klastr Parnass 2
Beowulf
Beowulf Underground
Linux Cluster HOWTO
Beowulf HOWTO

Našli jste v článku chybu?

20. 8. 2003 15:35

Honza Taus (neregistrovaný)

2 perlicky:
# Na matfyzu bezne vyucujici pisou na tabuli "hašování".
# V rustine je zvykem anglicke nazvy zapisovat prave foneticky.



19. 8. 2003 8:48

Pichi (neregistrovaný)

A co takhle místo "kešování" změnit celou větu? Využití cache, uložení do cache, přenos přes cache. Stejný postup používají ti lepší z lokalizátorů. Například, než aby na to zmastili v OpenOfficu, tak na to použijí aplikaci OpenOffice.org.

Podnikatel.cz: Hledáte investora? Neunáhlete se

Hledáte investora? Neunáhlete se

Podnikatel.cz: Alza.cz má StreetShop. Mall.cz více výdejních míst

Alza.cz má StreetShop. Mall.cz více výdejních míst

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

Vitalia.cz: Manželka je bio, ale na sex moc není

Manželka je bio, ale na sex moc není

Vitalia.cz: Často čůrá a má žízeň? Příznaky dětské cukrovky

Často čůrá a má žízeň? Příznaky dětské cukrovky

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?