T2-1 – Modele obliczeń
rozproszonych.
Systemy NOW, COW, pula
procesorów,
klaster, GRID.
T2-1 – Modele obliczeń
rozproszonych
2
Marek Nowak
Zasady funkcjonowania opisano m.in. w książce Coulouris G. i inni „Systemy
rozproszone. Zasady i projektowanie.”, WNT, 1998 i późniejsze wydania.
Powyższy rysunek zamieszczono ww. pozycji literaturowej.
Model obliczeniowy – Stacja robocza
= Serwer (1/2)
T2-1 – Modele obliczeń
rozproszonych
3
Marek Nowak
Inna alternatywna nazwa:
NOW (Network of Workstations),
COW (Cluster of Workstations) jest rozwinięciem koncepcji
NOW realizowanym na sprzęcie z wyższej półki niż NOW.
Model obliczeniowy – Stacja robocza
= Serwer (2/2)
T2-1 – Modele obliczeń
rozproszonych
4
Marek Nowak
Zasady funkcjonowania opisano m.in. w książce Coulouris G. i inni „Systemy
rozproszone. Zasady i projektowanie.”, WNT, 1998 i późniejsze wydania.
Powyższy rysunek zamieszczono ww. pozycji literaturowej.
Model obliczeniowy – Pula
procesorów
T2-1 – Modele obliczeń
rozproszonych
5
Marek Nowak
Klaster – definicje – przykłady
Klaster - grupa połączonych jednostek komputerowych,
które współpracują ze sobą w celu udostępnienia
zintegrowanego środowiska pracy.
Klaster jest typem rozproszonego lub równoległego
systemu przetwarzającego składającego sie ze zbioru
połączonych ze sobą siecią komputerów (węzłów)
współpracujących ze sobą, jak jeden zintegrowany zasób.
T2-1 – Modele obliczeń
rozproszonych
6
Marek Nowak
Ze względu na rodzaj świadczonych usług, klastry dzieli się na:
- klastry wysokiej dostępności (ang. high availability cluster – HA):
- stosuje się stabilne i wypróbowane technologie, lecz nieco
starsze,
- ciągły dostęp do danych i usług,
- wiele synchronicznie pracujących węzłów operujących na tych
samych danych,
- każdy z węzłów może w razie awarii zastąpić dowolny z
pozostałych w sposób niezauważalny dla użytkownika,
- przykłady: Solaris, Windows Cluster Server, Linux z jądrem
nowszym niż 2.4.x i funkcją „virtual server”.
- klastry wysokiej wydajności (ang. high performance cluster – HPC):
- stosuje się mniej stabilne i wypróbowane technologie,
- w większości przypadków klastry obliczeniowe niekomercyjne
zastosowania testowanie nowych rozwiązań.
Klastry – rodzaje (1/2)
T2-1 – Modele obliczeń
rozproszonych
7
Marek Nowak
Ze względu na rodzaj świadczonych usług, klastry dzieli się na
(cd.):
- klastry równoważenia obciążenia (ang. load balancing cluster – LB):
- stosuje się stabilne i wypróbowane technologie, lecz nieco
starsze,
- każdy z węzłów wykonuje własne zadania z puli zadań
skierowanych do całego klastra,
- w przeciwieństwie do klastrów wydajnościowych źródło zadań do
wykonania znajduje się poza klastrem,
- przykłady: farma serwerów WWW z programowym albo
sprzętowym load balancer’em.
W praktyce rozwiązania klastrowe mają charakter mieszany i
wykonują dla pewnych aplikacji funkcje wydajnościowe, przy
jednoczesnym odgrywaniu roli niezawodnościowej i/lub
równoważenia obciążenia, np. serwery WWW, poczty.
Klastry – rodzaje (2/2)
T2-1 – Modele obliczeń
rozproszonych
8
Marek Nowak
Klaster obliczeniowy – warstwowy
model architektury
T2-1 – Modele obliczeń
rozproszonych
9
Marek Nowak
Usługi komunikacyjne.
System kolejkowania.
Usługi plikowe:
- lokalne systemy plików: ext2/ext3/ext4, XFS, JFS, ReiserFS,
- sieciowe systemy plików: NFS, PVFS, GPFS, TerraFS, Lustre,
IBRIX, GFS,
- rozproszone systemy plików: AFS, DFS, Coda.
Równoważenie obciążenia.
Middleware – SSI (Single System
Image)
T2-1 – Modele obliczeń
rozproszonych
1
0
Marek Nowak
System zarządzający - System
kolejkowania
Kolejkowanie zadań.
Wybieranie i szeregowanie zadań.
Monitorowanie zasobów.
Zarządzanie zasobami.
Zarządzanie kontami.
Przykłady:
- Condor – systemy UNIX’owe i Windows, migracja procesów,
- Torque – oparty na PBS (Portable Batch System), PBS zgodny
z POSIX, używany np. NASA, obsługa do 2500 procesorów,
- SGE (Sun Grid Engine) – pierwotnie dla systemu Solaris,
obecnie także Linux (np. CentOS) dobrze integruje się ze
środowiskami równoległymi LAM i MPICH,
- DQS (Distributed Queueing System) – heterogeniczne klastry;
dostępny dla Linuxa i AIX; komercyjna wersja to CODINE;
- MOSIX – dostępny dla Linuxa, obsługuje NOW, COW i
Beowulf.
T2-1 – Modele obliczeń
rozproszonych
1
1
Marek Nowak
ARS (Adaptive Resource Sharing),
PPM (Preemptive Process Migration),
Klastrowy system plików oMFS z DFSA (Direct File System
Access).
Równoważenie obciążenia (ang. Load Balancing, Load
Sharing).
Ex. SSI w openMOSIX
T2-1 – Modele obliczeń
rozproszonych
1
2
Marek Nowak
Commodity cluster – klaster zbudowany przy użyciu
ogólnodostępnych podzespołów, co najczęściej oznacza
podzespoły komputerów PC dla architektury x86.
Klastry te charakteryzują się większą liczbą węzłów niż
procesorów w pojedynczym węźle.
Rodzaje klastrów commodity cluster:
- sieci stacji roboczych (NOW) – żaden z węzłów nie jest
uprzywilejowany i każdy ma taki sam zestaw
oprogramowania,
- klastry typu Beowulf – występuje jeden (lub więcej)
wydzielony węzeł zarządzający/dostępowy i wiele węzłów
obliczeniowych; całość najczęściej działa pod kontrolą
systemu operacyjnego Linux (buduje się także klastry
bazujące na systemach Windows).
Klastry komputerów PC - Commodity
clusters (1/3)
T2-1 – Modele obliczeń
rozproszonych
1
3
Marek Nowak
Klastry komputerów PC – odpowiedź na rosnące
zapotrzebowanie na tanią moc obliczeniową,
Rozwinięcie koncepcji sieci stacji roboczych (NOW),
Podstawowa wada systemów NOW to niespójność systemu,
tzn. każdy węzeł jest widziany jako niezależny system, co
utrudnia wykorzystanie jako środowiska do uruchamiania
zadań równoległych,
Wdrożenie SSI zapewnia postrzeganie klastra jako
pojedynczej, wieloprocesorowej maszyny.
Klastry komputerów PC - Commodity
clusters (2/3)
T2-1 – Modele obliczeń
rozproszonych
1
4
Marek Nowak
Rodzaje klastrów komputerów PC (ze względu na sprzęt):
- klasa I – do budowy użyte podzespoły dostępne „z półki”
(OTS – Off The Shelf), czyli popularne komponenty
komputerów PC z siecią komunikacyjną Ethernet,
- klasa II – wykorzystuje droższe technologie (dedykowane
chipset’y, sieci Myrinet, Infiniband, etc.) w celu uzyskania
wyższej wydajności.
Klastry komputerów PC - Commodity
clusters (3/3)
T2-1 – Modele obliczeń
rozproszonych
1
5
Marek Nowak
Klastry – sieci komunikacyjne
Powszechnie stosowane standardy sieci w klastrach to:
- Ethernet – 1 Gb/s i 10 Gb/s,
- Myrinet,
- InfiniBand,
- SCI/Dolphin (ANSI/IEEE 1592-1992),
- cLAN – przełączniki klastrowe wykorzystują
implementację VIA (Virtual Interface Architecture);
dostępne są 8- i 30-portowe przełączniki, oferujące
przepustowość równą 1 Gb/s na porcie (w dwu kierunkach),
- QsNet – mimo dużych kosztów często wybierana do
największych klastrów; przepustowość rzędu Mb/s;
opóźnienie około 5 μs.
T2-1 – Modele obliczeń
rozproszonych
1
6
Marek Nowak
Klastry – sieci komunikacyjne –
Myrinet
- wg
http://www.myri.com/myrinet/overvi
ew
T2-1 – Modele obliczeń
rozproszonych
1
7
Marek Nowak
Klastry – sieci komunikacyjne –
InfiniBand
- wg
http://infiniband.sourceforge.net
T2-1 – Modele obliczeń
rozproszonych
1
8
Marek Nowak
Klastry – sieci komunikacyjne –
porównanie
wg Tomaś A. „Projektowanie klastrów
komputerów PC oraz metody zwiększania
ich wydajności i niezawodności”, 2006
T2-1 – Modele obliczeń
rozproszonych
1
9
Marek Nowak
Klasyfikacja klastrów
- wg Sterling T. et al. How to Build
Beowulf
T2-1 – Modele obliczeń
rozproszonych
2
0
Marek Nowak
Ex. Beowulf
T2-1 – Modele obliczeń
rozproszonych
2
1
Marek Nowak
Ex. co najmniej COW
T2-1 – Modele obliczeń
rozproszonych
2
2
Marek Nowak
Ukryty zostaje rozproszony i heterogeniczny charakter
zasobów klastra.
Klaster bazujący na SSI udostępnia zasoby niezależnie od ich
fizycznej lokalizacji (np. zdalne procedury, globalny system
plików, migracja lokalnych zasobów).
SSI może być implementowany w kilku warstwach:
- sprzętowa – np. Digital/Compaq Memory Channel,
Distributed Shared Memory,
- systemu operacyjnego – np. SCO UnixWare, Sun Solaris
MC, GLUnix, MOSIX,
- środowisk programistycznych – np. PVM, CODINE,
- aplikacji.
SSI (Single System Image) w
szczegółach (1/3)
T2-1 – Modele obliczeń
rozproszonych
2
3
Marek Nowak
Pełne SSI dostarcza:
- pojedynczy punkt dostępu – np. użytkownik może połączyć się z
klastrem jako host wirtualny,
- pojedynczy interfejs użytkownika,
- pojedyncza przestrzeń procesu – unikatowy PID w obrębie
całego klastra,
- pojedyncza przestrzeń pamięci – np. DSM – własność
życzeniowa,
- pojedyncza przestrzeń WE/WY – operacje WE/WY na lokalnych i
odległych dyskach, urządzenia itp.
- pojedyncza hierarchia plików,
- usługa pojedynczych wirtualnych połączeń sieciowych –
dowolny węzeł może uzyskać połączenie sieciowe w całej domenie
klastra,
- pojedynczy system zarządzania zadaniami – np. LSF, CODINE,
- pojedynczy punkt kontroli i zarządzania,
- migracja procesów – szczególna własność niektórych SSI (np.
MOSIX).
SSI (Single System Image) w
szczegółach (2/3)
T2-1 – Modele obliczeń
rozproszonych
2
4
Marek Nowak
SSI dla użytkownika końcowego oraz właściciela klastra
pozwala na:
- użytkownik końcowy nie wie, w jakim miejscu klastra
wykonuje się jego aplikacja,
- SSI zapewnia użytkowanie zasobów w sposób
przezroczysty,
- jednorodna składnia poleceń mimo heterogeniczności
oprogramowania systemowego,
- uproszczenie zarządzania systemem – spadek kosztów
utrzymania,
- solidna podstawa do rozwoju standardowego
oprogramowania i narzędzi.
SSI (Single System Image) w
szczegółach (3/3)
T2-1 – Modele obliczeń
rozproszonych
2
5
Marek Nowak
Przykład klastra
T2-1 – Modele obliczeń
rozproszonych
2
6
Marek Nowak
CLUSTERIX - Polski klaster (GRID ?)
T2-1 – Modele obliczeń
rozproszonych
2
7
Marek Nowak
System, który integruje i zarządza zasobami będącymi pod
kontrolą różnych domen (od instytucji po system operacyjny)
i połączonymi siecią komputerową.
GRID używa standardowych, otwartych protokołów i
interfejsów ogólnego przeznaczenia (odkrywania i dostępu
do zasobów, autoryzacji, uwierzytelniania) oraz dostarcza
usług odpowiedniej jakości (QoS – Quality of Service, oferuje
usługi wyższego poziomu).
GRID - definicja
T2-1 – Modele obliczeń
rozproszonych
2
8
Marek Nowak
GRID – próbuje połączyć rozproszone wyspy zasobów
komputerowych w „single vast computing resource”.
[Foster i Kesselman] Analogicznie do publicznych usług
(energia, woda, gaz) technologia GRID zmierza do
dostarczenia rozbudowanych, zwartych, trwałych i niedrogich
usług dostępu do zasobów komputerowych dostępnych w
trybie na żądanie.
GRID’y zasadniczo dzielą się na:
- GRID’y obliczeniowe – udostępniają pulę rozproszonych
zasobów obliczeniowych (mocy obliczeniowej),
- GRID’y danych – udostępniają dostęp do rozproszonych
zasobów dyskowych (danych).
GRID’y obejmują dużej skali, wieloinstytucjonalne rozwiązania
współdzielenia zasobów w celu dostarczenia wysokiej
wydajności przetwarzania.
GRID – określenie pojęcia
- wg Weijia Jia, Wanlei Zhou „Distributed
Network Systems”, Springer 2005.
T2-1 – Modele obliczeń
rozproszonych
2
9
Marek Nowak
Klaster wymaga SSI, GRID nie wymaga (jednak jest mile
widziany).
Klaster skupia się na wydajności zrównoleglonych obliczeń,
GRID koncentruje się na współdzieleniu zasobów.
Geograficznie klaster jest umieszczony w centralnej
lokalizacji, GRID jest rozproszony po wielu lokalizacjach.
W klastrze mówi się o heterogeniczności maszyn, w praktyce
stosuje się homogeniczny sprzęt, GRID w zasadzie z definicji
posiada heterogeniczny sprzęt i zasoby.
Różnica między klastrem a GRID’em
- wg Weijia Jia, Wanlei Zhou „Distributed
Network Systems”, Springer 2005.
T2-1 – Modele obliczeń
rozproszonych
3
0
Marek Nowak
Kładzie nacisk na autonomię zasobu (pozwala na zachowanie
lokalnej kontroli nad zasobami, lokalnych polityki dostępu).
Zasoby nie są zarządzane centralnie, w przeciwnym razie jest to
lokalny system zarządzania zasobami (np. SGE, LSF, PBS), a więc
klaster.
Zasobami GRID’u mogą być nie tylko komputery i sieci, także
specjalistyczne urządzenia, zbiory danych.
GRID skupia się na użytkowniku, patrzy się nie tylko z punktu
widzenia posiadacza zasobu, ale głównie z punktu widzenia
użytkownika zlecającego zadanie do wykonania, aby
zoptymalizować wykonanie aplikacji a nie użycie systemu.
Używa standardowych i otwartych protokołów, w przeciwnym razie
mamy do czynienia z systemem dedykowanym, zamkniętym.
Dostarcza nietrywialnych usług (odpowiednie QoS), nie może
wymagać od użytkownika specjalistycznej wiedzy i
skomplikowanych procedur.
Głównym założeniem technologii GRID jest rozdzielenie zadań na
poszczególne wątki.
GRID – Cechy charakterystyczne
(Założenia)
T2-1 – Modele obliczeń
rozproszonych
3
1
Marek Nowak
Zasoby GRID’u mogą być administrowane przez różne
organizacje. Udostępnianie zasobów przebiega zgodnie z
lokalną polityką zarządzania zasobami stosowaną w danej
organizacji.
Zasoby posiadają przynajmniej niektóre z poniższych cech:
- rozproszone geograficzne,
- heterogeniczne sprzętowo i programowo,
- dynamiczne (dostępność zmienna w czasie),
- potencjalnie zawodne,
- posiadane i zarządzane przez różne organizacje,
- różne wymagania i polityki bezpieczeństwa,
- różne polityki zarządzania zasobami,
- połączone heterogeniczną siecią (różne warstwy, protokoły
komunikacyjne, topologie).
GRID – Zasoby – Cechy
charakterystyczne