Architektury maszyn równoległych



Podobne dokumenty
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Architektura komputerów

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Przetwarzanie równoległesprzęt

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Ograniczenia efektywności systemu pamięci

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

Architektura komputerów

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Dr inż. hab. Siergiej Fialko, IF-PK,

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Architektura komputerów

Wydajność komunikacji grupowej w obliczeniach równoległych. Krzysztof Banaś Obliczenia wysokiej wydajności 1

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Wykład 13. Systemy wieloprocesorowe. Wojciech Kwedlo Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne.

Wydajność programów sekwencyjnych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Analityczne modelowanie systemów równoległych

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

16. Taksonomia Flynn'a.

Wykład 13. Linux 2.0.x na maszynach SMP. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Tom II: SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA (SOPZ): Przedmiotem zamówienia jest dostawa sprzętu infrastruktury serwerowej i sieciowej.

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Procesory. Schemat budowy procesora

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Ograniczenia efektywności systemu pamięci

5. Model komunikujących się procesów, komunikaty

Architektura komputerów

Zrównoleglenie i przetwarzanie potokowe

Architektura komputerów

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Architektura komputerów. Układy wejścia-wyjścia komputera

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Organizacja pamięci współczesnych systemów komputerowych : pojedynczy procesor wielopoziomowa pamięć podręczna pamięć wirtualna

Serwer biznesowy o podwójnym zastosowaniu moc obliczeniowa i pamięć masowa w jednej obudowie

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Rys. 1. Podłączenie cache do procesora.

Komputery Dużej Mocy w Cyfronecie. Andrzej Oziębło Patryk Lasoń, Łukasz Flis, Marek Magryś

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B.

OPIS PRZEDMIOTU ZAMÓWIENIA SPECYFIKACJA SPRZĘTU KOMPUTEROWEGO

Pamięć RAM. Pudełko UTK

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie)

Pamięci. Pamięci DDR DIMM SDR SDRAM

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym).

Architektura komputerów

Urządzenia wejścia-wyjścia

RODZAJE PAMIĘCI RAM. Cz. 1

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Operacje grupowego przesyłania komunikatów

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Pytania i odpowiedzi

Wykład 14. Zagadnienia związane z systemem IO

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

Podstawowe pojęcia dotyczące sieci komputerowych

WOJSKOWA AKADEMIA TECHNICZNA

SSE (Streaming SIMD Extensions)

Analiza ilościowa w przetwarzaniu równoległym

System mikroprocesorowy i peryferia. Dariusz Chaberski

Architektura Komputerów

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

ZAPYTANIE OFERTOWE. Inowrocław, dnia r.

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

Wprowadzenie do systemów operacyjnych

Protokoły sieciowe - TCP/IP

Organizacja typowego mikroprocesora

router wielu sieci pakietów

Sieci komputerowe Wykład 3

Internet kwantowy. (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak. Instytut Informatyki Teoretycznej i Stosowanej PAN

System obliczeniowy laboratorium oraz. mnożenia macierzy

Pamięć operacyjna komputera

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Architektura Systemów Komputerowych

Budowa komputera Komputer computer computare

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

2/17. Magistrale l/o Magistrala PCI

Wykład 7. Zarządzanie pamięcią

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

3.Przeglądarchitektur

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Transkrypt:

Architektury maszyn równoległych

System wieloprocesorowy ze wspólną pamięcią Każdy procesor ma dostęp do dowolnego modułu pamięci Bajt pamięci widoczny przez wszystkie procesory pod tym samym adresem Pamięci cache (indywidualne dla poszczególnych procesorów) komplikują sytuację. System SMP (Symmetric Multiprocessing), UMA (Uniform Memory Access) czas dostępu dowolnego procesora do dowolnej komórki pamięci jest w przybliżeniu taki sam. Wspólna przestrzeń adresów Moduły pamięci Sieć połączeń Procesory 2

Architektura UMA P 1 P 2... P N cache cache cache Sieć połączeń M 1 M 2... M K N procesorów i K modułów pamięci. Każdy procesor posiada własną pamięć cache (istnieją architektury ze wspólną pamięcią L2 o ile dwa procesory, pamięć L2 i dodatkowy poziom sieci połączeń zmieszczą się na chipie; patrz Intel Core 2). Sieć połączeń wybór pomiędzy niską ceną (szyna) a wysoką skalowalnością (przełącznik krzyżowy). 3

Architektura NUMA P 1 P 2... P N cache cache cache M 1 M 2 M N Sieć połączeń ang. non-uniform memory access. Nadal każdy bajt widoczny przez wszystkie procesory pod tym samym adresem, Jednak czas dostępu procesora do lokalnej pamięci krótszy, niż do pamięci zdalnej. Przykłady: Na dużą skalę SGI Origin, SGI Altix. Na małą skale AMD Opteron (2,4,8 procesorów), Intel Xeon z QPI. 4

Architektura szyny Pentium Pro Interrupt controller CPU 256-KB L 2 $ P-Pro module P-Pro module P-Pro module Bus interface P-Pro bus (64-bit data, 36-bit addr ess, 66 MHz) PCI bridge PCI bridge Memory controller PCI I/O cards PCI bus PCI bus MIU 1-, 2-, or 4-way interleaved DRAM Rozwiązanie dobrze skalujące się w sensie kosztu, bardzo źle w sensie wydajności. Rywalizacja o dostęp do szyny w skrajnym przypadku system redukuje się do maszyny sekwencyjnej. Pamięci cache (L1 i zintegrowana L2) zmniejszają rywalizację o szynę. 5

Ograniczenia szyny Procesor komunikuje się z pamięcią w celu (a) pobrania kodu instrukcji (b) zapisu/odczytu danych. Przyjmijmy procesor o zegarze 1GHz z 32-bitowymi instrukcjami. 4GB/s potrzebne na pobieranie instrukcji. Zakładając, że 30% instrukcji to instrukcje odwołujące się do pamięci potrzeba dodatkowo 1.2GB/s na transfer danych. Łącznie 5.2 GB. Przyjmijmy, że procesor jest wyposażony w pamięć cache (dzisiaj co najmniej dwu-poziomową) zapewniającą współczynnik trafień 98% dla instrukcji i 95% dla danych. Zapotrzebowanie na przepustowość spada do 140 MB/s. Jednakże jeżeli szyna ma przepustowość 1 GB/s, to osiem procesorów (8*140=1120) nasyci szynę. 6

... Przełącznik krzyżowy (ang. crossbar switch) P 1 P 2... M 1 M 2 M K Jeden wyłącznik w wierszu i jeden w kolumnie może być włączony. Sieć nieblokująca: procesor i nie blokuje procesora j, o ile żądają dostępu do różnych banków pamięci. P N Elementarny wyłącznik o szerokości magistrali procesora Przykład Sun Ultra HPC Server. Bardzo dobrze skaluje się pod względem wydajności, bardzo źle pod względem kosztu budowy [O(N*K)] 7

Pamięć podręczna przypomnienie i problemy Przechowuje najczęściej używane dane (lub kod). Operuje na wierszach o dużej długości (32,64, 128 bajtów). W przypadku odczytu jeżeli odczytywane dane są w wierszu będącym w pamięci cache nie trzeba sięgać do pamięci głównej. Co zrobić w przypadku zapisu: write-through zapis jednocześnie do pamięci głównej i podręcznej (niska wydajność) write-back zapis do pamięci jedynie podręcznej, zapis do pamięci głównej w momencie opróżnienia wiersza w pamięci podręcznej. Strategia write-back zapewnia wyższą wydajność, prowadzi do problemu ze spójnością pamięci. Przez pewien czas zmodyfikowane dane są w pamięci podręcznej procesora a nie ma ich w pamięci głównej. A co się stanie gdy inny procesor w systemie wieloprocesorowym zechce przeczytać te dane? 8

Problem ze spójnością pamięci cache P 1 P 2 cache x=1 x=5 3 cache x=1 x=? 4 2 1 Pamięć główna x=1 Procesor 1 odczytuje dane z pamięci głównej. Procesor 2 odczytuje dane z pamięci głównej. Procesor 1 modyfikuje dane w swojej pamięci cache, zgodnie ze strategią writeback nie modyfikując pamięci głównej. Co odczyta procesor 2? 9

Utrzymywanie spójności Na nasze szczęście problem ze spójnością został rozwiązany przez specjalistów od hardware'u w postaci sprzętowego protokołu spójności. Programista nie musi znać wszystkich jego szczegółów wiedzieć, ale powinien wiedzieć jaki wpływa on na wydajność. System jest tak skonstruowany, że procesor jest w stanie wykryć fakt współdzielenia (ang. sharing) wiersza pamięci podręcznej, tzn. sytuacji w której inny procesor ma ten wiersz w swojej pamięci cache. Protokoły dzielą się na dwie grupy: (a) invalidate protocols (najczęściej stosowane) w momencie zapisu do współdzielonego wiersza wyślij sygnał do procesorów współdzielących ten wiersz aby unieważniły go w swoich pamięciach podręcznych. Oznacza to, że przy spróbują one odczytu z pamięci głównej Przy próbie odczytu z pamięci głównej danych, które zostały zmodyfikowane w swojej pamięci podręcznej procesor przesyła te dane czytającemu procesorowi zastępując pamięć (b) update protocols. Przy zapisie do współdzielonego wiersza kopia jest wysyłana innym procesorom. 10

Porównanie protokołów spójności (Grama i wsp., 2003) 11

Koszt protokołu spójności Zapis do wiersza który nie jest współdzielony, odczyt z wiersza współdzielonego wykonywane są z maksymalną szybkością (np. jeden takt zegara do pamięci L1). Zapis do wiersza współdzielonego wykonywany jest o wiele wolniej. Trzeba przesłać informację innym procesorom po magistrali procesora co zajmuje co najmniej kilkadziesiąt taktów zegara. W przypadku protokołu typy invalidate inne procesory pobierają informacje przez swoje magistrale. Trzeba unikać sytuacji w której: a) dane są współdzielone b) często dokonujemy do nich zapisu. 12

Fałszywe współdzielenie (ang. false scharing) int x; int y; Niech procesor A cyklicznie odczytuje zmienną x, a procesor B cyklicznie zapisuje zmienną y. Formalnie współdzielenia nie ma. Ale pamięć podręczna operuje ***wierszami*** o typowym rozmiarze 64 bajtów. Dwie sąsiednie zmienne prawie na pewno znajdują się w tym samym wierszu. A wiersz ten jest wpółdzielony. Aby uniknąć współdzielenia pomiędzy x a y należy wstawić odstęp równy długości wiersza pamięci podręcznej. Linuks to robi! Nie jest to problem akademicki. Przykładowy program wykazuje duże spowolnienie związane ze współdzieleniem. 13

Przywiązanie procesu do procesora (ang. processor affinity) Problem dla twórcy systemu operacyjnego (planowanie procesów). Rozważmy sytuację w której proces wykonywał się na procesorze A. Następnie był wywłaszczony. Obecnie proces został wybrany do wykonania. W systemie wolne są procesory A i B. Na którym procesorze uruchomić proces? Odpowiedź na procesorze A ponieważ w jego pamięci cache mogły pozostać dane/kod procesu. Gorzej jest w sytuacji gdy A jest zajęty, a B wolny. Czekamy aż A się zwolni (i B jest bezczynny) Przydzielamy procesor B (i na początku mały współczynn8ik trafień do pamięci cache). 14

Dygresja: Wpływ sposobu dostępu do pamięci na wydajność (Grama i wsp.) Rozważmy kod obliczający w wektorze b sumę wszystkich kolumn kwadratowej macierzy A o wymiarach nxn. n jest duże (powiedzmy ~1000). b[0] jest sumą elementów A[0][0],A[1][0],A[2][0],... for(int i=0;i<n;i++){ b[i]=0.0; for(int j=0;j<n;j++) b[i]+=a[j][i]; } Pamięć jest tablicą jednowymiarową, zaś macierz A tablicą dwuwymiarową. Jak odwzorować ją w jednowymiarowej pamięci? W języku C macierz jest umieszczona wierszami: A A 0,0 A 0,1 A 0,2 A 1,0 A 1,1 A 1,2 A 2,0 A 2,1 A 2,2 A 0,0 A 0,1 A 0,2 A 1,0 A 1,1 A 1,2 A 2,0 A 2,1 A 2,2 15

Dostęp do pamięci z dużymi odstępami. for(int i=0;i<n;i++){ b[i]=0.0; for(int j=0;j<n;j++) b[i]+=a[j][i]; } Zakładamy że macierzy nie ma w cache u i jest za duża aby się tam zmieścić. Wektor B zmieści się w cache u. Dostęp kolumnami: n Dostęp do elementów odległych w pamięci o n miejsc. Jeżeli: rozmiar liczby double 8 bajtów, rozmiar wiersza pamięci cache: 128 bajtów, to każdy dostęp generuje (a) chybienie cache-u (b) przeczytanie 15 dodatkowych liczb które są zbędne. n 16

Ten sam algorytm z dostępem kolumnami. for(int i=0;i<n;i++ b[i]=0.0; for(int i=0;i<n;i++){ for(int j=0;j<n;j++) b[j]+=a[i][j]; } Dostęp kolumnami wierszami n n Dostęp do kolejnych elementów w pamięci. Jeżeli: rozmiar liczby double 8 bajtów, rozmiar wiersza pamięci cache: 128 bajtów, to co szesnasty dostęp generuje (a) chybienie cacheu (b) przeczytanie 15 dodatkowych liczb które zostaną wykorzystane w następnych iteracjach. Przy założeniu że czas dostępu do pamięci dominuje nad czasem pozostałych operacji ta metoda jest 15 razy szybsza!!!. Obydwie mają złożoność O(nxn). 17

Jaki jest morał Asymptotyczna złożoność to nie wszystko (choć jest ważna) Przed rozpoczęciem zrównoleglania sprawdź czy optymalnie zaimplementowałeś algorytm szeregowy. 18

System z przesyłaniem komunikatów (ang. message passing) Również zwany systemem z przesyłaniem komunikatów (ang. message passing). Często klastry (ang. cluster) niezależnych systemów komputerowych. Każdy procesor ma dostęp wyłącznie do swojej lokalnej pamięci. Współpraca z innymi procesorami odbywa się poprzez wymianę komunikatów Sieć połączeń: dziś co najmniej Gigabit Ethernet (1Gb/s), często Infiniband (10 Gb/s lub 20 Gb/s) lub wyspecjalizowane rozwiązania. Możliwe rozwiązanie hybrydowe: każdy komputer jest systemem wieloprocesorowym ze wspólną pamięcią. Sieć połączeń Komunikaty Procesor Pamięć lokalna Komputery (często całkowicie autonomiczne) 19

Klaster niezależnych maszyn (rys. Wilkinson i Allen) Compute nodes Dedicated Cluster User Switch Master node Up link 2nd Ether net interface External netw ork Węzełeł zarządzający (master node) pełni funkcję firewalla izolując węzły obliczeniowe od internetu. Węzły obliczeniowe to komputery zdolne do samodzielnej pracy (W naszym laboratorium maszyny typu desktop). Użytkownicy logują się z publicznego internetu na węzeł zarządzający. Każdy węzeł obliczeniowy jest komputerem zdolnym do autonomicznej (samodzielnej) pracy z własnym systemem operacyjnym. 20

Dynamiczne i statyczne sieci połączeń Sieć statyczna połączenia punktowe pomiędzy procesorami Sieć dynamiczna zbudowana przy pomocy połączeń i elementów przełączających. Szyna i przełącznik krzyżowy to sieci dynamiczne 21

Parametry połączenia komunikacyjnego Czas t comm przesyłania komunikatu możemy wstępnie przybliżyć równaniem: gdzie t comm =t S t B l t S (startup time, latency - opóźnienie) jest czasem potrzebnym na obsługę komunikatu u nadawcy i odbiorcy. Zalicza się do niego czas opóźnienia programowego, przekazania komunikatu do interfejsu sieciowego, skonfigurowania łącza, wykonania algorytmu routującego. t B jest czasem transmisji jednego bajtu, włączając narzuty sprzętowe (sieć) i programowe. 1/t B jest przepustowością łącza w bajtach na sekundę. l jest długością komunikatu w bajtach. To przybliżenie pomija wiele parametrów, między innymi: natężenie ruchu w sieci połączeń. odległość pomiędzy nadawcą i odbiorcą (w sensie liczby procesorów w sieci statycznej albo elementów przełączających w sieci dynamicznej). 22

Czas transmisji komunikatu Czas przesłania t comm t S Długość komunikatu l 23

Techniki wyznaczania trasy (ang. routing) z uwzględnieniem liczby hopów (Grama i wsp. 2003) 24

Komunikaty zdominowane przez opóźnienie i przepustowość Komunikat o długości l g, dla której t S =t B *l g (stąd l g =t S /t B ) jest komunikatem granicznym. Komunikaty o długości krótszej l g od są zdominowane przez opóźnienie. Komunikaty dłuższe l g niż są zdominowane przez przepustowość. Na przykład dla klastra Mordor 2 l g =3.8us/(1/1400MB/s)= około 5500 bajtów. 25

Przegląd niektórych sieci połączeń Sieci statyczne Sieć kompletna i gwiazda Hipersześcian Sieci typu mesh Sieci stosowane przy budowie klastrów 26

Sieci typu mesh (Grama i wsp.) 27

Sieć kompletna i gwiazda Sieć kompletna Gwiazda Sieć kompletna statyczny odpowiednik przełącznika krzyżowego. Gwiazda statyczny odpowiednik szyny. 28

1,2,3-wymiarowy hipersześcian 110 111 0 00 10 100 101 1 01 11 010 011 000 001 k-wymiarowy hipersześcian ma k-połączeń wychodzących z każdego z wierzchołĸów. Algorytm routujący komunikaty jest stosunkowo prosty. Kiedyś była to bardzo popularna sieć połączeń. 29

4-wymiarowy hipersześcian 0110 0111 1110 1111 0100 0101 1100 1101 0010 0011 1010 1011 0000 0001 1000 1001 Aby skonstruować k+1-wymiarowy hipersześcian zestawiamy dwa k-wymiarowe hipersześciany, łączymy węzły o tych samych numerach. dodajemy nową cyfrę binarną w jednym hipersześcianie równą jeden a w drugim zero. 30

Algorytm wyznaczania trasy (E-cube routing) 110 111 100 101 010 011 000 001 P s (100) wierzchołek źródłowy, P d (001) wierzchołek docelowy. Krok 1: P s XOR P d = 101 (1 oznacza, że pakiet musi podróżować przez wymiar ) Zmieniamy wymiar począwszy od najstarszej pozycji ustawionej na 1 100->000 Krok 2: P s =000, P d =001, P s XOR P d =001 000->001 31

Sieci połączeń stosowane przy budowie klastrów Obecnie minimum to Gigabit Ethernet. Przepustowość około 1 Gb/s, opóźnienie to 50 μs. W sali 225 włączone są ramki jumbo (9000 bajtów) Infiniband: sieć przełączana o b. małym opóźnieniu (rzędu pojedynczych μs) i o b. dużej przepustowości. Krotność SDR DDR QDR FDR EDR 1X 2 4 8 13.64 25 4X 8 16 32 54.54 100 12X 24 48 96 116.36 300 mordor 2 Jest tu!!! Efektywna teoretyczna przepustowość w Gb/s Na klastrze mordor2 zmierzona przepustowość w teście ping-pong to nieco ponad 1400 MB/s (najtańsze karty HCA? stary chipset?) a opóźnienie to 3.8 μs. 32

Sieci połączeń stosowane przy budowie klastrów Obecnie minimum to Gigabit Ethernet. Przepustowość około 1 Gb/s, opóźnienie to 50 μs. W sali 225 włączone są ramki jumbo (9000 bajtów) Infiniband: sieć przełączana o b. małym opóźnieniu (rzędu pojedynczych μs) i o b. dużej przepustowości. Krotność SDR DDR QDR FDR EDR 1X 2 4 8 13.64 25 4X 8 16 32 54.54 100 12X 24 48 96 116.36 300 mordor 2 Jest tu!!! Efektywna teoretyczna przepustowość w Gb/s Na klastrze mordor2 zmierzona przepustowość w teście ping-pong to nieco ponad 1400 MB/s (najtańsze karty HCA? stary chipset?) a opóźnienie to 3.8 μs. 33

Klaster Obliczeniowy mordor2 GbE n1 IB 4x DDR Internet mordor2 Macierz RAID5 2TB Przełącznik Gigabit Ethernet GbE GbE n2... n16 IB 4x DDR IB 4x DDR Przełącznik Infiniband Węzeł zarządzający (mordor 2) Dell PowerEdge 2950 (16GB RAM, 2xXeon 5150 @ 2.66 GHz, cztery rdzenie łącznie). Sieciowy system kont, sieciowy system plików, firewall + NAT dla węzłów obliczeniowych, system kolejkowy slurm, fully automated install (FAI), kompilator icc, MPI over Infiniband. Login przez ssh, brak GUI Węzły obliczeniowe (n1-n16) Dell PowerEdge 1950 (16GB RAM 2xXeon X5355 @ 2.66GHz, 8 rdzeni łącznie) 34

Mordor 2 8 węzłów obliczniowych (Obudowa rack 19 1U) Sieciowa pamięć dyskowa (Obudowa rack 19 1U) 8 węzłów obliczniowych (Obudowa rack 19 1U) Węzeł zarządzający Obudowa rack 19 2U UPS dla węzła zarządzającego 35

Parametry sieci Średnica - jest to maksymalna odległość pomiedzy dwiema węzłami w sieci. Liczba połączeń wychodzących z wierzchołka. Koszt sieci - całkowita liczba połączeń. Szerekość bisekcji (ang. bisection width). Minimalna liczba połączeń, które należy usunąć, aby podzielić sieć na dwie równe połowy. 36

Parametry różnych sieci połączeń (Grama i wsp.) Nazwa Sieci Kompletna 1 p 2 /4 p-1 p(p-1)/2 Gwiazda Linia Drzewo binarne Średnica Szerokość bisekcji Liczba połączeń wierzchołka Całkowita liczba połączeń 2 1 1 p-1 p-1 1 1 p-1 2*log((p+1)/2) 1 1 p-1 2D-mesh 2*(sqrt(p)-1) sqrt(p) 2 2(p-sqrt(p)) 2D-torus sqrt(p) 2*sqrt(p) 4 2p Hipersześcian log(p) p/2 log(p) p*log(p)/2 Przełącznik krzyżowy 1 p 1 p 2 p jest liczbą węzłów (procesorów). 37

Systemy ze wspólną pamięcią a systemy z przesyłaniem komunikatów Budowa systemu z przesyłaniem komunikatów jest łatwiejsza (nie jest wymagany specjalizowany sprzęt, oprócz sieci). W systemach z przesyłaniem komunikatów koszty komunikacji są jawne, w systemach ze wspólną pamięcią ukryte (np. w postaci protokołu spójności). System ze wspólną pamięcią może łatwo emulować system z przesyłaniem komunikatów odwrotność jest bardzo trudna w implementacji (wydajnie). Systemy z przesyłaniem komunikatów potencjalnie się lepiej skalują, ale ze względu na ograniczenie kosztów często buduje się systemy hybrydowe (np. mordor2 klaster systemów ze wspólną pamięcią połączonych siecią). Które systemy łatwiej programować? Zdania są podzielone. 38