+ t

Transkrypt

+ t
Wydajność komunikacji grupowej w obliczeniach równoległych
Krzysztof Banaś
Obliczenia wysokiej wydajności
1
Sieci połączeń
➔
Topologie sieci statycznych:





Sieć w pełni połączona
Gwiazda
Kraty: 1D, 2D, 3D
Drzewa: zwykłe lub tłuste
Hiperkostki: 1D, 2D, 3D itd..
• Wymiar – d, liczba procesorów – 2^d
• Bitowy zapis położenia węzła
• Najkrótsza droga między 2 procesorami = ilość bitów, którymi różnią się kody położenia procesorów
Krzysztof Banaś
Obliczenia wysokiej wydajności
2
Sieci połączeń
➔
Parametry:
I. Średnica – maksymalna odległość dwóch węzłów
II. Połączalność krawędziowa (arch connectivity) – minimalna liczba krawędzi koniecznych do usunięcia dla podziału sieci na dwie sieci rozłączne – miara m.in. odporności na uszkodzenia
III. Szerokość połowienia (bisection width) – minimalna liczba krawędzi koniecznych do usunięcia dla podziału sieci na dwie równe sieci rozłączne (razem z przepustowością pojedynczego kanału daje przepustowość przepołowienia (bisection bandwidth) – miara m.in. odporności na przepełnienia
IV. Koszt – np. szacowany liczbą drutów.
V. Inne – np. liczba połączeń pojedynczego węzła, możliwości komunikacyjne łączy (half­duplex, full­duplex), itp.
Krzysztof Banaś
Obliczenia wysokiej wydajności
3
Sieci połączeń
➔
Porównanie sieci statycznych:
sieć w pełni połączona
sieć gwiaździsta
szereg
pierścień
I
1
2
p­1
p/2
II
p­1
1
1
2
III
(p^2)/4
1
1
2
IV
p(p­1)/2
p­1
p­1
p
krata 2D bez zawijania
2(√p ­ 1)
2
√p
2(p­√p)
torus 2D
drzewo binarne zupełne
hiperkostka
2(√p / 2)
2log(p/2+1/2)
log p
4
1
log p
2√p
1
p/2
2p
p­1
p(log p)/2
Krzysztof Banaś
Obliczenia wysokiej wydajności
4
Przypomnienie
➔
Czas przesłania pojedynczego komunikatu o rozmiarze m bajtów poprzez sieć składającą się z l odcinków o parametrach:



➔
tw ­ czas przesłania 1 bajta pomiędzy sąsiednimi węzłami
ts + l * ( th + mtw )
Routing CT (cut­through, wormhole):

➔
th – czas przełączenia w pojedynczym węźle
Routing SF (store­and­forward):

➔
ts – czas inicjacji sieci
ts + lth + mtw
Dla większości sieci można posługiwać się uproszczonym wzorem przybliżonym: ts + mtw
Krzysztof Banaś
Obliczenia wysokiej wydajności
5
Schematy komunikacji grupowej
• Rozgłaszanie jeden­do­wszystkich
– Algorytm dla hiperkostki:
• Tr_jdw = (ts + mtw) log(p)
– Algorytmy dla innych topologii (routing CT) różnią sie tylko składnikiem zawierającym czas przełączania th
– Dla liczby procesorów rzędu tysięcy składnik ten może być znaczący
• Redukcja wszyscy­do­jednego posiada ten sam schemat co rozgłaszanie Krzysztof Banaś
Obliczenia wysokiej wydajności
6
Schematy komunikacji grupowej
• Rozgłaszanie wszyscy­do­wszystkich (routing SF i CT) (inaczej zbieranie wszyscy­do­wszystkich, allgather):
– Algorytm dla pierścienia:
• Tr_wdw_pierścień = (ts + mtw) (p ­ 1)
– Algorytm dla kraty 2D z zawinięciami (torusa):
• Tr_wdw_torus = 2ts (√p ­ 1) + mtw (p ­ 1)
– Algorytm dla hiperkostki:
• Tr_wdw_hiper = ts log p + mtw (p – 1)
– Składnik mtw (p – 1) jest dolnym oszacowaniem czasu komunikacji wynikającym z rozmiaru przesyłanych danych
Krzysztof Banaś
Obliczenia wysokiej wydajności
7
Schematy komunikacji grupowej
• Redukcja wszyscy­do­wszystkich – Dla każdej architektury można je zorganizować jako redukcję wszyscy­do­jednego, po którym następuje rozgłaszanie jeden­do­
wszystkich
– Dla hiperkostki można opracować lepszy schemat, wykorzystujący rozgłaszanie wszyscy­do­wszystkich (jedyna różnica jest taka, że w każdym węźle sumuje się przesyłane wartości, a rozmiar komunikatu zawsze wynosi 1):
• Tg_wdw_hiper = (ts + tw ) log p Krzysztof Banaś
Obliczenia wysokiej wydajności
8
Schematy komunikacji grupowej
• Rozpraszanie jeden­do­wszystkich – Dla każdej architektury można je zorganizować wykorzystując schemat rozgłaszania wszyscy­do­wszystkich i odpowiednie manipulacje zawartością komunikatów
– Czas realizacji rozpraszania jeden­do­wszystkich jest taki sam jak czas rozgłaszania wszyscy­do­wszystkich
• Zbieranie wszyscy­do­jednego jest realizowane za pomocą identycznego schematu (z odwróceniem kierunku przesyłania komunikatów) i w identycznym czasie jak rozpraszanie jeden­do­
wszystkich
Krzysztof Banaś
Obliczenia wysokiej wydajności
9
Schematy komunikacji grupowej
• Pełna wymiana wszyscy­do­wszystkich – Dla każdej architektury można je zorganizować wykorzystując schemat rozgłaszania wszyscy­do­wszystkich i odpowiednie manipulacje zawartością komunikatów
– Algorytm dla pierścienia (routing SF i CT):
• Tw_wdw_pierścień = (ts + ½pmtw) (p – 1)
– Algorytm dla kraty 2D z zawinięciami (routing SF i CT):
• Tw_wdw_krata_2d = (2ts + pmtw) (√p – 1)
– Algorytm dla hiperkostki (routing SF):
• Tw_wdw_hiperkostka_1 = (ts + ½pmtw) log(p)
Krzysztof Banaś
Obliczenia wysokiej wydajności
10
Schematy komunikacji grupowej
• Pełna wymiana wszyscy­do­wszystkich – Algorytm dla hiperkostki (routing CT):
• p­1 kroków
• W każdym kroku każdy procesor wymienia dane z jednym z pozostałych
• Trzeba tylko tak zorganizować wymianę, aby łącza komunikacyjne nie zatykały się
• Tw_wdw_hiperkostka_2 = (ts + mtw) (p – 1) + ½ th p log p
Krzysztof Banaś
Obliczenia wysokiej wydajności
11

Podobne dokumenty