obliczenia równoległe w zagadnieniach inz˙ynierskich wykład...
TRANSCRIPT
Obliczenia równoległew zagadnieniach inzynierskich
Wykład 5Dr inz. Tomasz Olas
Instytut Informatyki Teoretycznej i Stosowanej
Politechnika Czestochowska
Wykład 5 – p. 1/??
Klastry komputerów PC
Szybki wzrost mocy obliczeniowej komputerów PC,dostepnosc oprogramowania typu Open Source jak równiezwysokowydajnych sieci komputerowych spowodował, zeklastry komputerów PC stanowia obecnie dominujacy typsystemów równoległych,
Bardzo istotnym czynnikiem wpływajacym narozpowszechnienie sie klastrów komputerów PC jest duzonizszy koszt w porównaniu do tradycyjnych systemówrównoległych
Róznorodne architektury procesorów - Intel, AMD (architektury32- i 64-bitowe)
Wykład 5 – p. 2/??
Metaklastry
Dynamiczny postep w dziedzinie rozległych siecikomputerowych (WAN), umozliwił stworzenie zintegrowanychhierarchicznych architektur typu metaklaster,
sa one złozone z wielu klastrów rozmieszczonych zazwyczaj wgeograficznie odległych miejscach,
tego typu architektury sa postrzegane przez uzytkownikówjako całosc (jeden wirtualny metaklaster), umozliwiajacwykorzystanie jego zasobów w jednolity sposób,
powyzszy efekt jest realizowany przez oprogramowaniewarstwy posredniej (middleware) dostarczajac zunifikowanychmechanizmów zarzadzania zasobami, monitorowania,przesyłania danych, dostepu do zasobów, autoryzacji.
Wykład 5 – p. 3/??
Załozenia projektu CLUSTERIX
Głównym celem realizacji projektu jest opracowanie narzedzioraz mechanizmów umozliwiajacych wdrozenie produkcyjnegosrodowiska gridowego,
W konfiguracji bazowej udostepni ono infrastrukture lokalnychklastrów PC-Linux o architekturze 64-bitowej, połaczonychszybka siecia szkieletowa zapewniana przez sieci PIONIER
Do infrastruktury bazowej podłaczone zostana zarównoistniejace, jak i nowe klastry, o zróznicowanej architekturze 32-i 64-bitowej (mozliwe jest dynamiczne przyłaczanie iodłaczanie klastrów lokalnych).
Wykład 5 – p. 4/??
CLUSTERIX - Instalacja pilotazowa
Szkielet systemu stanowi 12 klastrówlokalnych.
Klastry lokalne budowane w oparciu o64-bitowe procesory Intel Itanium2 1,4GHz wyposazone w pamieci podreczneo wielkosci 3 MB oraz 2 lub 4 GBpamieci operacyjnej na wezeł
Komunikacja wewnatrz klastrówlokalnych oparta o siec Gigabit Etherneti InfiniBand
Komunikacja pomiedzy klastrami lokal-nymi odbywa sie za pomoca dedyko-wanych kanałów 1 Gb/s udostepnianychprzez siec PIONIER
Wykład 5 – p. 5/??
Architektura sieci systemu CLUSTERIX
Bezpieczny dostep do siecizapewniaja routery zezintegrowana funkcjonalnosciafirewalla
Uzycie dwóch VLAN-ów zdedykowana przepustowoscia1Gbps umozliwia separacjezasobów obliczeniowych odszkieletu sieci
Wykład 5 – p. 6/??
Oprogramowanie zarzadzajace
Tworzone oprogramowanie bazuje na Globus Toolkit 2.4. Dzieki temu
istnieje mozliwosc wykorzystania oprogramowania tworzonego w ramach innychprojektów,
współdziałanie z innymi systemami gridowymi staje sie łatwiejsze (moze bycrealizowane na poziomie serwisów).
Wykorzystywane jest oprogramowanie typu Open Source - w tym LINUX (Debian,jadro 2.6.x) oraz systemy kolejkowe (Torque, SGE)
Oprogramowanie Open Source jest bardziej podatne na integracje zarówno zistniejacymi, jak i z nowymi produktami
Dostep do kodu zródłowego projektu ułatwia dokonywania zmian i ich publikacje
Wieksza niezawodnosc i bezpieczenstwo
Wykład 5 – p. 7/??
CLUSTERIX - Wykonanie zadania
Wykład 5 – p. 8/??
Scenariusz wykonania zadania - portal
Uzytkownik zleca zadanie do systemu zarzadzania zadaniami za posrednictweminterfejsu dostepowego w postaci portalu gridowego.
Portal został zaprojektowany w taki sposób, aby łatwo mozna go było dostosowywacdo potrzeb uzytkowników (aplikacji) oraz aby był bezpieczny i wydajny.
Wykład 5 – p. 9/??
Scenariusz wykonania zadania - GRMS
Grid Resource Management System (GRMS) jest systemem zarzadzania zadaniamiwykorzystywanym w projekcie CLUSTERIX.
GRMS wybiera optymalny zasób do uruchomienia zadania zgodnie z opisem zadania.
Wszystkie wymagania uzytkowników sa specyfikowane przy pomocy specjalnychdokumentów XML, nazwanych opisami zadan GRMS Job Description (GJD).
<grmsjob appid="psolidify">
<simplejob>
<resource>
<localrmname>pbs</localrmname>
<hostname>access.pcss.clusterix.pl</hostname>
</resource>
<executable type="mpi" count="6">
<file name="exec" type="in">
<url>file:////home/users/olas/opt/bin/psolidify</url>
</file>
<arguments>
<value>/home/users/olas/calc/solid/large/40000/40000</value>
</arguments>
</executable>
</simplejob>
</grmsjob >
Wykład 5 – p. 10/??
Scenariusz wykonania zadania - VUS
System Wirtualnych Uzytkowników (Virtual Users Accounts System - VUS) odpowiadaza mapowanie uzytkownika na konta fizyczne w klastrach lokalnych.
Na klastrach lokalnych istnieje zbiór ogólnodostepnych kont, które moga bycprzyporzadkowane kolejnym zadaniom.
System ten upraszcza administracje kontami uzytkowników oraz udostepnia pełnainformacja rozliczeniowa o wykorzystaniu kont.
Wykład 5 – p. 11/??
Scenariusz wykonania zadania - CDMS
Pliki wykonywalne oraz dane wejsciowe niezbedne do uruchomienia zadaniapobierane sa z systemu zarzadzania danymi.
W ramach projektu CLUSTERIX do zarzadzania danymi został stworzony systemCLUSTERIX Data Management System (CDMS).
Dane uzytkowników przechowywane sa w replikowanych magazynach danych(storage elements).
Kazdy uzytkownik ma logiczny katalog domowy, w którym umieszcza swoje pliki.
Wykład 5 – p. 12/??
Scenariusz wykonania - uruchomienie
Zadanie zostaje wykonane na przydzielonych zasobach (wezłach obliczeniowychlokalnych klastrów).
Po zakonczeniu zadania wyniki przekazywane sa do systemu CDMS, awykorzystywane konta fizyczne sa „czyszczone” przez system VUS.
W trakcie działania zadania i po jego zakonczeniu istnieje mozliwosc wyswietleniawyników.
Po zakonczeniu działania zadania uzytkownik zostaje powiadomiony o tym fakciepoprzez portal internetowy, e-mail badz SMS.
Wykład 5 – p. 13/??
Scenariusz wykonania zadania - MPICH-G2
W srodowisku CLUSTERIX do uruchamiania meta-aplikacjiwykorzystywane jest srodowisko MPICH-G2 jako gridowaimplementacja standardu MPI (w wersji 1.1)
Opiera sie ona na Globus Toolkit, który słuzy do autoryzacji,tworzenia procesów i ich kontroli.
MPICH-G2 umozliwia połaczenie wielu systemówkomputerowych (klastrów), potencjalnie o róznycharchitekturach w celu uruchomienia aplikacji MPI.
W celu zwiekszenia wydajnosci mozliwe jest wykorzystanielokalnych wersji MPI dostosowanych do konkretnycharchitektur sieciowych (np. MPICH-GM).
Wykład 5 – p. 14/??
CLUSTERIX - architektura
System CLUSTERIX mozna traktowac jako architekturehierarchiczna
opóznienie przepustowosc dostepna liczba
procesorów
pojedynczy wezeł (MPICH-G2) 5.4 Gb
s2
klaster lokalny (vendor MPI) 104 µs 752 Mb
s6 – 32
klaster lokalny (MPICH-G2) 124 µs 745 Mb
s6 – 32
kilka klastrów (MPICH-G2) 10 ms 33 Mb
sdo 250
Wykład 5 – p. 15/??
GRMS I
GRMS (Grid Resource Management System) jest systememzarzadzania danych wykorzystywanym w projekcieCLUSTERIX.
Został on stworzony w ramach projektu GridLab.
Głównym celem systemu GRMS jest zarzadzanie całymprocesem zdalnego uruchamiania zadan obliczeniowych doróznych systemów kolejkowych obsługujacych lokalne klastry.
GRMS został zaprojektowany jako zbiór niezaleznychkomponentów zajmujacych sie róznymi aspektami procesuzarzadzania zasobami, wykorzystujacych rózne serwisyniskiego poziomu.
Wykład 5 – p. 16/??
GRMS II
W chwili obecnej GRMS bazuje na serwisach dostepnych wpakiecie Globus (GRAM, GridFTP i MDS).
GRMS udostepnia interfejs w formie web-serwisu(GSI-enabled), przez który moga odwoływac sie wszyscyklienci (portale, klienci linii komend lub aplikacje).
Wszystkie wymagania uzytkowników sa specyfikowane przypomocy specjalnych dokumentów XML, nazwanych opisamizadan GJD (GRMS Job Description), po czym sa wysyłane doGRMS’a jako komunikaty SOAP poprzez połaczenia GSI.
Wykład 5 – p. 17/??
Funkcjonalno sc systemu GRMS
Z punktu widzenia koncowego uzytkownika funkcjonalnoscsystemu GRMS mozna podzielic na:
zlecanie zadan uzytkownika i ich kontrolowanie,listowanie zadan uzytkownika z uwzglednieniem zadanychkryteriów,zarzadzanie zadaniami,pobieranie informacji o zadaniach,znajdowanie zasobów spełniajacych wymaganiauzytkownika,zarzadzanie powiadamianiem (notyfikacje),inne funkcje pomocnicze.
Wykład 5 – p. 18/??
Zlecanie zada n i ich kontrolowanie
System GRMS udostepnia nastepujace funkcje do celówzlecania zadan i ich kontroli:
submitJob
migrateJob
suspendJob
resumeJob
cancelJob
Wykład 5 – p. 19/??
GRMS Job Description - Przykład
<grmsjob appid="psolidify">
<simplejob>
<resource>
<localrmname>pbs</localrmname>
<hostname>access.pcss.clusterix.pl</hostname>
</resource>
<executable type="mpi" count="6">
<file name="exec" type="in">
<url>file:////home/users/olas/opt/bin/psolidify</url>
</file>
<arguments>
<value>/home/users/olas/calc/solid/large/40000/40000</value>
</arguments>
</executable>
</simplejob>
</grmsjob >
Wykład 5 – p. 20/??
System Wirtualnych Uzytkowników (VUS)
Dotychczas uzytkownik musiał posiadac oddzielne kontofizyczne na kazdej maszynie
Wykład 5 – p. 21/??
VUS dla Gridu
Zbiór ogólnodostepnych kont, które moga bycprzyporzadkowane kolejnym zadaniom
Mozliwosc zgłaszania zadan do innych maszyn i klastrówlokalnych
Automatyczny transfer plików
Uproszczona administracja kontami uzytkowników
Pełna informacja rozliczeniowa o wykorzystaniu kont
Wykład 5 – p. 22/??
Interfejs dostepowy - portale gridowe
Wymagania w stosunku do interfejsu dostepowego:
Mozliwosc łatwego dostosowania do potrzeb uzytkowników
Wydajnosc
Bezpieczenstwo
Opracowano SSH Session Framework z nastepujacymi własciwosciami:
Oparcie interfejsu GUI na interfejsie „command-line”
Wykorzystanie portletów GridSphere oraz parserów zdefiniowanych w jezyku XML
architektura rozproszona
łatwa adaptacja istniejacych aplikacji do wykonywania w Gridzie
niezawodnosc
wsparcie dla VRML, X3D, SVG, formatów graficznych (jpeg, png)
Wykład 5 – p. 23/??
Portal
Wykład 5 – p. 24/??
Opóznienia w sieci CLUSTERIX
lokalizacja opóznienie[ms]
Białystok 17.2
Czestochowa 9.0
Gdansk 16.8
Kraków 18.0
Lublin 16.8
Łódz 11.6
Poznan –
Warszawa 13.6
Wrocław 4.6
Zielona Góra 2.0
Wykład 5 – p. 25/??
Aplikacje pilotowe
23 aplikacje uzytkownika koncowego
Wsród zaproponowanych aplikacji moznawyróznic nastepujace typy zadan:
Zadania jednoprocesowe
Sekwencja zadan jednoprocesowych
Zadania równoległe uruchamiane na jednymklastrze lokalnym
Sekwencja zadan równoległychuruchamianych na jednym klastrze lokalnym
Meta-aplikacje rozproszone uruchamiane nawiecej niz jednym klastrze lokalnym
Przykładowe aplikacje:
Symulacje wielkiej skali przepływów krwi wmikrokapilarach
Przewidywanie struktur białek
Symulacje przepływów w aeronautyce
Nano-Technologie
NuscaSWykład 5 – p. 26/??
System NuscaS
Od kilku lat tworzony jest na Politechnice Czestochowskiejsystem NuscaS do modelowania za pomoca metodyelementów skonczonych (MES) zjawisk termomechanicznych
Wykład 5 – p. 27/??
System NuscaS - zrównoleglenie oblicze n
Wykład 5 – p. 28/??
NuscaS - scenariusze wykonania
Uruchamianie zadan systemu NuscaS w srodowiskuCLUSTERIX moze odbywac sie według ponizszychscenariuszy:
Srodowisko Grid jako zbiór zasobów obliczeniowych -broker zadan znajduje zasób (klaster lokalny) spełniajacywymagania uzytkownika, który zostaje wykorzystany douruchomienia zadania.Równoległe uruchomienie w srodowisku Grid(meta-computing application) przy wykorzystaniusrodowiska MPICH-G2:
Standardowe równoległe zadanie obliczeniowe zostajeuruchomione na geograficznie odległych zasobach(klastrach)Aplikacja dostosowuje sie do srodowiska Grid, na którymzostaje uruchomiona w celu zwiekszenia efektywnosciobliczen.
Wykład 5 – p. 29/??
Testowe zagadnienie numeryczne
Testowe zagadnienie numeryczne obejmowało krzepniecieodlewu krzepnacego w metalowej formie (tzw. jawnesformułowanie pojemnosciowe, oraz równowagowy modelnarastania fazy stałej)
150
~75
~75
150
odlew
forma
utworzono szesc siatek trójkatnych elementów skonczonych(40613, 80401, 159613, 249925, 501001 oraz 750313wezłów).
Kazda z siatek została podzielona na 2, 3, 4, 5, 6, 7, 8, 10, 12,14 i 16 domen.
Wykład 5 – p. 30/??
Wyniki wydajno sciowe - pojedynczy klaster
Przyspieszenie i efektywnosc testowanego zagadnienianumerycznego w srodowisku CLUSTERIX dla róznej liczbyprocesorów i róznego rozmiaru zadania w przypadku uruchamianiana klastrze lokalnym znajdujacym sie w PolitechniceCzestochowskiej
przyspieszenie efektywnosc
1
2
3
4
5
6
7
8
9
10
1 2 3 4 5 6 7 8 9 10
liczba procesorów
N=80401N=159613N=249925N=501001N=750313
0.8
0.85
0.9
0.95
1
1.05
1.1
1 2 3 4 5 6 7 8 9 10
liczba procesorów
N=80401N=159613N=249925N=501001N=750313
Wykład 5 – p. 31/??
Wyniki wydajno sciowe - MPICH-G2
Przyspieszenie i efektywnosc testowanego zagadnienianumerycznego w srodowisku CLUSTERIX dla róznej liczbyprocesorów i róznego rozmiaru zadania w przypadku uruchamianiana dwóch klastrach lokalnych (Czestochowa i Poznan)
przyspieszenie efektywnosc
0
2
4
6
8
10
12
14
16
0 2 4 6 8 10 12 14 16 18
liczba procesorów
N=40613N=80401
N=159613N=249925N=501001N=750313
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
0 2 4 6 8 10 12 14 16 18
liczba procesorów
N=40613N=80401
N=159613N=249925N=501001N=750313
Wykład 5 – p. 32/??
Równoległe rozwiazywanie układu równa n
Zastosowano metode sprzezonych gradientów.
Algorytm zaproponowany przez Meisela i Meyera z jednympunktem synchronizacji.
Zaimplementowano nakładanie sie w czasie operacjiobliczeniowych i komunikacyjnych.
Process 0 Solve Solve Solve Solve Solve
Process 1 Solve Solve Solve Solve MPI_Bcast Solve
Process 2 Solve Solve Solve 13 Solve 7 Solve
Process 3 Solve Solve Solve Solve 7 Solve
Process 4 Solve Solve Solve 13Solve 7 Solve
Process 5 Solve Solve Solve Solve 7 Solve
Process 6 Solve Solve Solve 13 Solve 7 Solve
Process 7 Solve Solve Solve Solve 7 Solve
MPISolve
3.945 s3.94 s3.935 s3.93 s3.925 s3.92 s
250000.8.8.bpv: Global Timeline (3.914 s - 3.946 s = 32.489 ms)
Wykład 5 – p. 33/??
Clusterix - zadanie certyfikatu
Do uruchamiania zadan w systemie Clusterix niezbedne jestposiadanie certyfikatu podpisanego przez CentrumAutoryzacji.
Pierwszym krokiem jaki nalezy wykonac w celu uzyskaniacertyfikatu jest wygenerowanie zadania certyfikatu (certyfikatrequest).
W tym celu logujemy sie na wezeł dostepowy, na którymposiadamy konto i generujemy zadanie certyfikatuuruchamiajac polecenie:$ grid_cert_request -cn "<Imie i nazwisko>"
Po wykonaniu tego polecenia w podkatalogu .globuskatalogu domowego uzytkownika powinny pojawic sienastepujace pliki:
userkey.pem - klucz prywatny uzytkownika,
usercert_request.pem - zadanie certyfikatu wraz z kluczem publicznymuzytkownika,
usercert.pem - w momencie utworzenia plik jest pusty.Wykład 5 – p. 34/??
Clusterix - instalacja certyfikatu
Centrum autoryzacji podpisuje i odsyła do certyfikat douzytkownika. Otrzymany certyfikat nalezy zapisac do pliku~/.globus/usercert.pem.
Nastepnie przesyłamy do administratora lokalnego serwisuVOIS, lub serwisu centralnego ([email protected])prosbe o dopisanie z tematem naszego certyfikatu.
Po zalogowaniu sie na wezeł dostepowy, na którym posiadamykonto, a przed przystapieniem do uruchamiania jakichkolwiekzadan nalezy uzyskac certyfikat proxy, który jestkrótkookresowym certyfikatem podpisanym przez uzytkownika.W tym celu wykonujemy polecenie:$ grid-proxy-init
Wykład 5 – p. 35/??
Clusterix - zlecenie zadania do wykonania1. Tworzymy plik zadania o nazwie task.xml:
<grmsjob appid="task"> <simplejob>
<executable type="single" count="1"> <file name="exec-file" type="in"> <url>file:////bin/dnsdomainname</url> </file> </executable> </simplejob></grmsjob>
�2. Zg aszamy zadanie do systemu zarz dzania danymi z wykorzystaniem klienta tekstowego GRMS'a (ł grms-client):grms-client submit task.xml
- Your DN: /C=PL/O=GRID/OU=Clusterix/OU=pcss.clusterix.pl/CN=Szkolenie Clusterix student01- Service URL: httpg://access:8443/axis/services/grms- Job submitted successfully, jobId=1149861042367_test_4714
� �3. Informacje na temat zg oszonego zadania mo emy uzyska poprzez uruchomienie klienta tekstowego z parametrem ł info , po którym podajemy identyfikator zadania
grms-client info 1149861042367_test_4714
- Your DN: /C=PL/O=GRID/OU=Clusterix/OU=pcss.clusterix.pl/CN=Szkolenie Clusterix student01- Service URL: httpg://access:8443/axis/services/grms- jobInfo[1149947329475_test_4242] is:...- jobStatus=FINISHED- submissionTime=Sat Jun 10 15:48:49 CEST 2006- finishTime=Sat Jun 10 15:49:00 CEST 2006- requestStatus=JOB_DONE...
Identyfikator zadania
task.xml
Wykład 5 – p. 36/??