Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna...

50
Systemy wieloprocesorowe i wielokomputerowe

Transcript of Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna...

Page 1: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Systemy wieloprocesorowe i wielokomputerowe

Page 2: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Taksonomia Flynna

Uwzględnia następujące czynniki:

• Liczbę strumieni instrukcji

• Liczbę strumieni danych

Klasyfikacja bierze się pod uwagę:

• Jednostkę przetwarzającą JP

• Moduł pamięci MP

Page 3: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Skrót Nazwa Liczba strumieni instrukcji

Liczba strumieni danych

SISD Single Instruction Single Data 1 1

SIMD Single Instruction Multiplie Data 1 wiele

MISD Multiplie Instruction Single Data wiele 1

MIMD Multiplie Instruction Multiplie Data wiele wiele

Taksonomia Flynna

Page 4: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

SISD - Single Instruction, Single Data

Przykład: urządzenia jednoprocesorowe

Elementy równoległości: przetwarzanie potokowe i super skalarne;

Page 5: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Single Instruction Multiplie Data

Przykład: komputery wektorowe i macierzowe. takie same instrukcje na oddzielnych danych.

Page 6: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Procesory macierzowe

Procesor macierzowy składa się z siatki (dwu lub trzy wymiarowej) jednakowych procesorów posiadających pamięci lokalne wykonujących jeden program.

Page 7: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Procesory macierzowe

Page 8: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Przykład: Za pierwszy komputer macierzowy zbudowany według

architektury SIMD źródła podają komputer ILLIAC IV. Projekt z lat 60 w University of Illinois a maszyna weszła do eksploatacji w roku 1972.

• Maszyna składała się z jednostki sterującej rozgłaszającej rozkazy do 64 jednostek przetwarzających (w rzeczywistości zbudowano tylko 16 jednostek).

• Każda z tych jednostek operowała na pamięci lokalnej zawierającej 2K słów 64 bitowych i mogła komunikować się bezpośrednio z czterema innymi procesorami.

• Wydajność maszyny sięgnęła 50 MFlops i była daleko poniżej zakładanej wydajności 1000 MFlops.

Procesory macierzowe

Page 9: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Procesory wektorowe

• Procesor wektorowy operuje na wektorach czyli wielu wielkościach skalarnych jednocześnie.

• Komputer wektorowy składa się z części zawierającej procesor konwencjonalny i uzupełniony jest o procesor wektorowy będący jednostką wykonującą operacje na długich rejestrach danych.

• Procesory wektorowe są elementami wielu superkomputerów (DCD Cyber 205, Cray 1, Cray 2, Cray 3, Fujitsu VPX 2000, Hitachi S3600).

W procesorach Pentium zastosowano po raz pierwszy mechanizmy MMX (ang. MultiMedia eXtension) i SSE (ang. Streaming SIMD Extensions). Mechanizm MMX - wykonywanie operacji logicznych i arytmetycznych na wektorach 64 bitowych (liczbach całkowitych). Mechanizm SSE - wykonywanie operacji zmiennoprzecinkowych na wektorach zawierających 4 liczby zmiennoprzecinkowe (każda zajmuje 32 bity).

Page 10: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Procesory wektorowe

Instrukcje MMX (ang. MultiMedia eXtension) zestaw 57 instrukcji SIMD; nowe typy danych ang. packed - wektor i macierz lub

tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości: 8 × 8 bitów (packed byte), 4 × 16 bitów (packed word), 2 × 32 bity (packed dword), 1 × 64 bity (quad word).

Operacje wykonywane na typach wektorowych dotyczą wszystkich komórek jednocześnie. Dodawanie dwóch wektorów 8 x 8 bitów, powoduje wykonanie pojedynczego rozkazu, który zawiera osiem operacji dodawania danych.

Page 11: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Procesory wektorowe

Arytmetyka MMX (ang. MultiMedia eXtension) Arytmetyka nasyceniowa ang. saturated arithmetic –

jeśli wynik przekracza wartość danego typu zapisywana jest wartość skrajna;

Arytmetyka modulo ang. wraparound – przekroczenie wartości skrajnej nie jest sygnalizowane jako wynik zapisywane są najmłodsze bity;

Porównania: porównanie wielu elementów jednocześnie; brak ustawiania flag ALU wynikiem jest nowy wektor – wartości odpowiadają

rezultatowi porównania poszczególnych elementów – rezultat zgodny wszystkie elementy = 1, rezultat fałszywy wszystkie elementy = 0;

Page 12: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Procesory wektorowe

MMX (ang. MultiMedia eXtension) Przykłady zastosowań: wyświetlanie grafiki trójwymiarowej: przekształcenia

geometryczne, cieniowanie, teksturowanie; dekodowanie obrazów JPEG i PNG; dekodowanie i kodowanie filmów MPEG (m.in. wyznaczanie

transformat DCT ang. Discrete Cosine Transform i IDCT ang. Inverse Discrete Cosine Transformation);

filtrowanie sygnałów: obrazów statycznych, filmów, dźwięku;

wyświetlanie grafiki dwuwymiarowej (blue box, maskowanie, przezroczystość);

wyznaczanie transformat: Haara, FFT.

Page 13: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Procesory wektorowe Instrukcje SSE (ang. Streaming SIMD Extensions) zestaw 48 instrukcji SSE, dodatkowo 11 nowych instrukcji MMX; nowe rejestry 128 bitowe XMM i rejestr sterujący 32 bitowy

MXCSR; nowe typy danych - 4-elementowy wektor liczb

zmiennoprzecinkowych pojedynczej precyzji (ang. 128-bit packed sigle-precision floating-point), typy MMX;

dwa sposoby wykonywania działań arytmetycznych na wektorach liczb zmiennoprzecinkowych: packed (równoległe) – 4 niezależne operacje zmiennoprzecinkowe na

odpowiadających sobie elementach wektorów; scalar (skalarne) – operacje tylko na pierwszych elementach wektorów.

dla nazw instrukcji działających na liczbach zmiennoprzecinkowych nie wprowadzono żadnego prefiksu; jednak podobnie jak w MMX sufiks nazwy określa typ: PS (packed single) – działanie na wektorach, SS (scalar single) – działanie na skalarach.

Page 14: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Single Instruction Multiplie Data Współcześnie wg koncepcji SIMD budowane są akceleratory graficzne wykorzystywane w komputerach PC.

Nvidia - GeForce GTX TITAN liczba rdzeni CUDA (ang. Compute Unified Device Architecture) 2688:

5 – GPCs – Graphics Processor Clasters;

14 – SMx – Streaming Multi-processors;

192 - stream processors;

Page 15: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Nvidia GeForce KEPLER

Page 16: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Single Instruction Multiplie Data

Własności komputerów SIMD: • Większość systemów składa się z wielu (często

prostych) procesorów. • Wszystkie procesory wykonują tę samą instrukcję ale

dla różnych zestawów danych. • Każdy z procesorów posiada pamięć lokalną ale istnieje

też pamięć wspólna. • Często istnieje połączenie pomiędzy sąsiednimi (lub

innymi) procesorami. • Implementują równoległość drobnoziarnistą (ang. fine-

grained parallelism.)

Page 17: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

MISD - Multiple Instruction Single Data

Page 18: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

MISD - Multiple Instruction Single Data

Przykład: • komputery wysokiej dyspozycyjności; • w pojedynczym strumieniu wyznaczane są beamformery

w różnych pasmach; • zaszyfrowane dane są dekodowane wg różnych

algorytmów.

Page 19: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

MIMD - Multiple Instruction Multiple Data

Page 20: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

MIMD - Multiple Instruction Multiple Data

Do grupy systemów MIMD zalicza się całe spektrum komputerów poczynając do stacji roboczych (procesory wielordzeniowe) po superkomputery. Systemy MIMD mają bardzo zróżnicowaną architekturę, a przez to wymagają odrębnych metod programowania. Z uwagi na te właściwości powstały metody dalszego ich klasyfikowania.

Page 21: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

TITAN Supercomputer

http://www.anandtech.com/show/6421/inside-the-titan-supercomputer-299k-amd-x86-cores-and-186k-nvidia-gpu-cores

Page 22: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

TITAN Supercomputer

http://www.anandtech.com/show/6421/inside-the-titan-supercomputer-299k-amd-x86-cores-and-186k-nvidia-gpu-cores

http://www.top500.org/lists/2012/11/

Page 23: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Manufacturer: NUDT

Cores: 3,120,000

Linpack Performance (Rmax) 33,862.7 TFlop/s

Theoretical Peak (Rpeak) 54,902.4 TFlop/s

Power: 17,808.00 kW

Memory: 1,024,000 GB

Interconnect: TH Express-2

Operating System: Kylin Linux

Compiler: icc

Math Library: Intel MKL-11.0.0

MPI: MPICH2 with a customized GLEX channel

Tianhe-2 (MilkyWay-2)

Page 24: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Taksonomia Flynn’a rozszerzenie Tanneubauma

Kryterium – sposób komunikacji pomiędzy procesorami.

Komunikacja może być realizowany poprzez:

• wspólną pamięć;

• system wejścia wyjścia.

Page 25: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Konstrukcja, w której procesory komunikują się poprzez pamięć dzieloną nazywa się wieloprocesorem (ang. Multiprocessor).

Gdy procesory komunikują się poprzez urządzenia wejścia wyjścia mamy do czynienia z wielokomputerem (ang. Multicomputer).

Taksonomia Flynn’a rozszerzenie Tanneubauma

Page 26: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Taksonomia Flynn’a rozszerzenie Tanneubauma

Page 27: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Multiprocesory

Przestrzeń adresowa współdzielona pomiędzy wszystkie procesory

Page 28: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Multiprocesory

Własności multiprocesorów:

• Dostęp do pamięci jest wąskim gardłem ograniczającym wydajność systemu.

• Komunikacja procesów odbywa się przez wspólną pamięć – nie trzeba specjalnych mechanizmów komunikacyjnych.

• Konieczność synchronizacji dostępu do zmiennych współdzielonych.

Page 29: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Multikomputery – ang. Multi-computers

Page 30: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Multikomputery

Własności: • Każdy z procesorów ma swoją lokalną

pamięć. • Komunikacja procesów odbywa się przez

system wejścia/wyjścia przy wykorzystaniu abstrakcji komunikatów.

Page 31: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Taksonomia Johnsona

Modyfikacja klasyfikacji Flynna – kategoria systemów MIMD podzielona została na cztery podkategorie w zależności od zastosowanej w nich struktury pamięci. Typ pamięci: GM – pamięć globalna, ang. Global Memory. DM – pamięć rozproszona, ang. Distributed Memory. Sposób dostępu do pamięci: SV – współdzielone zmienne, ang. Shared Variables. MP – przekazywanie komunikatów, ang. Message Passing.

Page 32: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Taksonomia Johnsona

Pamięć globalna GM Pamięć rozproszona DM

Komunikacja poprzez zmienne dzielone SV Shared Variables

GMSV DMSV

Komunikacja poprzez przekazywanie komunikatów MP Message Passing

GMMP DMMP

Page 33: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Taksonomia Johnsona

Komputery należące do grupy GMSV są ściśle powiązanymi ze sobą wieloprocesorami , których liczba w większości rozwiązań nie przekracza 20. Dostęp do pamięci realizowany jest przy użyciu współdzielonej magistrali. DMMP – wysoko skalowalne wielokomputery: • wyposażone w pamięć rozproszoną; • wykorzystujące różnorodne mechanizmy dostępu do pamięci; • posiadające kilka przestrzeni adresowych; • wykorzystujące mechanizm przesyłania komunikatów. Ze względu na różnorodność rozwiązań zgodnych z architekturą DMMP wydziela się wśród nich mniejsze klasy.

Page 34: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Taksonomia Johnsona

DMSV – skalowalne wieloprocesory wykorzystujące: • współdzielenie zmiennych zamiast przesyłania

komunikatów; • zastosowanie globalnej przestrzeni adresowej. Ilość procesorów nie przekracza 256, a wykorzystywane topologie ich połączeń to hipersześcian i kratownica. GMMP – wykorzystują: • pamięć globalną oraz • mechanizm przesyłania komunikatów. Brak praktycznej implementacje tej kategorii.

Page 35: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Klasyfikacja równoległości: • Procesory superskalarne i procesory

wektorowe; • Procesory wielordzeniowe; • Systemy SMP / Systemy NUMA; • Klastry; • Systemy masywnie równoległe; • Gridy.

Page 36: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Zwiększanie mocy obliczeniowej poprzez zrównoleglenie na poziomie instrukcji ma swoje granice wynikające z ograniczeń technologicznych. Dalsze przyspieszenie może być osiągnięte poprzez wskazanie części kodu, która może być wykonywana równolegle. Nazwane jest to zrównolegleniem na poziomie wątków, ang. Thread Level Parallelism.

Systemy z pamięcią dzieloną

Page 37: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Multiprocesory z siecią w pełni połączoną

Wieloprocesor z przełącznicą krzyżową

Page 38: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Rozwiązaniem wąskiego gardła przy dostępie do wspólnej pamięci było zastosowanie tak zwanej przełącznicy krzyżowej (ang. Crossbar Switch), która jest przykładem sieci w pełni połączonych (ang. Fully Connected Networks). Zalety - jednoczesny dostęp wielu procesorów do wielu modułów pamięci (pod warunkiem że dany moduł nie jest zajęty), sieci nieblokujące. Wady - znaczna liczba magistral i przełączników co przy większej liczbie modułów pociąga za sobą znaczne koszty. Przy n procesorach i k modułach pamięci liczba przełączników proporcjonalna do k×n . Komputer Sun Fire E25K wykorzystuje przełącznicę krzyżową wymiaru 18x18

Multiprocesory

Page 39: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Sun Fire E25K Server specyfikacja: - do 72 procesorów; - 1.5GHz UltraSPARC IV+ i/lub 1.05GHz/1.2GHz/1.35GHz

UltraSPARC V i/lub 1.2GHz UltraSPARC III processors; Superscalar SPARC V9, ECC protected

- Cache: - Level 1: 64 KB data and 64 KB instruction per pipeline; - Level 2: 2 MB on-chip; - Level 3: 32 MB external;

- System Interconnect - 150 MHz Sun Fireplane redundant 18x18 data, address, and response crossbar interconnect

Multiprocesory

Page 40: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Wieloprocesory z siecią wielostopniową

Sieci wielostopniowe (ang. Multistage Networks) stanowią kompromis pomiędzy kosztami a wydajnością. Wykazują większą wydajność niż konstrukcje ze wspólną magistralą i mniejszy koszt niż rozwiązania z przełącznicą krzyżową.

Page 41: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Wieloprocesory z siecią wielostopniową

Przykład sieci wielostopniowej – sieć omega

Sieć omega zawierająca n procesorów i n modułów pamięci składała się będzie z stopni a w każdym stopniu będzie przełączników. W całej sieci będzie przełączników. W przełącznicy krzyżowej – n2 . Przełącznica krzyżowa dla 8 procesorów i 8 pamięci zawierała będzie 64 przełączniki podczas gdy sieć omega tylko 12.

nn

2log2

n2log

2

n

Page 42: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Wieloprocesory z pamięcią wieloportową

Przeniesienie układów logicznych, odpowiedzialnych za obsługę transmisji i zgłoszeń dostępu, z punktów krzyżowych (w przełącznicy krzyżowej) do wnętrza modułów pamięci, prowadzi do organizacji zwanej pamięcią wieloportową, ang. multiport memory.

Właściwości systemów opartych na pamięciach wieloportowych: - skomplikowany druk, - kosztowna pamięć, - ograniczenie konfiguracji i maksymalnej przepustowości systemu przez liczbę portów do modułu pamięci

Page 43: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas
Page 44: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Wyróżnia się trzy podstawowe rodzaje klastrów: • klastry wysokiej dostępności (ang. high availability

clusters – HA), • klastry zrównoważonego obciążenia (ang. load

balancing clusters – LB), • klastry wysokiej wydajności (ang. high performance

clusters – HPC).

Klastry

Page 45: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Klaster wysokiej dostępności

Najprostszy klaster tego typu składa się z dwóch węzłów, węzła aktywnego, aktualnie oferującego daną usługę oraz węzła oczekującego i monitorującego pracę węzła aktywnego. W przypadku awarii węzła aktywnego, węzeł będący w spoczynku przechodzi w stan aktywności - przejmuje adres IP odchodzącego węzła, uzyskuje dostęp do współdzielonych zasobów a następnie uruchamia odpowiednie usługi - umożliwiając dalszą pracę. Współdzielenie danych pomiędzy węzłami może odbywać się za sprawą replikacji programowej (np. DRBD Distributed Replicated Block Device) bądź też dzięki rozwiązaniu sprzętowemu. Przykładem dosyć popularnego oprogramowania typu OpenSource oferującego funkcjonalność wysokiej dostępności jest projekt Linux-HA

Klastry HA = gwarancja dostępności usług oferowanych poprzez klaster.

Page 46: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Klaster zrównoważonego obciążenia

Klastry LB = gwarancja zrównoważonego obciążenia na wszystkie węzły klastra.

Przekierowanie żądania do innego węzła odbywa się na podstawie analizy obciążenia (wykorzystania procesora, pamięci) węzłów. Nie dopuszcza się do sytuacji, w której niektóre z węzłów są w stanie pełnej zajętości, a inne wolne od wykonywania jakichkolwiek zadań. Zadaniem mechanizmu LB jest pełne wykorzystanie mocy klastra. Umożliwia on również wykrywanie awarii węzłów bądź też wykrycie całkowitego wyłączenia węzła.

Przykładem projektów realizujących założenia klastra zrównoważonego obciążenia jest LVS (Linux Virtual Server) oraz openMosix .

Page 47: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Klaster wysokiej wydajności

Poprzez klaster wysokiej wydajności (ang. high performance computing - HPC) rozumie się grupę komputerów wykorzystywaną do wykonywania obliczeń. Klastry tego typu ze względu na oferowaną dużą moc obliczeniową są szczególnie popularne w środowiskach naukowych. Używa się ich do uruchamiania programów wykonujących obliczenia.

Page 48: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Poniżej kilka przykładowych zastosowań systemów HPC: • analiza danych w poszukiwaniu złóż ropy naftowej czy też gazu ziemnego (do

rekonstrukcji niewielkich obszarów potrzebne są terabajty danych), • symulacje aerodynamiczne przy projektowaniu silników oraz samolotów, • projektowanie systemów do przewidywania trzęsień ziemi, • w naukach biomedycznych np. symulacja procesu fałdowania białek, który w

przyrodzie zachodzi bardzo szybko tj. około jednej milionowej części sekundy (zaburzenie tego procesu może prowadzić do choroby Alzheimera) - symulacja tego procesu na zwykłym komputerze zajęłaby dekady,

• modelowanie farmaceutyczne, • modelowanie wyników finansowych, • symulacje astrofizyczne, • symulacje klimatu Ziemi (modelowanie aktualnie zachodzących zjawisk

klimatycznych oraz ich przewidywanie), • zastosowanie w kinematografii przy tworzeniu efektów specjalnych w filmach;

renderowanie graficzne przy manipulowaniu obrazem wysokiej rozdzielczości.

Klaster wysokiej wydajności

Page 49: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Klasyfikacja klastrów Kryterium sprzęt i sieć

Klastry heterogeniczne: • uruchamiane w środowiskach heterogenicznych, czyli niejednorodnych; • zbudowane z komputerów pochodzących od różnych producentów; • komputery pracują na różnych systemach operacyjnych; • elementy klastra wykorzystują różne protokoły sieciowe.

Klastry homogeniczne: • uruchamiane w środowiskach homogenicznych, czyli jednorodnych; • zbudowane w oparciu o sprzęt tego samego, lub kompatybilnego producenta. • komputery pracują pod kontrolą tego samego systemu operacyjnego.

Page 50: Systemy wieloprocesorowe i wielokomputerowe...tablica – 64-bitowa dana traktowana jest jak pewna liczba odrębnych komórek o tej samej wielkości ... będzie 64 przełączniki podczas

Klastry