Superkomputery i równoległość przetwarzania
1/36
Superkomputery i
równoległość
przetwarzania danych
1. Taksonomia Flynna
2/36
1
2
3
4
5
Taksonomia Flynna
?
1. Taksonomia Flynna
3/36
1
2
3
4
5
SISD
1. Taksonomia Flynna
4/36
1
2
3
4
5
SIMD
1. Taksonomia Flynna
5/36
1
2
3
4
5
MIMD ze wspólną pamięcią
1. Taksonomia Flynna
6/36
1
2
3
4
5
MIMD z pamięcią dzieloną
1. Taksonomia Flynna
7/36
1
2
3
4
5
Taksonomia Flynna – graf EN
1. Taksonomia Flynna
8/36
1
2
3
4
5
Taksonomia Flynna – graf PL
2. SMP = Symmetric MultiProcessors
9/36
1
2
3
4
5
System mikroprocesorowy silnie powiązany
(tightly coupled)
2. SMP = Symmetric MultiProcessors
10/36
1
2
3
4
5
SMP – Symmetric Multiprocessors
2. SMP = Symmetric MultiProcessors
11/36
1
2
3
4
5
Pamięć wieloportowa
2. SMP = Symmetric MultiProcessors
12/36
1
2
3
4
5
Cechy systemu symetrycznego wieloprocesorowego SMP
• Szybkość
– Jeśli część algorytmu może być wykonana równolegle
• Dostępność
– Ponieważ wszystkie procesory mogą wykonać te same
funkcje, uszkodzenie któregoś z nich nie zatrzumuje systemu
• Skalowalność
– Użytkownik może zwiększyć szybkość systemu dodając
kolejne procesory
– Firmy mogą oferować całą gamę rozwiązań w oparciu o daną
architekturę systemu
2. SMP = Symmetric MultiProcessors
13/36
1
2
3
4
5
System operacyjny dla SMP
• Wiele jednocześnie i równolegle
wykonywanych procesów
• Problem scheduling
• Synchronizacja
• Zarządzanie pamięcią
• Niezawodność i tolerancja na błędy
2. SMP = Symmetric MultiProcessors
14/36
1
2
3
4
5
• Szybkość ograniczona przez czas cyklu szyny
• Każdy procesor powinien posiadać własny
cache
• Wspólny cache prowadzi do problemów ze
spójnością pamięci
Cechy systemu SMP ze wspólną szyną
2. SMP = Symmetric MultiProcessors
15/36
1
2
3
4
5
Duże komputery SMP – przykład S/390
2. SMP = Symmetric MultiProcessors
16/36
1
2
3
4
5
Cache – problemy w systemach wieloprocesorowych
Zapis jednoczesny (Write Through)
Zapis opóźniony (Write Back)
?
2. SMP = Symmetric MultiProcessors
17/36
1
2
3
4
5
Cache – możliwe rozwiązania
Rozwiązania programowe – ciężar rozwiązywania spójności
przerzucony na kompilator. Najprostsze rozwiązanie to
zapobieganie kierowania wspólnych zmiennych do pamięci cache
(podręcznej). Bardziej efektywne rozwiązania koncentrują się na
stwierdzeniu okresów bezpieczeństwa wspólnych zmiennych.
Rozwiązania sprzętowe – dynamiczne rozpoznawanie warunków
potencjalnej niespójności w czasie użytkowania systemu,
rozwiązywane przez sprzęt.
- Protokoły katalogowe : opiera się na centralnym systemie
przechowującym informacje gdzie rezydują wszystkie kopie
bloków danych
- Protokoły podglądania : odpowiedzialność za spójność
pamieci rozdzielona na wszystkie sterowniki tych pamięci.
Polegają na odpowiedniej kombinacji rozgłaszania i
„podglądania”.
2. SMP = Symmetric MultiProcessors
18/36
1
2
3
4
5
Protokuł MESI – Modified/Exclusive/Shared/Invalid
2. SMP = Symmetric MultiProcessors
19/36
1
2
3
4
5
Protokuł MESI - tabela
3. Klastry
20/36
1
2
3
4
5
Klastry - koncepcja
3. Klastry
21/36
1
2
3
4
5
Klastry - podział
3. Klastry
22/36
1
2
3
4
5
Klastry – tabela, podział
3. Klastry
23/36
1
2
3
4
5
Klastry – zagadnienia systemu operacyjnego
• Zarządzanie uszkodzeniami
– Failover
• Przerzucanie zadań z uszkodzonych komputerów
na inne, sprawne.
– Failback
• Odzyskiwanie aplikacji i danych z uszkodzonych
systemów.
• Balansowanie obciążenia
– Rozkładanie zadań
– Skalowalność
3. Klastry
24/36
1
2
3
4
5
Klastry vs. SMP
• Obie metody zapewniają wykorzystanie wielu
procesorów jednocześnie.
• Obie metody są upowszechnione komercyjnie, ale SMP
przez dłuższy czas niż klastry.
• SMP jest prostsze w zarządzaniu i łatwiejsze do
przyjęcia w miejscu gdzie wcześniej używane były
klasyczne jednoprocesorowe systemy.
• SMP zużywa mniej mocy.
• Klastry zapewniają niesamowitą skalowalność
• Klastry nie wymagają często wymiany sprzętu
25/36
1
2
3
4
5
4. NUMA = Nonuniform Memory Access
NUMA - motywacja
Pozostawić przezroczysty system dużej współdzielonej
pamięci pozwalając na współdziałanie bardzo dużej
liczby systemów procesorowych posiadających swoją
lokalną organizację (lokalna pamięć, układy
wejścia/wyjścia itp.).
W klastrach każdy węzeł ma własną
pamięć, nie widzianą przez inne
węzły. Spoistość pamięci
współdzielonej zarządzana jest tylko
przez oprogramowanie.
SMP ma ściśle określoną
liczbę maksymalną liczbę
procesorów (najczęściej 16
do 64)
26/36
1
2
3
4
5
4. NUMA = Nonuniform Memory Access
NUMA - terminologia
UMA - Uniform memory access
– Wszystkie procesory mają równy dostęp do całej pamięci
– Czas dostępu do pamięci jest taki sam dla każdego
procesora i każdego adresu w pamięci
NUMA - Nonuniform memory access
– Wszystkie procesory mają dostęp do całej pamięci
– Czas dostępu do pamięci jest różny w zależności od
procesora i adresu pod który się odwołuje
NUMA-CC - Cache coherent NUMA
– Każdy procesor ma pamięć podręczną, umożliwiającą
buforowanie komórek pamięci z dowolnego adresu.
– System gwarantuje spójność pamięci podręcznej dla
każdego procesora.
27/36
1
2
3
4
5
4. NUMA = Nonuniform Memory Access
CC-NUMA - organizacja
28/36
1
2
3
4
5
4. NUMA = Nonuniform Memory Access
• Każdy procesor ma swoją własną pamięć
lokalną
• Procesor wraz z pamięcią podręczną,
pamięcią lokalną i zbiorem urządzeń
wejścia/wyjścia tworzy węzeł
• Każdy węzeł połączony jest z innymi
szybką infrastrukturą sieciową.
• Każdy procesor widzi całą pamięć
systemu w liniowej przestrzenii adresowej.
CC-NUMA - cechy
29/36
1
2
3
4
5
4. NUMA = Nonuniform Memory Access
• Każdy węzeł zawiera informacje o umieszczeniu
wszystkich kopi danego bloku pamięci w
pamięciach podręcznych różnych procesorów.
• Wszelkie modyfikacje w pamięci podręcznej są
związane z koniecznością poinformowania
wszystkich węzłów posiadającą zmienną w
pamięci podręcznej o dezaktualizacji jej wartości.
CC-NUMA – zarządzanie pamięcią cache
30/36
1
2
3
4
5
4. NUMA = Nonuniform Memory Access
CC-NUMA – zalety i wady
• CC-NUMA efektywne przy dużym stopniu
równoległości (większym niż SMP).
• Nie wymagają bardzo istotnych zmian w
oprogramowaniu.
• Efektywność może znacząco się obniżyć gdy
występuje dużo dalekich odwołań do pamięci.
– Problem częściowo może być rozwiążany przez:
• Pamięć podręczną.
• Pamięć wirtualną.
• Przejście od SMP do CC-NUMA nie jest niestety
automatyczne.
– Wymagana allokacja stron, allokacja procesów,
balansowanie obciążenia itp.
5. Procesory Wektorowe
31/36
1
2
3
4
5
Vector Processors - motywacja
5. Procesory Wektorowe
32/36
1
2
3
4
5
Vector Processors - rozwiązania
5. Procesory Wektorowe
33/36
1
2
3
4
5
Vector Processors –
przetwarzanie
potokowe
5. Procesory Wektorowe
34/36
1
2
3
4
5
IBM 3090
Superkomputery i równoległość przetwarzania
35/36
Polecana literatura
1) W. Stallings, Organizacja i architektura systemu komputerowego, WNT 2004
Rozdział 18
strony 710 - 818
108 stron
Superkomputery i równoległość przetwarzania
36/36
KONIEC
dr inż. Mariusz Kapruziak
mkapruziak@wi.ps.pl
pok. 107, tel. 449 55 44