Užitečné tipy

Sítě pro superpočítače

Pin
Send
Share
Send
Send


Distribuovaná výpočetní technika je jedním ze způsobů, jak přispět k některým zajímavým projektům. Když je počítač nečinný, sdílejte jeho sílu s projektem SETI, který hledá mimozemské civilizace. V tomto případě bude váš počítač analyzovat satelitní data a informace přijaté z dalekohledů.

Tento článek vám pomůže připojit se k projektům (například SETI), které se týkají distribuovaného zpracování dat. Tento článek vás také seznamuje s distribuovaným výpočetním softwarem BOINC.

Potřebujete počítač. Pokud ji již máte, přejděte do části Zdroje a odkazy a nainstalujte software BOINC. Pokud vás projekt SETI nezajímá, níže naleznete seznam dalších projektů.

Pokud je hodně peněz

Odděleně si všimneme extrémně drahé, ale produktivní řady procesorů na soketu Intel Xeon LGA1567.
Špičkovým procesorem této řady je E7-8870 s deseti jádry 2,4 GHz. Jeho cena je 4616 $. Pro takové CPU se HP a Supermicro uvolňují! osm procesorů! podvozek serveru. Osm 10jádrových procesorů Xeon E7-8870 2,4 GHz s technologií HyperThreading podporuje 8 * 10 * 2 = 160 vláken, která se ve Správci úloh systému Windows zobrazuje jako sto šedesát grafů zatížení procesoru, matice 10x16.

Aby se osazovalo osm procesorů, nejsou okamžitě umístěny na základní desku, ale na samostatné desky, které přiléhají k základní desce. Na fotografii jsou čtyři základní desky s procesory nainstalovanými v základní desce (vždy po dvou). Toto je řešení Supermicro. V řešení HP má každý procesor svou vlastní desku. Náklady na řešení HP jsou dva až tři miliony, v závislosti na počtu procesorů, paměti a dalších. Podvozek Supermicro stojí 10 000 $, což je atraktivnější. Kromě toho může Supermicro do portů PCI-Express x16 vložit čtyři rozšiřující karty s koprocesorem (mimochodem, stále existuje prostor pro adaptér Infiniband pro sestavení jejich clusteru), ale pouze dvě v HP. Pro vytvoření superpočítače je tedy osmiprocesorová platforma od Supermicro atraktivnější. Následující fotografie z výstavy ukazuje kompletní superpočítač se čtyřmi deskami GPU.

Je to však velmi drahé.

Komunikační sítě

Účinnost superpočítače v mnoha aplikacích je do značné míry určována profilem práce s pamětí a sítí. Profil práce s pamětí je obvykle popsán časoprostorovou lokalizací hovorů - velikostí hovorů a rozptylem jejich adres a profil práce se sítí je popsán distribucí uzlů, se kterými se zprávy vyměňují, směnným kurzem a velikostí zpráv.

Výkon superpočítače u úkolů s intenzivní výměnou dat mezi uzly (modelovací problémy, problémy v grafech a nepravidelných mřížkách, výpočty pomocí řídkých matic) je určován hlavně výkonem sítě, takže použití konvenčních komerčních řešení (například Gigabit Ethernet) je extrémně neefektivní. Skutečná síť je však vždy kompromisním řešením, při jehož vývoji jsou stanoveny priority mezi cenou, výkonem, spotřebou energie a dalšími požadavky, které jsou do značné míry protichůdné: pokusy o zlepšení jedné vlastnosti mohou vést ke zhoršení druhé.

Komunikační síť se skládá z uzlů, z nichž každý má síťový adaptér připojený k jednomu nebo více směrovačům, které jsou zase propojeny vysokorychlostními komunikačními kanály (linkami).

Obr. 1. Topologie 4D-torus (3x3x3x3)

Síťová struktura, která určuje, jak přesně jsou uzly systému vzájemně propojeny, je určena topologií sítě (obvykle mříž, torus nebo tlustý strom) a sadou strukturálních parametrů: počet měření, počet úrovní stromu, rozměry stran torusu, počet přepínačů na úrovni stromů, počet síťových uzlů porty na routerech atd. Obrázek 1 ukazuje příklad topologie čtyřdimenzionálního torusu 3x3x3x3.

Architektura směrovače určuje strukturu a funkčnost bloků odpovědných za přenos dat mezi síťovými uzly, jakož i nezbytné vlastnosti protokolů kanálů, sítí a transportních vrstev, včetně směrování, arbitráže a algoritmů řízení toku dat. Architektura síťového adaptéru určuje strukturu a funkčnost bloků zodpovědných za interakci mezi procesorem, pamětí a sítí, zejména MPI operace jsou podporovány na této úrovni, RDMA (Remote Direct Memory Access - přímý přístup do paměti jiného uzlu bez účasti jeho procesoru), potvrzení o přijetí paketu jiným uzlem, zpracování výjimečných situací, agregace paketů.

K posouzení výkonu komunikační sítě se nejčastěji používají tři charakteristiky: šířka pásma (množství dat přenesených za jednotku času), komunikační zpoždění (doba přenosu dat po síti), tempo zprávy (obvykle berou zvlášť v úvahu rychlost doručení při odesílání, přijímání a přenosu paketů mezi interními jednotkami routeru).

Pro úplnost se tyto charakteristiky měří na různých typech provozu, například když jeden uzel posílá data všem ostatním, nebo naopak všechny uzly posílají data do jednoho, nebo když všechny uzly posílají data do náhodných cílů. Na moderní sítě jsou kladeny požadavky na funkčnost:

  • efektivní implementace knihovny Shmem jako možnosti podpory jednosměrného komunikačního modelu a GASNet, na kterém je implementace mnoha jazyků PGAS založena,
  • efektivní implementace MPI (obvykle to vyžaduje účinnou podporu mechanismu kruhových vyrovnávacích pamětí a potvrzení pro přijaté pakety),
  • efektivní podpora pro kolektivní operace: vysílání (posílání stejných dat současně na mnoho uzlů), redukce (použití binární operace, například přidání do sady hodnot přijatých z různých uzlů), distribuce prvků pole přes sadu uzlů (rozptyl), sestavení pole prvků, umístěné na různých uzlech (shromáždit),
  • efektivní podpora synchronizačních operací mezi uzly (alespoň synchronizace bariér), efektivní interakce se sítí velkého počtu procesů v uzlu a zajištění spolehlivého doručování paketů.

Důležitá je také účinná podpora práce adaptéru s hostitelskou pamětí přímo bez zapojení procesoru.

Zahraniční vysokorychlostní sítě

Všechny komunikační sítě lze rozdělit do dvou tříd: komerční a zakázková, vyvinutá jako součást počítačových systémů a dostupná pouze s nimi. Mezi komerční sítě je trh rozdělen mezi InfiniBand a Ethernet - v seznamu Top500 (červen 2011) 42% systémů používá InfiniBand a 45% používá Gigabit Ethernet. Současně, pokud je InfiniBand zaměřen na segment vysoce výkonných systémů určených pro komplexní výpočetní úlohy s velkým počtem komunikací, pak Ethernet tradičně zaujímá místo, kde výměna dat mezi uzly není kritická. V superpočítačích je síť Ethernet kvůli své nízké ceně a dostupnosti často používána jako síť pomocných služeb, aby se snížilo rušení přenosu řízení a přenosu úkolů.

Síť Inifiniband byla zpočátku zaměřena na konfigurace s topologií stromů Fat, ale nejnovější verze přepínačů a směrovačů (primárně vyráběných společností QLogic) podporují vícerozměrnou topologii torusu (pomocí Torus-2QoS Routing Engine), jakož i hybridní topologii z 3D torusu a tlustý strom. Superpočítač Sandia RedSky, sestavený začátkem roku 2010 a nyní na 16. místě v Top500, je jedním z prvních velkých projektů se sítí InfiniBand a topologií 3D torus (6x6x8). Velká pozornost je nyní věnována také efektivní podpoře operací RDMA a knihovny Shmem (zejména Qlogic Shmem).

Popularita InfiniBandu je způsobena relativně nízkými náklady, vyvinutým ekosystémem softwaru a účinnou podporou MPI. Avšak InfiniBand má své nevýhody: nízká rychlost doručování zpráv (40 milionů zpráv za sekundu v nejnovějších řešeních od Mellanox), nízká přenosová účinnost krátkých paketů, relativně velké zpoždění (více než 1,5 μs pro přenosy z uzlu do uzlu a další 0,1– 0,5 μs na tranzitní uzel), slabá podpora toroidní topologie. Obecně lze tvrdit, že InfiniBand je produktem pro hromadného uživatele a během jeho vývoje došlo ke kompromisu mezi efektivitou a univerzálností.

Můžeme také poznamenat síť Extoll, která se připravuje na uvedení na trh - rozvoj univerzity v Heidelbergu pod vedením profesora Ulricha Brueninga. Hlavním důrazem na rozvoj této sítě je minimalizovat zpoždění a zvýšit rychlost doručení v jednosměrné komunikaci. Plánuje se, že Extoll bude mít topologii 3D torusu a bude používat optické spoje s šířkou pásma 10 Gb / s na pruh (kanál přenosu sériových dat v rámci linky) a šířkou 12 pruhů na odkaz. Nyní existují prototypy sítě Extoll na FPGA: R1 - založené na Virtex4, R2 Ventoux - dvou uzlové rozvržení založené na Virtex6. Jednosměrná šířka pásma na odkaz je 600 MB / s (pro R1). Podporovány budou také dvě rozhraní (HyperTransport 3.0 a PCI Express gen3) s procesorem, které umožní integraci této sítě do platforem Intel a AMD. Extoll podporuje několik způsobů uspořádání jednosměrných záznamů, vlastní MMU (Unit Management Unit, blok překladu virtuálních adres na fyzické adresy) a atomové operace.

Na rozdíl od komerčních sítí zaujímají zakázkové sítě mnohem menší podíl na trhu, používají se však v nejvýkonnějších superpočítačích od společností Cray, IBM, SGI, Fujitsu, NEC a Bull. Při navrhování vlastních sítí mají vývojáři větší svobodu a snaží se používat progresivnější přístupy z důvodu nižší důležitosti přitažlivosti finálního produktu pro trh, což řeší především problém získání maximálního výkonu na konkrétní třídě úkolů.

Počítačový superpočítač K používá proprietární komunikační síť Tofu (TOrus FUsion), což je škálovatelný 3D torus, jehož uzly obsahují skupiny 12 uzlů (skupiny uzlů jsou propojeny 12 sítěmi s 3D torusem a každý uzel z této skupiny má svůj vlastní výstup) 3D síť torusů). Uzly v každé skupině jsou propojeny 3D torusem se stranami 2x3x4 bez duplicitních odkazů, což je ekvivalentní 2D torusu se stranami 3x4 (takže dostaneme 5D torus s pevnými dvěma rozměry). Uzel sítě Tofu má tedy 10 spojení s jednosměrnou propustností 40 Gb / s. V hardwaru je podporována bariérová synchronizace uzlů a redukce (celé a plovoucí místo).

Hlavním cílem vývoje superpočítače Tianhe-1A bylo dosáhnout vysoké energetické účinnosti, vývoj vlastního procesoru a sítě nadřazené Qini InfiniBand. Superpočítač se skládá z 7168 výpočetních uzlů spojených sítí Archa vlastního designu s tlustou topologií stromů. Síť je postavena ze 16 portových směrovačů, jednosměrná šířka pásma - 8 GB / s, zpoždění - 1,57 μs. Podporovány operace RDMA a optimalizovány hromadné operace.

Klasickými představiteli systémů využívajících toroidní topologii ke kombinování výpočetních uzlů jsou systémy pro řadu IBM Blue Gene, z nichž první dvě generace - Blue Gene / L (2004) a Blue Gene / P (2007) - používaly topologii 3D torusu. Síť v Blue Gene / P má relativně slabá spojení s jednostrannou šířkou pásma 0,425 GB / s, což je řádově nižší než šířka pásma jeho současného spojení InfiniBand QDR, hardwarová podpora synchronizace bariér a kolektivních operací (na samostatných stromových sítích) však umožňuje dobrou škálovatelnost na skutečné aplikace. Kromě toho jsou všechna rozhraní a směrovací jednotky integrovány do mikroprocesoru BPC (Blue Gene / P Chip), což výrazně snižuje zpoždění přenosu zpráv. Komunikační síť nové generace Blue Gene / Q má topologii 5D-tor a na rozdíl od svých předchůdců nemá oddělené sítě pro synchronizaci bariér a kolektivní operace. Čip Blue Gene / Q se poprvé stal multi-core-multi-thread - čtyři hardwarové vlákna na jádro se 16 jádry, což umožňuje oslabení síťových požadavků a zajištění tolerance zpoždění. Propustnost propojení byla zvýšena na 2 GB / s, ale ve srovnání s Cray Gemini nebo Extoll je stále malá. Nízký výkon v těchto systémech je vyrovnán velkým rozměrem torusu (velký počet odkazů) a v důsledku toho malým průměrem sítě (podstatně menší než průměr sítí s topologií 3D torusu se stejným počtem uzlů). Dostupné zdroje hlásí vytvoření dvou superpočítačů Blue Gene / Q transpetaflops: Sequoia s výkonem 20 PFLOPS a Mira - 10 PFLOPS. Můžeme dojít k závěru, že Blue Gene / Q je zaměřen na úkoly, které budou používat desítky a stovky tisíc výpočetních uzlů se síťovým provozem typu „all to all“.

Dalším přívržencem přístupu k budování komunikačních sítí s toroidní topologií je Cray, který i nadále používá topologii 3D tor, přičemž zvyšuje propustnost a počet odkazů spojujících sousední uzly. Současná generace toroidní sítě Cray je síť Cray Gemini. Jeden router Gemini odpovídá dvěma směrovačům předchozí generace SeaStar2 +, tj. Ve skutečnosti dvěma síťovým uzlům, proto se v Gemini místo 6 odkazů 10 používá k připojení k sousedním uzlům (2 slouží k propojení dvou adaptérů k sobě).

Komponenty (síťové adaptéry, přepínače, směrovače) sítě pro superpočítač jsou na rozdíl od procesorů často dražší a přístup k nim je omezenější. Například nyní přepínače pro síť InfiniBand, která je hlavní obchodní sítí pro superpočítače, vyrábějí pouze dvě společnosti, z nichž obě jsou ovládány Spojenými státy. To znamená, že při neexistenci vlastního vývoje v oblasti vysokorychlostních sítí lze snadno vytvořit kontrolu nad moderními superpočítači v jakékoli zemi kromě USA, Číny nebo Japonska.

Domácí sítě

Rozvoj komunikačních sítí pro použití v superpočítačích provádí řada domácích organizací: RFNC VNIIEF (o tomto vývoji v otevřených zdrojích je velmi málo informací), Institut pro softwarové systémy Ruské akademie věd a RSK SKIF, IPM RAS a Výzkumný ústav Kvant (síť MVS-Express). ").

Komunikační síť 3D tor pro rusko-italský superpočítač SKIF-Aurora je kompletně postavena pomocí FPGA Altera Stratix IV, což vysvětluje poměrně malou šířku pásma na odkaz - 1,25 GB / s (zdroje FPGA jsou velmi omezené).

V síti MVS-Express se PCI Express 2.0 používá k integraci výpočetních uzlů a uzly jsou připojeny pomocí 24portových přepínačů. Síť má topologii blízkou stromu Fat. Síťový adaptér ve výpočetním uzlu má jeden port se šířkou 4 pruhy, v důsledku čehož jednostranný špičkový propustnost na propojení je 20 Gbit / s bez zohlednění režie kódování. Výhodou použití PCI Express v MVS-Express je efektivní podpora sdílené paměti s možností jednosměrné komunikace. Výsledkem je, že síť je vhodná pro implementaci knihovny Shmem a jazyků PGAS (UPC, CAF).

S podporou Ministerstva průmyslu a obchodu Ruské federace pracuje NICEVT OJSC na rozvoji komunikační sítě Angara s topologií 4D-tor, která se může stát základem pro vytváření domácích technologií pro rozvoj superpočítačů.

Síť „Angara“

Hlavní cíle rozvoje sítě Angara:

  • efektivní podpora jednosměrné komunikace (put / get) a jazyků PGAS (jako hlavního prostředku paralelního programování),
  • Efektivní podpora MPI
  • vydání vlastního krystalu (pro dosažení vysokých rychlostí přenosu dat a nízkých zpoždění),
  • adaptivní přenos paketů bezpečný při selhání,
  • efektivní práce s moderními procesory a chipsety.

V první fázi vývoje této sítě (2006) byla provedena simulace různých možností sítě a byla učiněna hlavní rozhodnutí o topologii, architektuře routeru, směrovacích algoritmech a arbitráži. Kromě toroidní topologie byly zvažovány i Cayleyovy sítě a „tlustý strom“. Čtyřdimenzionální torus byl vybrán kvůli jeho jednoduššímu směrování, dobré škálovatelnosti a vysoké konektivitě ve srovnání s menšími tori. Síťové modelování umožnilo podrobně studovat vliv různých parametrů síťové architektury na hlavní výkonové charakteristiky, porozumět vzorcům pro provoz úkolů s intenzivním nepravidelným přístupem k paměti. Jako výsledek byly vybrány optimální velikosti vyrovnávací paměti, počet virtuálních kanálů a byly analyzovány potenciální úzká místa.

V roce 2008 se objevil první prototyp routeru FPGA - síťové rozložení šesti uzlů na Virtex4 připojených k torusu 2x3, na kterém byla odladěna základní funkčnost routeru, byl vypracován přenos dat odolný vůči chybám, byly zapsány a odladěny knihovny ovladačů a nízkoúrovňové knihovny, byly přeneseny knihovny Shmem a MPI Nyní bylo spuštěno rozložení třetí generace, sestávající z devíti uzlů spojených v dvourozměrném torusu 3x3. Собран стенд с двумя узлами для тестирования новых разъемов и каналов передачи данных, предполагаемых к использованию с будущими кристаллами маршрутизатора ВКС. При разработке принципов работы сети ряд деталей был позаимствован из работ и , а также в том или ином виде из архитектур IBM Blue Gene и Cray SeaStar.

Сеть «Ангара» имеет топологию 4D-тор. Поддерживается детерминированная маршрутизация, сохраняющая порядок передачи пакетов и предотвращающая появление дедлоков (взаимных блокировок), а также адаптивная маршрутизация, позволяющая одновременно использовать множество путей между узлами и обходить перегруженные и вышедшие из строя участки сети. Zvláštní pozornost byla věnována podpoře kolektivních operací (vysílání a redukce) implementovaných pomocí virtuální podsítě s topologií stromu překrývajícího se na vícerozměrném torusu. Síť na hardwarové úrovni podporuje dva typy vzdálených zápisů, čtení a atomových operací (sčítání a výhradní OR). Schéma provádění vzdáleného čtení (odeslání žádosti a přijetí odpovědi) je znázorněno na Obr. 2 (dálkové nahrávání a atomové operace se provádějí podobně). V samostatném bloku je logika implementována pro agregaci zpráv přijatých ze sítě za účelem zvýšení podílu užitečných dat na transakci při přenosu přes rozhraní s hostitelem (hostitelem je most mezi procesorem a pamětí).

Obr. 2. Schéma dálkového čtení v síti Angara

Ve vrstvě datového spojení je podporován přenos paketů bezpečný proti selhání. Existuje také mechanismus pro obcházení neúspěšných komunikačních kanálů a uzlů opětovným sestavením směrovacích tabulek. K provádění různých servisních operací (zejména ke konfiguraci / přestavování směrovacích tabulek) ak provádění některých výpočtů se používá servisní procesor. Hostitelské rozhraní používá PCI Express.

Obr. 3. Struktura výpočetního uzlu se síťovým adaptérem / routerem „Angara“

Hlavní bloky routeru:

  • rozhraní s hostitelským systémem, odpovědné za příjem a odesílání paketů na hostitelském rozhraní,
  • vstřikovací a vyhazovací jednotka, která tvoří pakety, které mají být odeslány do sítě a analyzuje záhlaví paketů přicházejících ze sítě,
  • jednotka zpracování žádosti, která zpracovává pakety, které vyžadují informace z paměti hostitelského systému (například čtení nebo atomové operace),
  • síťová jednotka kolektivní operace, která zpracovává pakety spojené s kolektivními operacemi, zejména provádění redukčních operací, generování paketů požadavku na vysílání,
  • jednotka obsluhy služeb, která zpracovává pakety směřující do a ze servisního koprocesoru,
  • přepínač propojující vstupy z různých virtuálních kanálů a vstupy z injektorů s výstupy do různých směrů a vyhazovače,
  • komunikační kanály pro přenos a příjem dat v určitém směru,
  • jednotku pro přenos dat pro odesílání paketů v daném směru a přijímací a směrovací jednotku pro přijímání paketů a rozhodování o jejich budoucím osudu.

Interakce hostitele (kód spuštěný v centrálním procesoru) se směrovačem se provádí zápisem na paměťové adresy mapované na adresy zdrojových oblastí routeru (paměťově mapovaný vstup / výstup). To umožňuje aplikaci komunikovat se směrovačem bez účasti jádra, což snižuje režii odesílání paketů, protože přepnutí do kontextu jádra a zpět trvá více než sto hodinových cyklů. K odeslání paketů je použita jedna z paměťových oblastí, která je považována za prstencový buffer. Existuje také samostatný region pro provádění operací bez kopírování paměti-paměť (data jsou čtena z paměti a zapisována adaptérem komunikační sítě prostřednictvím operací DMA) a region s řídicími registry. Přístup k určitým zdrojům routeru je řízen jaderným modulem.

Aby se dosáhlo větší účinnosti, bylo rozhodnuto, že na jednom uzlu by měl být prováděn pouze jeden výpočetní úkol, což eliminovalo režijní náklady spojené s využíváním virtuální paměti, zamezilo rušení úkolů, zjednodušilo architekturu routeru z důvodu nedostatku plné MMU a zabránilo se všem jeho práce zpoždění komunikace, jakož i zjednodušení modelu zabezpečení sítě, eliminuje z toho zabezpečení procesů různých úkolů na jednom uzlu. Toto řešení neovlivnilo funkčnost sítě určené primárně pro velké úkoly (na rozdíl od InfiniBand, univerzální sítě pro úkoly různých velikostí). Podobné rozhodnutí bylo učiněno v IBM Blue Gene, kde je pro tuto sekci zavedeno omezení jedinečnosti úkolu.

Na hardwarové úrovni je podporována simultánní práce s routerem mnoha vláken / procesů jednoho úkolu - je implementována ve formě několika vstřikovacích kanálů dostupných pro použití v procesech prostřednictvím několika kruhových vyrovnávacích pamětí pro záznam paketů. Počet a velikost těchto vyrovnávacích pamětí se může dynamicky měnit.

Hlavním programovacím režimem pro síť Angara je společné používání MPI, OpenMP a Shmem, jakož i GASNet a UPC.

Po dokončení ověření a prototypování sítě se plánuje uvolnění čipu VLSI. Prototyp VLSI bude navržen pro ladění základních technologických řešení, technologický proces a experimentální ověření výsledků simulace. Prototyp bude obsahovat všechny základní funkce, pracovat s rozhraním PCI Express gen2 x16 a propojení s propustností 75 Gb / s.

Plánuje se propagace sítě Angara na trhu ve dvou verzích: jako samostatná komerční síť ve formě karet PCI Express pro klastrové systémy se standardními procesory a čipovými sadami a jako součást čtyřkanálového blade systému založeného na procesorech AMD vyvíjených na NICEVT.

Pin
Send
Share
Send
Send