Skip to content

19. Přímé ortogonální a hyperkubické propojovací sítě paralelních počítačů (definice, vlastnosti, vnořování). (NI-PDP)


Definice grafu

  • Grafy, stupeň uzlu, regularita
    • Množina uzlů (= vrcholů) a hran grafu G: V(G), E(G)
    • Velikost grafu: N = |V(G)|
    • Sousední uzly u a v = hrana \langle u, v \rangle
    • Stupeň uzlu u: \deg_G(u) = \# počet sousedů uzlu u
    • Množina stupňů grafu G: \deg(G) = \{\deg_G(u); u \in V(G)\}
    • Maximální stupeň grafu G: \Delta(G) = \max(\deg(G))
    • Minimální stupeň grafu G: \delta(G) = \min(\deg(G))
    • k-regulární graf G: \Delta(G) = \delta(G) = k

Important

  • Bisekční šířka 𝑏𝑤𝑒(𝐺) = velikost nejmenšího hranového řezu grafu na 2 (skoro stejné) poloviny
  • Souvislost
    • Uzlový (hranový) rez: množina uzlu (hran), jejichž odebráním se rozpojí graf.
    • Uzlová (hranová) souvislost: Velikost minimálního uzlového (hranového) rezu
  • Uzlová symetrie = pro libovolnou dvojici uzlů 𝑢 a 𝑣 existuje atomorfismus, který zobrazí 𝑢 na 𝑣
  • Bipartita = existuje obarvení vrcholu dvěma barvami tak, že koncové vrcholy každé hrany mají odlišnou barvu
  • Kartézský součin – k. s. množin vrcholů, a hrana vede tehdy, pokud vedla původně v jednom nebo druhém grafu
  • Topologie G_n:
    • Množina grafů, jejichž velikost a struktura je definována parametrem n
    • Hierarchicky rekurzivní topologie: instance menších dimenzí jsou podgrafy instancí větších dimenzí
    • Inkrementálně škálovatelná topologie: definovaná pro \forall n
    • Částečně škálovatelná topologie: definovaná pro některá, ale ne všechna n
  • Hustota topologie:
    • Řídká topologie: |E(G_n)| = O(|V(G_n)|) (stupně uzlů omezeny konstantou)
    • Hustá topologie: |E(G_n)| = \omega(|V(G_n)|) (stupně uzlů rostoucí funkcí n)
  • Vzdálenosti v grafu:
    • Délka cesty P(u,v): \text{len}(P(u,v)) = počet hran v P(u,v)
    • Vzdálenost uzlů u a v: \text{dist}_G(u,v) = délka nejkratší cesty P(u,v) v G
    • Průměrná vzdálenost v N-uzlovém G: \text{dist}(G) = \frac{1}{N(N-1)} \sum_{u \neq v} \text{dist}_G(u,v)
    • Excentricita uzlu u: \text{exc}(u) = \max_{v \in V(G)} \text{dist}_G(u,v)
    • Průměr grafu G: \text{diam}(G) = \max_{u,v} \text{dist}_G(u,v) = \max_u \text{exc}(u)
    • Poloměr grafu G: r(G) = \min_u \text{exc}(u)

Přímé ortogonální topologie

Important

  • Požadavky na topologie
  • Konstantní stupeň uzlu x Maly průměr a mala průměrná vzdálenost
    • Požadavky jsou protichůdné
  • Uzlová symetrie a hierarchická rekurzivita
  • Vysoká souvislost
    • Redundantnost v případě přetržení linek nebo výpadek uzlů
  • Velká bisekční sirka
    • Vysoka přenosová kapacita mezi oběma polovinami
    • Mnoho externích spojů mezi stavebními bloky
  • Vnořitelnost jiných a do jiných topologií
    • Efektivnost zaleží na efektivním zobrazeni daného grafu do propojovací site
    • Schopnost simulovat efektivně jiné topologie
  • Podpora pro směrovaní a kolektivní komunikační operace

n-Rozměrná mřížka

Pasted image 20250123191906.png

  • Základní vlastnosti
    • Hierarchicky rekurzivní (konstrukce kartézským součinem jednorozměrných řetízků)
    • Není regulární, proto ani uzlově symetrická
    • Bipartitní, ne vždy vyvážená
    • Obsahuje hamoltonovskou kružnici při aspoň jedné sudé dimenzi
    • Manhattanská vzdálenost uzlů (metrika): pohyb mezi uzly po ortogonálních hranách
    • V praxi nejčastěji 2D (čipy) a 3D (server rack)
    • Směrování posunem seřazeným po dimenzích

n-Rozměrný toroid

Pasted image 20250123192024.png

  • Zabalená mřížka, n-rozměrná kružnice
  • Základní vlastnosti
    • Není hierarchicky rekurzivní
    • Uzlově symetrický
    • Bipartitní pokud jsou všechny rozměry sudé
    • Průměrná vzdálenost poloviční oproti mřížce
    • Bisekční šířka dvojnásobná oproti mřížce (řez kružnice vs. řetězu)
    • Obsahuje hamiltonovskou kružnici vždy
    • Manhattanská vzdálenost uzlů

n-Rozměrná hyperkrychle

Pasted image 20250123191232.png

  • Základní vlastnosti
    • Hustá: stupeň uzlů je logaritmický - náročná na HW
    • Hierarchicky rekurzivní
    • Uzlově symetrická
    • Bipartitní
    • Optimálně souvislá (uzlová = hranová)
    • Hrany mezi uzly o hammingově vzdálenosti 1 (např. 1000-1001)
  • Základní testovací topologie díky své optimální souvislosti
  • Má ale logaritmický stupeň uzlů a je škálovatelná jen po mocninách 2
  • Směrování seřazením cest lexikograficky (e-cube)

Hyperkubické propojovací sítě

Řídké hyperkubické propojovací sítě

  • Konstantní stupeň uzlů a logaritmický průměr
  • Horší škálovatelnost než hyperkrychle
  • Přirozená topologie pro mnoho paralelních algoritmů
  • Motýlek je nativní topologie pro provádění tzv. normálních hyperkubických algoritmu
    • V každém paralelním kroku algoritmu jsou použity pouze hrany jedné dimenze hyperkrychle

Zabalený motýlek

Pasted image 20250123193506.png

  • Základní vlastnosti
    • Není hierarchicky rekurzivní - kružnici nerozložíš
    • Uzlově symetrický
    • Vyvážený bipartitní pro sudá n
    • Hamiltonovský
    • Konstantní stupeň uzlu 4
    • Každý uzel má dvě hrany ve vlastní kružnici a dvě hrany do vedlejších kružnic
    • Optimální průměr a průměrné vzdálenosti: nejhůř projdeme n hyperkubických hran a ⌊n/2⌋ na druhou stranu kružnice

Obyčejný motýlek

Pasted image 20250123193636.png

  • Dva druhy hran: přímé a křížové (hyperkubické).
  • Vznikne ze zabaleného motýlka rozdělením 0. vrcholu kružnic na dva uzly
  • Základní vlastnosti
    • Hierarchicky rekurzivní
    • Není regulární, proto ani uzlově symetrický
    • Bipartitní
    • Není hamiltonovský
    • Vznikne ze zabaleného motýlka rozdělením 0. vrcholu kružnic na dva uzly
    • Směrování e-cube (existuje jediná nejkratší cesta mezi dvěma uzly)
    • Minimální permutační síť

Vnořeni

  • Mějme množinu procesoru která provádí paralelní algoritmus
  • Známe velikost a strukturu grafu procesu
  • Máme známou propojovací sit
  • Otázka je: Jak mapovat graf procesu na tento stroj aby vypočet byl co nejefektivnější
  • Měřeni kvality vnoření
    • Maximální zatížení cílového uzlu – maximální počet zdrojových vrcholů namapovaných na jeden cílový uzel
      • Maximální počet procesů, který bude přidělen 1 procesoru
      • Chceme stejnoměrné zatížení (liší se max o 1)
    • Expanze vnoření – poměr velikosti cílové sítě (= počet výpočetních uzlů) a velikosti zdrojového grafu (=počet procesů)
      • Větší expanze implikuje dražší simulace
      • Chceme blízkou 1 při jedničkovém zatížení a snižujeme úměrným rovnoměrným zvětšením zatížení uzlů
    • Maximální dilatace zdrojových hran v cílové síti – maximální délka obrazů zdrojových hran v cílové síti
      • Po jak dlouhých cestách budou muset v cílovém počítači putovat zprávy posílané mezi procesy, které jsou v zdrojovém grafu sousední
      • Sledujeme, pokud máme přepínání citlivé na vzdálenosti, jinak průměrná dilatace
    • Maximální zahlcení cílové hrany
      • Linkové zahlcení – maximální počet obrazů zdrojových hran procházejících skrz cílové linky
      • Uzlové zahlcení – maximální počet obrazů zdrojových hran procházejících skrz cílové uzly
      • Spíš sledujeme průměrné zahlcení
  • Kvaziizometrická topologie – sítě 𝐺 a 𝐻 jsou kvaziizometrické, pokud 𝐺 může být vnořen do 𝐻 a naopak s konstantními měřítky vnoření
    • 𝐺 a 𝐻 jsou výpočetně ekvivalentní, pokud jedna může může simulovat druhou s konstantním zpomalením (implikováno kvaziizometrií)
    • Obyčejný motylek a Zabaleny motylek jsou kvaziizometricke
    • Mřížka a Toroid jsou kvaziizometrické
  • Hyperkrychle simuluje optimálně většinu topologií
  • Toroidy jsou kvaziizometrické s mřížkami stejných rozměrů