Miary efektywności zrównleglenia

Podobne dokumenty
16. Taksonomia Flynn'a.

21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine

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

Nowoczesne technologie przetwarzania informacji

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Architektura komputerów

dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Architektura mikroprocesorów TEO 2009/2010

Przetwarzanie równoległesprzęt

Programowanie współbieżne Wstęp do obliczeń równoległych. Rafał Skinderowicz

dr inż. Jarosław Forenc

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

Architektura komputerów

3.Przeglądarchitektur

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

Obliczenia Wysokiej Wydajności

dr inż. Jarosław Forenc

Systemy wieloprocesorowe i wielokomputerowe

Analiza ilościowa w przetwarzaniu równoległym

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Algorytmy i Struktury Danych

Architektura Komputerów

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc

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

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

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

Architektura von Neumanna

3.Przeglądarchitektur

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

Algorytmy dla maszyny PRAM

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

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

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

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

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015

Obliczenia Wysokiej Wydajności

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

dr inż. Jarosław Forenc

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

Komputery równoległe. Zbigniew Koza. Wrocław, 2012

Programowanie współbieżne Wykład 2. Iwona Kochańska

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona

Programowanie współbieżne i rozproszone

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

dr inż. Jarosław Forenc

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

Architektury równoległe

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

O superkomputerach. Marek Grabowski

System mikroprocesorowy i peryferia. Dariusz Chaberski

Analiza efektywności przetwarzania współbieżnego

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Numeryczna algebra liniowa

Architektura komputerów

Symulacje kinetyczne Par2cle In Cell w astrofizyce wysokich energii Wykład 7

Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych

OBLICZENIA RÓWNOLEGŁE I ROZPROSZONE

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Programowanie Równoległe i Rozproszone

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

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

Klasyfikacja systemów komputerowych. Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż. Jarosław Forenc

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

Architektura komputerów

Budowa komputera Komputer computer computare

10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu

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

Sprzęt czyli architektury systemów równoległych

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Operacje grupowego przesyłania komunikatów

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

Systemy rozproszone. Państwowa Wyższa Szkoła Zawodowa w Chełmie. ** Instytut Fizyki Uniwersytet Marii Curie-Skłodowskiej w Lublinie

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

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

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Budowa Mikrokomputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Programowanie Rozproszone i Równoległe

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wykład 2. Temat: (Nie)zawodność sprzętu komputerowego. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

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

Informatyka 1. Wykład nr 5 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Systemy wieloprocesorowe i wielokomputerowe

Cyfronet w CTA. Andrzej Oziębło DKDM

LEKCJA TEMAT: Zasada działania komputera.

PR sprzęt (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: jesień 2016

Transkrypt:

Zagadnienia Miary efektywności zrównoleglenia Trendy rynku maszyn równoległych Klasyfikacja maszyn równoległych Przegląd topologii architektur równoległych

Miary efektywności zrównleglenia Oszacowanie wzrostu wydajności obliczeń realizowanych w sposób równoległy w stosunku do rozwiązania sekwencyjnego Oznaczenia: n wielkość zadania, p liczba procesorów, T(n,p) czas wykonania programu realizującego ten sam algorytm dla zadania o wielkości n na maszynie równoległej z p procesorami.

Współczynnik przyspieszenia Współczynnik przyspieszenia (Speedup) zadania o wielkości n dzięki zrównolegleniu na p procesorów: S n, p = T n,1 T n, p Zachodzi nierówność: S n, p p

Założenia modelowe Zakładamy, że program składa się z kilku części wykonywanych równolegle poprzedzielanych częściami, które muszą być wykonywane sekwencyjnie. Oznaczenia: β(n) udział części sekwencyjnej (część T(n,1), która nie da się zrównoleglić), Część sekwencyjna (czas): σ(n) = β(n) T(n,1). Część równoległa: ϕ(n) = (1 β(n)) T(n,1), może być zrównoleglona idealnie (rozłożona na dowolną ilość procesorów). κ(n,p) czas zużyty na narzuty na synchronizację i komunikację międzyprocesową.

Efekt zrównoleglenia β t s (1-β)t s p (1-β)t s /p

Efekt zrównoleglenia Czas wykonania zadania o rozmiarze n na maszynie równoległej o p procesorach: T n, 1 =σ n ϕ n T n, p =σ n ϕ n p κ n, p Zdefiniujmy udział sekwencyjny: σ n β n = σ n ϕ n

Prawo Amdahla Czas wykonania na maszynie równoległej o p procesorach (założenie: κ(n,p) = 0): 1 β n T n,1 T n, p =β n T n,1 p lub S n, p = T n,1 T n, p = 1 1 β n β n p

Speedup β=0% Speedup, S(p) β=5% β=10% β=20% liczba procesorów, p

p=256 Speedup Speedup, S(p) p=16 udział części sekwencyjnej, β

Prawo Amdahla S n, p 1 p β n Nawet przy użyciu dowolnie wielu procesorów, obliczeń nie da się przyspieszyć bardziej, niż wynosi odwrotność udziału części sekwencyjnej w programie wykonywanym na jednym procesorze.

Prawo Amdahla Jeżeli czas części sekwencyjnych jest stały i równy β s T(1,1), a czas części równoległej jest proporcjonalny do rozmiaru n zadania, to: β n = β s β s n 1 β s = 1 1 n 1 β s 1

Prawo Amdahla Jeżeli czas wykonania części sekwencyjnej jest proporcjonalny do wielkości zadania (np. n β s ), a czas części równoległej ~ n 2 (np. n 2 (1- β s )), to: β n n 0 czyli S n, p p

Efekt Amdahla Zwykle narzut komunikacyjny ma mniejszą złożoność obliczeniową niż część idealnie dająca się zrównoleglić. Zwiększenie rozmiaru zadania powoduje wzrost czasu obliczeń szybciej niż czas komunikacji. Dla stałej ilości procesorów, przyśpieszenie jest rosnącą funkcją rozmiaru zadania.

Wniosek Powodem stosowania obliczeń równoległych jest chęć rozwiązywania dużych (o dużej wymiarowości) przykładów tego samego zadania niż szybszego uzyskania wyników małego wymiaru.

Prawo Gustafsona-Barsisa Niech s (małe) oznacza udział części sekwencyjnej rozwiązania równoległego, wtedy: s= σ n σ n ϕ n / p Definicja przyspieszenia: 1 s = ϕ n / p σ n ϕ n / p S n, p = σ n ϕ n σ n ϕ n / p κ n, p =0

Prawo Gustafsona-Barsisa Po podstawieniu s do wyrażenia na Speedup: S n, p = σ n σ n n / p n σ n n / p S n, p =s p 1 s = p s p 1 Współczynnik s jest funkcją rozmiaru problemu, a więc rozwiązywanie większych problemów pozwala ominąć ograniczenie wynikające z prawa Amdahla.

Metryka Karpa-Flatta Uwzględnia wpływ narzutu komunikacyjnego. Niech e oznacza tzw. eksperymentalnie określony udział części sekwencyjnej rozwiązania równoległego: e=[ σ n κ n, p ]/T n,1 T n, p =T n,1 e T n,1 1 e / p T n, p =T n, p S n, p e T n, p S n, p 1 e / p e= 1/ S n, p 1 / p 1 1/ p

Metryka Karpa-Flatta Umożliwia oszacowanie czy spadek wydajności zrównoleglenia zachodzi na skutek: ograniczonego potencjału zrównoleglenia, wzrostu narzutów algorytmicznych.

Przykład e nie rośnie ze wzrostem p brak potencjału zrównoleglenia duża część obliczeń jest immanentnie sekwencyjna. p 2 3 4 5 6 7 8 S 1.82 2.5 3.08 3.57 4.0 4.38 4.71 e 0.1 0.1 0.1 0.1 0.1 0.1 0.1 e rośnie ze wzrostem p przyczyną słabego przyspieszenia jest narzut (na inicjalizację, komunikację, synchronizację, itp.). p 2 3 4 5 6 7 8 S 1.87 2.61 3.23 3.73 4.14 4.46 4.71 e 0.07 0.075 0.8 0.085 0.09 0.095 0.1

Uwaga Osłabieniem ograniczenia narzucanego przez prawo Amdahla jest stosowanie obliczeń asynchronicznych. Nie ma w nich sztywnego podziału na część dającą się zrównoleglić i nie.

Skalowalność i sprawność Właściwość systemu (sprzętu i oprogramowania) polegająca na elastycznym dostosowywaniu się do zwiększonej liczby procesorów tj. zachowującym tę samą sprawność. η(n,p) sprawność programu o wielkości n na maszynie o p procesorach: η n, p = S n, p 100 p

Metryka stałej sprawności Speedup: σ n ϕ n S n, p = σ n ϕ n / p κ n, p = p σ n ϕ n σ n ϕ n p 1 σ n pκ n, p Niech T 0 (n,p) całkowity czas zużyty przez wszystkie procesy wykonujące operacje nie wchodzące w skład algorytmu sekwencyjnego (narzut). Wtedy: T 0 n, p = p 1 σ n pκ n, p p σ n ϕ n σ n ϕ n S n, p = η n, p = σ n ϕ n T 0 n, p σ n ϕ n T 0 n, p η n, p = 1 1 T 0 n, p σ n ϕ n

Relacja stałej sprawności Skoro T(n,1) czas zużyty wykonania sekwencyjnego, wtedy: 1 η n, p η n, p = T n,1 = 1 T 0 n, p /T n,1 1 η n, p T 0 n, p Niech system równoległy ma sprawność η(n,p). Aby zachować ten sam poziom sprawności ze wzrostem liczby procesorów, n musi wzrosnąć w stopniu spełniającym zależność (isoefficiency relation): T n,1 =CT 0 n, p

Funkcja skalowalności Aby utrzymać tę samą sprawność, po zwiększeniu liczby procesorów p należy zwiększyć wielkość n zadania; Dla danej liczby p można wyznaczyć wielkość zadania przy której jest zachowana ta sama sprawność; Związek ten określa funkcję stałej sprawności (isoefficiency function), monotonicznie rosnącą. Jeśli dany system ma relację stałej sprawności n = f(p), a M(n) oznacza ilość pamięci niezbędnej dla problemu o rozmiarze n, to zależność M(f(p))/p, wyznaczającą ilość pamięci na procesor, nazywamy funkcją skalowalności. Dana architektura jest bardziej skalowalna gdy funkcja ta rośnie wolniej: np. jeśli M(f(n)/p = Θ(1), to system jest w pełni skalowalny.

Funkcja skalowalności 10 8 Pojemność pamięci procesora magana pamięć, M 6 4

Przykłady Równoległa redukcja: złoż. sekw.: Θ(n), złoż. redukcji: Θ(log p) T 0 (n,p) = Θ(p log p) rel. isoeff.: n = C p log p, M(n) = n M(C p log p )/p = C log p Algorytm Floyda (najkrótszej ścieżki): złoż. sekw.: Θ(n 3 ), złoż. komunikacji p procesorów: Θ(n 2 log p) rel. isoeff.: n 3 = C (p n 2 log p), M(n) = n 2 M(C p log p )/p = C 2 p log 2 p Metoda elementów skończonych (PDE): złoż. sekw.: Θ(n 3 ), złoż. komunikacji p procesorów: Θ(n / p) rel. isoeff.: n 2 = C p (n / p)), M(n) = n 2 M(C p )/p = (C p) 2 /p = C 2

Trendy rynku maszyn równoległych Rynek komputerów równoległych podlega dynamicznym zmianom. Wiele systemów jest obecnych na rynku przez dość krótki okres (2-3 lata). Wiele znaczących firm zdążyło przestać istnieć (np. Kendall Square Research, Thinking Machines, Parsytec, Meiko).

Producenci sprzętu superkomputerowego Cray Research Inc. przejęty przez SGI, część odsprzedana firmie Sun, reszta firmie Tera Computer (obecnie przywrócono nazwę Cray) Convex przejęty przez Hewlett-Packard Digital Equipment Corp. (DEC) przejęty przez Compaq (obecnie HP) Silicon Graphics (SGI) International Business Machines (IBM) Hewlett-Packard (HP) Intel Corp. Sun Microsystems NEC, Fujitsu, Hitachi Control Data Corp. (CDC), NCR NVidia

Klastery (grona) Prawo Moore'a wydajność komputerów osobistych (zegar procesora, wielkość pamięci) podwaja się co 18 miesięcy. Powstanie wydajnych sieci: Fast/Gigabit Ethernet, Myrinet, SCI, QsNet, Infiniband (prędkości 1 10 Gbps i więcej). Zakup grupy szybkich PC + sieć co najmniej rząd wielkości tańszy, niż dedykowany komputer wieloprocesorowy. Postępująca dominacja klastrów wśród systemów komputerowych.

Lista TOP500 http://www.top500.org/ jesień 2003 Earth Simulator, Yokohama (NEC) 35.86 Tflops 5120 (8-way nodes) 500 MHz SX-5 CPUs LANL ASCI Q (HP AlphaServer) 13.88 Tflops 4096 (4-way nodes) EV-68 1.25-GHz CPUs, Quadrics Virginia Tech s X cluster (Apple G5) 10.28 Tflops 2200 (2-way nodes) PowerPC 970 2 GHz CPU, Infiniband NCSA Tungsten cluster (Dell PowerEdge) 9.82 Tflops 2500 (2-way nodes) Intel Xeon 3.04 GHz CPU, Myrinet PNNL MPP2 (HP Integrity rx) 8.64 Tflops 1936 (2-way nodes) Intel Itanium-2 1.5 GHz CPU, Quadrics

Lista TOP500 http://www.top500.org/ jesień 2004 DOE BlueGene/L DD2, Rochester (IBM) 70.72 Tflops 32768 (2-way nodes) 700 MHz PowerPC 440 CPUs NASA Columbia, Mountain View (SGI) 51.87 Tflops 10160 (512-way nodes) 1.5 GHz Intel Itanium-2 CPUs, Infiniband Earth Simulator, Yokohama (NEC) 35.86 Tflops 5120 (8-way nodes) 500 MHz SX-5 CPUs BSC MareNostrum, Barcelona (IBM) 20.53 Tflops 3564 (2-way blades) 2.2 GHz PowerPC 970 CPUs, Myrinet LLNL Thunder (Intel/Calif. Digital Corp.) 19.94 Tflops 4096 (4-way nodes) 1.4 GHz Intel Itanium-2 CPUs, Quadrics

Lista TOP500 http://www.top500.org/ jesień 2005 DOE BlueGene/L, LLNL (IBM) 280.6 Tflops 131072 (2-way nodes) 700 MHz PowerPC 440 CPUs, GE IBM BGW BlueGene, Yorktown Heights 91.29 Tflops 40960 (2-way nodes) 700 MHz PowerPC 440 CPUs, GE DOE ASC Purple, LLNL (IBM p575) 63.39 Tflops 10240 (8-way nodes) 1.9 GHz Power5 575 CPUs, IBM Federation NASA Columbia, Mountain View (SGI Altix) 51.87 Tflops 10160 (512-way nodes) 1.5 GHz Intel Itanium-2 CPUs, Infiniband DOE Thunderbird, Sandia NL (Dell) 38.27 Tflops 8000 (2-way nodes) 3.6 GHz Intel Xeon EM64T CPUs, Infiniband

Lista TOP500 http://www.top500.org/ jesień 2006 DOE BlueGene/L, LLNL (IBM) 280.6 Tflops 131072 (2-way nodes) 700 MHz PowerPC 440 CPUs, GE DOE Red Storm, Sandia (Cray) 101.4 Tflops 26544 Opteron 2.4 GHz dual core CPUs, Cray SeaStar, HT IBM BGW BlueGene, Yorktown Heights 91.29 Tflops 40960 (2-way nodes) 700 MHz PowerPC 440 CPUs, GE DOE ASC Purple, LLNL (IBM p575) 75.76 Tflops 12208 (8-way nodes) 1.9 GHz Power5 575 CPUs, IBM Federation BSC MareNostrum, Barcelona (IBM) 62.63 Tflops 10240 (2-way blades) 2.3 GHz PowerPC 970 CPUs, Myrinet

Lista TOP500 http://www.top500.org/ jesień 2007 DOE BlueGene/L, LLNL (IBM) 478.2 Tflops 212992 (2-way nodes) 700 MHz PowerPC 440 CPUs, torus + GE JSC JUGENE, fz Jülich (IBM) 167.3 Tflops 65536 (4-way nodes) 850 MHz PowerPC 450 CPUs, torus + 10GE NMCAC ICE, Rio Rancho (SGI Altix 8200) 126.9 Tflops 14336 (2-way blades) 3 GHz Xeon 53xx CPUs, Infiniband Tata CRL EKA, Pune (HP Cluster BL460c) 117.9 Tflops 14240 (2-way blades) 3 GHz Xeon 53xx CPUs, Infiniband Swedish Gov t Cluster Platform (HP BL460c) 102.8 Tflops 13728 (2-way blades) 3 GHz Xeon 53xx CPUs, Infiniband 428. P1 BladeCenter, Poland (IBM HS21 Cluster) 6.36 Tflops 1288 (2-way blades) 3 GHz Xeon 51xx CPUs, GE

Lista TOP500

TOP 500

TOP 500

Lista TOP500

Lista TOP500

Lista TOP500

Klasyfikacja maszyn równoległych Taksonomia Flynna: SISD (Single Instruction Single Data) SIMD (Single Instruction Multiple Data) MISD (Multiple Instruction Single Data) MIMD (Multiple Instruction Multiple Data)

SISD Klasyczne maszyny sekwencyjne zbudowane wg architektury von Neumanna Zawierają jeden procesor i jeden blok pamięci operacyjnej Program ciąg instrukcji wykonywanych sekwencyjnie

SIMD Te same operacje wykonywane jednocześnie na różnych danych Komputery wektorowe jeden procesor operujący na tablicy danych Tablice procesorów wiele (do kilkunastu tysięcy) prostych procesorów wykonujących te same operacje skalarne

MISD Maszyny wykonujące różne operacje na pojedynczym strumieniu danych Systolic arrays (szeregi tętniące) układy kolejek priorytetowych Architektura występująca sporadycznie w układach DSP (digital signal processing) Brak naturalnego mapowania popularnych konstrukcji programistycznych na MISD

MIMD Poszczególne procesory wykonują różne operacje na różnych danych, stanowiących różne części tego samego zadania obliczeniowego Najważniejszy typ architektury komputerów równoległych

Architektury pamięci 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.

Architektury pamięci 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ść.

Maszyny typu SISD Występują w nich pewne elementy równoległości pipelining przetwarzanie potokowe, SSE rozszerzenia streaming SIMD extensions. Systemy wieloprocesorowe wykonujące niezależne programy sekwencyjne.

Maszyny typu 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.

SM-SIMD Pamięć I/O procesor Cache instrukcji/danych Cache danych Rejestry wektorowe Urządzenia peryferyjne IP/ALU FPU VPU IP/ALU: procesor całkowitoliczbowy FPU: skalarna jednostka zmiennoprzecinkowa VPU: wektorowa jednostka zmiennoprzecinkowa

Maszyny typu SIMD 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.

DM-SIMD Terminal Procesor sterujący Połączenia z terminalem oraz procesorem I/O Tablica procesorów Płaszczyzna rejestrów Sieć połączeń Płaszczyzna wymiany danych Pamięć

Maszyny typu MIMD SM-MIMD pamięć wspólna umiarkowana liczba działających niezależnie procesorów, globalna pamięć, jednorodnie adresowana, teoretyczny model PRAM (Parallel Random Access Memory), SMP (Symmetric Multi-Processing) oznaczenie marketingowe, przykłady: Cray T90, SGI Challenge, Sun 690.

Model PRAM Każdy procesor może uzyskać dostęp do dowolnej komórki pamięci w tym samym czasie. Dostęp do danych: EREW (exclusive read, exclusive write), CREW (concurrent read, exclusive write), CRCW (concurrent read, concurrent write).

SM-MIMD Procesor Procesor Procesor Sieć połączeń Pamięć

SM-MIMD 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 Ω).

Crossbar 0 1 2 3 4 5 6 7 wejście 0 1 2 3 4 5 6 7 wyjście

Bus wejście 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 wyjście

Pamięć cache Procesor Procesor Procesor Cache Cache Cache Sieć połączeń Pamięć

Omega switch

Koszty połączeń Przełącznica krzyżowa O(p 2 ) 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 log 2 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 maszyn 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.

Maszyny typu MIMD DM-MIMD pamięć rozproszona duża liczba procesorów działających niezależnie, każdy procesor dysponuje pamięcią lokalną przechowującą bezpośrednio dostępne obiekty danych, nie dostępną dla innych procesorów, wymiana informacji między procesorami za pomocą komunikatów, MPP (Massive Parallel Processing) łączenie bardzo dużej (tysiące) liczby procesorów, przykłady: Thinking Machines CM-5, Cray T3E, Fujitsu VPP5000, Meiko CS-2, Intel Paragon.

DM-MIMD Pamięć Pamięć Pamięć Procesor Procesor Procesor Sieć połączeń

DM-MIMD Parametry maszyn DM: topologia połączeń między procesorami, średnica d największa odległość między procesorami tj. liczba kanałów do pokonania, Rozpiętość przekroju połówkowego RPP (bisection bandwidth) maksymalna liczba komunikatów, jakie mogą być wysłane jednocześnie przez jedną połowę procesorów do drugiej, inaczej minimalna liczba kanałów, po usunięciu których sieć będzie podzielona na dwie równe części.

Parametry... Maszyny SM (liczba procesorów p): przełącznica krzyżowa, d=1, RPP=0.5p, magistrala, d=1, RPP=1, sieć Ω, d=log 2 p, RPP=p. Maszyny DM (p = n n): siatka 2D, d=2n-2, RPP=n, torus 2D, d=n, RPP=2n, pierścień (torus 1D), d=p-1(1-kier.), RPP=2, drzewo, np. binarne, d=2log 2 [(p+1)/2], RPP=1, hipersześcian (n-wym., p=2 n ), d=n, RPP=p/2=2 n-1.

Topologie maszyn DM Siatka 2D Drzewo binarne Pierścień (torus 1D)

Topologie maszyn DM przełączniki m = 4 węzły m-fat Tree, d=log m n, RPP=p/2 gdzie: m ilość potomków, n ilość warstw, ilość węzłów p=m n, ilość przełączników s=n m n-1, niewielka średnica, dobra skalowalność, niewielka ilość przełączników

rank 0 Butterfly 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 >101 rank 1 > 01 > 1 rank 2 > rank 3

Topologie maszyn DM Hipersześcian 3D Hipersześcian 4D

Drzewo Hypercube Pierścień Fizyczna architektura hipersześcianu pozwala tworzyć różne topologie logiczne Siatka 2D

Atrybuty topologii sieciowych Processor nodes Switch nodes Diameter Bisection width Edges/ nodes Constant edge length 2-D mesh n=d 2 n 2( n 1) n 4 Yes Binary tree n=2 d 2n 1 2 log n 1 3 No 4-Fat tree n=4 2 2n n log n n / 2 6 No Butterfly n=d 2 n (log n+1) log n n / 2 4 No Hypercube n=d 2 n log n n / 2 log n No Omega n=2 k n 2 log n 1 n / log n 2 No

Routing kanalikowy Wormhole routing Rozwiązanie zastępujące hypercube Radykalne skrócenie czasu transmisji Wcześniejsze rozwiązania zakładały przesyłanie komunikatów od węzła do węzła maszyny równoległej (procesor+ pamięć) store and forward.

Store-and-Forward Opóźnienie komunikacyjne: Δt s f = L B D gdzie: L długość pakietu, B przepustowość kanału (channel bandwidth), D długość ścieżki między nadawcą i odbiorcą (liczba odcinków między procesorami).

Wormhole routing Pakiet jest dzielony na bardzo małe części tzw. flity (flow-control digit). Pierwszy flit otwiera drogę pozostałym; na bazie ustalonego algorytmu routingu. Po przesłaniu pierwszego flitu, pozostałe podążają za nim; jeżeli kanał jest zajęty, flity są buforowane w węźle pośrednim, aż do odblokowania. Transmisja ma charakter potokowy: przypomina ruch dżdżownicy (wormhole kanalik).

Wormhole routing Opóźnienie komunikacyjne (brak blokad): Δt whr = L f B D L B = 1 B L f D L gdzie: L f długość flitu. Jeśli L f D<<L, czyli flity są b. krótkie, a odległość między procesorami niezbyt duża, to długość ścieżki D nie wpływa znacząco na opóźnienie.

Sieci komputerów Zaliczane są do kategorii DM-MIMD. COW (Cluster of Workstations) klastery Linux: Beowulf (http://www.beowulf.org/). NOW (Network of Workstations) połączone ad hoc ogólnodostępną siecią lokalną. Zbudowane z komponentów off-the-shelf: niższa o rząd wielkości cena. Problemy: niezawodność, bezpieczeństwo, heterogeniczność sprzętu i oprogramowania.

Systemy hybrydowe Zespoły wieloprocesorowych węzłów SM-MIMD połączone wewnętrzną szybką siecią. Dominujące podejście w nowszych systemach superkomputerowych. Traktowanie jako maszyn DM nieefektywne komunikaty lokalne w węzłach SM. Trudność programowego odwzorowania hierarchicznej budowy. Przykłady: IBM RS/6000 SP, SGI Origin, Cray SV1, HP AlphaServer SC, HP Exemplar.

System hybrydowy Proc. Proc. Proc. Proc. Pamięć Pamięć Proc. Proc. Proc. Proc. Sieć połączeń Urządzenia peryferyjne

Distributed Shared Memory Maszyny hybrydowe z mechanizmem przedstawiającym pamięć rozproszoną fizycznie jako współdzieloną adresowo. Asymetryczny dostęp szybszy do pamięci lokalnej: NUMA (non-uniform memory access), sprzętowe przyspieszanie za pomocą pamięci cache wymaga zachowania spójności danych w całym systemie: ccnuma (cache coherent) Przykład: SGI Origin, HP Exemplar

Single System Image Systemy klastrowe wzorowane na architekturze ccnuma, posiadające jedną kopię systemu operacyjnego zarządzającego wszystkimi węzłami naraz. Upodabnia to funkcjonalnie działanie klastera do systemu typu SMP. Przykład: SGI Altix (klaster Linux, Itanium-2)

Rozwiązania programowe Wirtualna maszyna z pamięcią wspólną ukrywa hybrydową naturę sprzętu High Performance Fortran dyrektywy zrównoleglające Linda przestrzeń krotek