16. Taksonomia Flynn`a. Taksonomia systemów komputerowych

Transkrypt

16. Taksonomia Flynn`a. Taksonomia systemów komputerowych
16. Taksonomia Flynn'a.
Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur
komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela
Flynna, opierająca się na liczbie przetwarzanych strumieni danych i strumieni rozkazów.
W taksonomii tej wyróŜnia się cztery grupy:
SISD (Single Instruction, Single Data) - przetwarzany jest jeden strumień danych
przez jeden wykonywany program - komputery skalarne (sekwencyjne). Zawierają jeden
procesor i jeden blok pamięci operacyjnej. Komputery wg architektury von Neumann’a
SIMD (Single Instruction, Multiple Data) - przetwarzane jest wiele strumieni danych
przez jeden wykonywany program - tzw. komputery wektorowe. Tablice procesorów –
wiele prostych procesorów wykonujących operacje skalarne. Komputery SIMD stosowane
do obliczeń naukowo-technicznych, jednostki realizujące zadania SIMD obecne są takŜe w
procesorze Pentium.
MISD (Multiple Instruction, Single Data) - wiele równolegle wykonywanych
programów przetwarza jednocześnie jeden wspólny strumień danych. Systolic Arrays
(szeregi tętniące) – układy kolejek priorytetowych. Praktycznie nie stosowana, spotykana
czasem w układach DSP (digital signal processing)
MIMD (Multiple Instruction, Multiple Data) - równolegle wykonywanych jest wiele
programów, z których kaŜdy przetwarza własne strumienie danych - przykładem mogą
być komputery wieloprocesorowe, a takŜe klastry i gridy. NajwaŜniejszy typ architektury
komputerów równoległych
17. Architektury pamięci.
Dwie architektury pamięci:
- Shared Memory (SM) – pamięć współdzielona
- Distributed Memory (DM) – pamięć rozproszona
SM (Shared Memory)
– maszyny z pamięcią wspólną (współdzieloną, globalną);
– wszystkie procesory mają tę samą przestrzeń adresową;
– dostęp do danych zgodnie z regułami zasięgu danego języka programowania;
– SMP – wariant: Symmetric Multi Processing.
DM (Distributed Memory)
– maszyny z pamięcią rozproszoną (lokalną);
– maszyny z procesorami posiadającymi kaŜdy odrębną pamięć (przestrzeń adresową);
– takŜe systemy połączone przez sieć (klastery);
– Programista musi dokonać explicite podziału danych między procesory;
– większa skalowalność.
18. Atrybuty maszyn SISD.
Występują w nich pewne elementy rownoległości
- pipelining . przetwarzanie potokowe,
- SSE . rozszerzenia streaming SIMD extensions.
Systemy wieloprocesorowe wykonujące niezaleŜne programy sekwencyjne.
19. Atrybuty maszyn (SM-, DM-) SIMD.
SM-SIMD – maszyny wektorowe:
– w sposób równoległy (po współrzędnych) wykonywane są ciągi tych samych operacji,
– zrównoleglanie wykonywane automatycznie poprzez kompilator,
– przykłady: CDC Cyber 205, Cray 1, Cray 2.
DM-SIMD – tablice procesorów:
– jeden procesor sterujący,
– duŜa ilość prostych procesorów z pamięcią lokalną połączonych tylko z sąsiadami,
– ta sama instrukcja wykonywana na lokalnych danych przez wszystkie procesory,
– wymiana danych tylko z sąsiadami (routing),
– specjalistyczne i historyczne (lata 80-te XX w.),
– przykłady: Thinking Machines CM-2, MasPar MP-1.
20. Atrybuty i architektury pamięci maszyn SM-MIMD.
SM-MIMD – pamięć wspólna
– umiarkowana liczba działających niezaleŜnie procesorów,
– globalna pamięć, jednorodnie adresowana,
– teoretyczny model PRAM (Parallel RandomAccess Memory),
– SMP (Symmetric Multi-Processing) – oznaczenie marketingowe,
– przykłady: Cray T90, SGI Challenge, Sun 690.
W praktyce dostęp do pamięci nie jest całkowicie jednolity:
– przełącznica krzyŜowa (crossbar switch)
– zapewnia ten sam czas dostępu,
– wspólna magistrala danych (bus) – najtańsze rozwiązanie,
– wielostopniowa przełącznica krzyŜowa (np. typu W).
Crossbar switch:
Bus:
Cache:
Omega switch:
Koszty połączeń:
Przełącznica krzyŜowa – O(p2)
– czas odczytu średnio jak dla 1-go procesora
• Magistrala – O(p)
– pamięć cache buforująca często uŜywane dane,
– czas dostępu moŜe rosnąć aŜ do p
• Przełącznica Omega – O(p log2 p)
– elementy łączą we z wy na wprost gdy i-ty bit adresu źródła jest równy i-temu bitowi
adresu celu,
– w kolejnych warstwach adresy przesunięte o jeden z zapętleniem,
– jednocześnie moŜna przesłać p pakietów
Cechy SM-MIMD:
Zaletę stanowi względna łatwość realizacji oraz programowania:
– jednolita przestrzeń adresowa, zbędne
specjalne mechanizmy komunikacji,
– konieczny mechanizm synchronizacji.
• Słaba skalowalność liczby procesorów:
– brak moŜliwości proporcjonalnego wzrostu
przepustowości dostępu do pamięci.