Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Komputery macierzowe
2
Komputery macierzowe Co to jest komputer macierzowy
Organizacje wieloprocesorowe SMP CC-NUMA Utrzymanie spójności pamięci podręcznych Topologie sieci połączeń Przykłady: ILLIAC IV, Cray-1, DAP Przyszłość
3
Co to jest komputer macierzowy
Komputer macierzowy to synchroniczna wieloprocesorowa maszyna ze współdzieloną pamięcią. Komputery macierzowe tradycyjnie należą do klasy SIMD. Pierwsze takie maszyny zaczęły pojawiać się w latach 60-tych XX wieku. Żaden SISD z rozszerzeniami SIMD nie jest w stanie zastąpić superkomputera. Komputer macierzowy nadzoruje jednostka sterująca. W komunikacji z człowiekiem pośredniczy host (komputer „front-end”).
4
Komputery macierzowe. Mylące nazewnictwo
Bardzo często termin array processor jest synonimem komputera macierzowego. Określenie array processor oraz vector processor używane są zamiennie. Bardzo często procesorem macierzowym (tablicowym) nazywane jest urządzenie peryferyjne wykonujące tylko wektorowe elementy programów. Obecnie komputery macierzowe rozumiane jako maszyny czysto SIMD są rzadkością.
5
Organizacje wieloprocesorowe
W odróżnieniu od PC, superkomputer działa równolegle w sensie sprzętowym. Każdy procesor komp. mac. to jednostka przetwarzająca PU (PE). Wszystkie PU pracują na blokach jednej pamięci operacyjnej. Ważne jest prawidłowe aktualizowanie pamięci, tak aby każdy PU miał jej właściwy obraz.
6
Komputery o pamięci rozproszonej
Najnowsze superkomputery są budowane w formy klastrów o rozproszonej pamięci. Klaster składa się z wielu pojedynczych (super)komputerów połączonych szybką siecią (Beowulf). Jest to inne podejście niż w przypadku komp. mac., jednak o wiele tańsze i kilkakrotnie bardziej wydajne.
7
Najstarsze i najczęściej stosowane rozwiązanie – SMP
Jedna pamięć współużytkowana przez wszystkie synchronicznie działające PU. Czas dostępu każdego PU do pamięci jest taki sam. Jednostka sterująca (CU lub MCU) nadzoruje wszystkie PU. Ilość PU jest ograniczona (od 16) do 64 – powyżej tej liczby znacznie spada wydajność całego systemu. Ze względu na sposób połączeń miedzy procesorami SMP dzieli się na trzy klasy.
8
Klasy SMP: Wspólna magistrala z podziałem czasu
Najprostsze rozwiązanie podobne do tego z systemów jednoprocesorowych. Podział czasu oznacza, że w danej chwili czasu tylko jeden moduł steruje magistralą – pozostałe są blokowane. Zalety: elastyczność rozbudowy, niezawodność. Wady: ograniczona wydajność magistrali może ją doprowadzić do postaci „wąskiego gardła”.
9
Klasy SMP: Pamięć wieloportowa
Każdy procesor i urządzenie I/O ma niezależny i bezpośredni dostęp do dowolnego bloku pamięci. Nie ma możliwości poinformowania innych procesorów o aktualizacji pamięci, dlatego stosuje się zapis jednoczesny (zmiana cache procesora równa się zmianie określonych danych w pamięci głównej).
10
Klasy SMP: Pamięć wieloportowa
Dostęp każdego PU do bloku pamięci realizuje tzw. architektura przełączana. Jest to sieć układów logicznych działająca jak zestaw przełączników (switches). Dwa najczęściej stosowane systemy przełączania to wybierak krzyżowy (crossbar switch) i sieć omega.
11
Wybierak krzyżowy punkt przełączający Szybki dostęp wielu procesorów jednocześnie do różnych bloków pamięci. Wydajność spada w przypadku odwoływania się wielu procesorów do tego samego bloku pamięci jednocześnie. Dla n procesorów i n bloków pamięci trzeba n2 przełączników.
12
Sieć omega przełącznik poczwórny Dla n procesorów i n bloków pamięci trzeba jedynie (n/2)log2n przełączników. Przy odwoływaniu się wielu procesorów jednocześnie do tego samego bloku pamięci spada wydajność. Każdy przełącznik ma określony czas przełączania, który powoduje opóźnienia.
13
Klasy SMP: Centralna jednostka sterująca (CU lub MCU)
Najstarsze rozwiązanie SMP, obecnie należy do rzadkości. CU inicjuje i nadzoruje pracę wszystkich PU. Rozwiązanie podobne do rozwiązania ze wspólną magistralą, tutaj także wadą jest ograniczona wydajność – w tym przypadku CU. Realizacje: ILLIAC IV, Cray-1, DAP i większość pierwszych superkomputerów.
14
Nowoczesne rozwiązanie NUMA/CC-NUMA
Czas dostępu poszczególnych procesorów do bloków pamięci zależy od rejonu pamięci, którego ten dostęp dotyczy. Teoretycznie liczba procesorów może być nieograniczona. NUMA składa się z węzłów sprzęgniętych siecią połączeń. Dostęp do pamięci „cudzej” (odległe węzły) jest dużo wolniejszy niż do pamięci „własnej”. CC-NUMA dodatkowo zachowuje spójność pamięci podręcznych.
15
Utrzymywanie spójności pamięci podręcznych (cache coherence )
Każdy PU ma własny cache oraz dostęp do pamięci wspólnej. Musi być zastosowane rozwiązanie zapewniające każdemu PU dostęp do aktualnego obrazu pamięci wspólnej. Wyróżnia się rozwiązania programowe (wolniejsze) i sprzętowe (szybsze).
16
Utrzymywanie spójności pamięci podręcznych (cache coherence )
Rozwiązanie programowe – kompilator reorganizuje kod w przypadku wykrycia miejsca potencjalnej niespójności. Rozwiązania sprzętowe - protokoły spójności: podglądania, katalogowe (realizacja np. w NUMA), MESI (realizacja np. w SMP).
17
Topologie sieci połączeń
18
Topologie sieci połączeń
Realizacja połączeń pomiędzy PU (topologia) jest bardzo ważnym zagadnieniem wpływającym na wydajność całego systemu. Należy projektować taką topologię, która będzie szybka w działaniu i odporna na uszkodzenie któregoś z procesorów.
19
ILLIAC IV
20
ILLIAC IV
21
DAP (Distributed Array Procesor)
22
Cray-1
23
Przyszłość Obecnie komputery macierzowe klasy SIMD należą do maszyn bardzo niszowych wykorzystywanych głównie w realizacjach systemów czasu rzeczywistego. Kierunek rozwoju maszyn realizujących obliczenia na wielką skalę to systemy klasy MIMD z pamięcią rozproszoną. Klastry i niejednorodny dostęp do pamięci (CC-NUMA) wskazują przyszłość superkomputerów. Ciągle jednak powstają superkomputery „w jednej obudowie”. Przykładem może być Cray XD1 z roku 2005.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.