obliczenia równoległe w zagadnieniach inz˙ynierskich wykład 5olas/orzi/wyklad5.pdf · 2010. 12....
TRANSCRIPT
-
Obliczenia równoległew zagadnieniach inżynierskich
Wykład 5Dr inż. Tomasz Olas
Instytut Informatyki Teoretycznej i Stosowanej
Politechnika Częstochowska
Wykład 5 – p. 1/??
-
Klastry komputerów PC
Szybki wzrost mocy obliczeniowej komputerów PC,dostępność oprogramowania typu Open Source jak równieżwysokowydajnych sieci komputerowych spowodował, żeklastry komputerów PC stanowią obecnie dominujący typsystemów równoległych,
Bardzo istotnym czynnikiem wpływającym narozpowszechnienie się klastrów komputerów PC jest dużoniższy koszt w porównaniu do tradycyjnych systemówrównoległych
Różnorodne architektury procesorów - Intel, AMD (architektury32- i 64-bitowe)
Wykład 5 – p. 2/??
-
Metaklastry
Dynamiczny postęp w dziedzinie rozległych siecikomputerowych (WAN), umożliwił stworzenie zintegrowanychhierarchicznych architektur typu metaklaster,
są one złożone z wielu klastrów rozmieszczonych zazwyczaj wgeograficznie odległych miejscach,
tego typu architektury są postrzegane przez użytkownikówjako całość (jeden wirtualny metaklaster), umożliwiającwykorzystanie jego zasobów w jednolity sposób,
powyższy efekt jest realizowany przez oprogramowaniewarstwy pośredniej (middleware) dostarczając zunifikowanychmechanizmów zarządzania zasobami, monitorowania,przesyłania danych, dostępu do zasobów, autoryzacji.
Wykład 5 – p. 3/??
-
Założenia projektu CLUSTERIX
Głównym celem realizacji projektu jest opracowanie narzędzioraz mechanizmów umożliwiających wdrożenie produkcyjnegośrodowiska gridowego,
W konfiguracji bazowej udostępni ono infrastrukturę lokalnychklastrów PC-Linux o architekturze 64-bitowej, połączonychszybką siecią szkieletową zapewnianą przez sieci PIONIER
Do infrastruktury bazowej podłączone zostaną zarównoistniejące, jak i nowe klastry, o zróżnicowanej architekturze 32-i 64-bitowej (możliwe jest dynamiczne przyłączanie iodłączanie klastrów lokalnych).
Wykład 5 – p. 4/??
-
CLUSTERIX - Instalacja pilotażowa
Szkielet systemu stanowi 12 klastrówlokalnych.
Klastry lokalne budowane w oparciu o64-bitowe procesory Intel Itanium2 1,4GHz wyposażone w pamięci podręczneo wielkości 3 MB oraz 2 lub 4 GBpamięci operacyjnej na węzeł
Komunikacja wewnątrz klastrówlokalnych oparta o sieć Gigabit Etherneti InfiniBand
Komunikacja pomiędzy klastrami lokal-nymi odbywa się za pomocą dedyko-wanych kanałów 1 Gb/s udostępnianychprzez sieć PIONIER
Wykład 5 – p. 5/??
-
Architektura sieci systemu CLUSTERIX
Bezpieczny dostęp do siecizapewniają routery zezintegrowaną funkcjonalnościąfirewalla
Użycie dwóch VLAN-ów zdedykowaną przepustowością1Gbps umożliwia separacjęzasobów obliczeniowych odszkieletu sieci
Wykład 5 – p. 6/??
-
Oprogramowanie zarządzające
Tworzone oprogramowanie bazuje na Globus Toolkit 2.4. Dzięki temu
istnieje możliwość wykorzystania oprogramowania tworzonego w ramach innychprojektów,
współdziałanie z innymi systemami gridowymi staje się łatwiejsze (może byćrealizowane 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 integrację zarówno zistniejącymi, jak i z nowymi produktami
Dostęp do kodu źródłowego projektu ułatwia dokonywania zmian i ich publikację
Większa niezawodność i bezpieczeństwo
Wykład 5 – p. 7/??
-
CLUSTERIX - Wykonanie zadania
Wykład 5 – p. 8/??
-
Scenariusz wykonania zadania - portal
Użytkownik zleca zadanie do systemu zarządzania zadaniami za pośrednictweminterfejsu dostępowego w postaci portalu gridowego.
Portal został zaprojektowany w taki sposób, aby łatwo można go było dostosowywaćdo potrzeb użytkowników (aplikacji) oraz aby był bezpieczny i wydajny.
Wykład 5 – p. 9/??
-
Scenariusz wykonania zadania - GRMS
Grid Resource Management System (GRMS) jest systemem zarządzania zadaniamiwykorzystywanym w projekcie CLUSTERIX.
GRMS wybiera optymalny zasób do uruchomienia zadania zgodnie z opisem zadania.
Wszystkie wymagania użytkowników są specyfikowane przy pomocy specjalnychdokumentów XML, nazwanych opisami zadań GRMS Job Description (GJD).
pbs
access.pcss.clusterix.pl
file:////home/users/olas/opt/bin/psolidify
/home/users/olas/calc/solid/large/40000/40000
Wykład 5 – p. 10/??
-
Scenariusz wykonania zadania - VUS
System Wirtualnych Użytkowników (Virtual Users Accounts System - VUS) odpowiadaza mapowanie użytkownika na konta fizyczne w klastrach lokalnych.
Na klastrach lokalnych istnieje zbiór ogólnodostępnych kont, które mogą byćprzyporządkowane kolejnym zadaniom.
System ten upraszcza administracje kontami użytkowników oraz udostępnia pełnainformacja rozliczeniowa o wykorzystaniu kont.
Wykład 5 – p. 11/??
-
Scenariusz wykonania zadania - CDMS
Pliki wykonywalne oraz dane wejściowe niezbędne do uruchomienia zadaniapobierane są z systemu zarządzania danymi.
W ramach projektu CLUSTERIX do zarządzania danymi został stworzony systemCLUSTERIX Data Management System (CDMS).
Dane użytkowników przechowywane są w replikowanych magazynach danych(storage elements).
Każdy użytkownik ma logiczny katalog domowy, w którym umieszcza swoje pliki.
Wykład 5 – p. 12/??
-
Scenariusz wykonania - uruchomienie
Zadanie zostaje wykonane na przydzielonych zasobach (węzłach obliczeniowychlokalnych klastrów).
Po zakończeniu zadania wyniki przekazywane są do systemu CDMS, awykorzystywane konta fizyczne są „czyszczone” przez system VUS.
W trakcie działania zadania i po jego zakończeniu istnieje możliwość wyświetleniawyników.
Po zakończeniu działania zadania użytkownik zostaje powiadomiony o tym fakciepoprzez portal internetowy, e-mail bądź SMS.
Wykład 5 – p. 13/??
-
Scenariusz wykonania zadania - MPICH-G2
W środowisku CLUSTERIX do uruchamiania meta-aplikacjiwykorzystywane jest środowisko MPICH-G2 jako gridowaimplementacja standardu MPI (w wersji 1.1)
Opiera się ona na Globus Toolkit, który służy do autoryzacji,tworzenia procesów i ich kontroli.
MPICH-G2 umożliwia połączenie wielu systemówkomputerowych (klastrów), potencjalnie o różnycharchitekturach w celu uruchomienia aplikacji MPI.
W celu zwiększenia wydajności możliwe jest wykorzystanielokalnych wersji MPI dostosowanych do konkretnycharchitektur sieciowych (np. MPICH-GM).
Wykład 5 – p. 14/??
-
CLUSTERIX - architektura
System CLUSTERIX można traktować jako architekturęhierarchiczną
opóźnienie przepustowość dostępna liczba
procesorów
pojedynczy węzeł (MPICH-G2) 5.4 Gbs
2
klaster lokalny (vendor MPI) 104 µs 752 Mbs
6 – 32
klaster lokalny (MPICH-G2) 124 µs 745 Mbs
6 – 32
kilka klastrów (MPICH-G2) 10 ms 33 Mbs
do 250
Wykład 5 – p. 15/??
-
GRMS I
GRMS (Grid Resource Management System) jest systememzarządzania danych wykorzystywanym w projekcieCLUSTERIX.
Został on stworzony w ramach projektu GridLab.
Głównym celem systemu GRMS jest zarządzanie całymprocesem zdalnego uruchamiania zadań obliczeniowych doróżnych systemów kolejkowych obsługujących lokalne klastry.
GRMS został zaprojektowany jako zbiór niezależnychkomponentów zajmujących się różnymi aspektami procesuzarządzania zasobami, wykorzystujących różne serwisyniskiego poziomu.
Wykład 5 – p. 16/??
-
GRMS II
W chwili obecnej GRMS bazuje na serwisach dostępnych wpakiecie Globus (GRAM, GridFTP i MDS).
GRMS udostępnia interfejs w formie web-serwisu(GSI-enabled), przez który mogą odwoływać się wszyscyklienci (portale, klienci linii komend lub aplikacje).
Wszystkie wymagania użytkowników są specyfikowane przypomocy specjalnych dokumentów XML, nazwanych opisamizadań GJD (GRMS Job Description), po czym są wysyłane doGRMS’a jako komunikaty SOAP poprzez połączenia GSI.
Wykład 5 – p. 17/??
-
Funkcjonalno ść systemu GRMS
Z punktu widzenia końcowego użytkownika funkcjonalnośćsystemu GRMS można podzielić na:
zlecanie zadań użytkownika i ich kontrolowanie,listowanie zadań użytkownika z uwzględnieniem zadanychkryteriów,zarządzanie zadaniami,pobieranie informacji o zadaniach,znajdowanie zasobów spełniających wymaganiaużytkownika,zarządzanie powiadamianiem (notyfikacje),inne funkcje pomocnicze.
Wykład 5 – p. 18/??
-
Zlecanie zada ń i ich kontrolowanie
System GRMS udostępnia następujące funkcje do celówzlecania zadań i ich kontroli:
submitJob
migrateJob
suspendJob
resumeJob
cancelJob
Wykład 5 – p. 19/??
-
GRMS Job Description - Przykład
pbs
access.pcss.clusterix.pl
file:////home/users/olas/opt/bin/psolidify
/home/users/olas/calc/solid/large/40000/40000
Wykład 5 – p. 20/??
-
System Wirtualnych Użytkowników (VUS)
Dotychczas użytkownik musiał posiadać oddzielne kontofizyczne na każdej maszynie
Wykład 5 – p. 21/??
-
VUS dla Gridu
Zbiór ogólnodostępnych kont, które mogą byćprzyporządkowane kolejnym zadaniom
Możliwość zgłaszania zadań do innych maszyn i klastrówlokalnych
Automatyczny transfer plików
Uproszczona administracja kontami użytkowników
Pełna informacja rozliczeniowa o wykorzystaniu kont
Wykład 5 – p. 22/??
-
Interfejs dostępowy - portale gridowe
Wymagania w stosunku do interfejsu dostępowego:
Możliwość łatwego dostosowania do potrzeb użytkowników
Wydajność
Bezpieczeństwo
Opracowano SSH Session Framework z następującymi właściwościami:
Oparcie interfejsu GUI na interfejsie „command-line”
Wykorzystanie portletów GridSphere oraz parserów zdefiniowanych w języku XML
architektura rozproszona
łatwa adaptacja istniejących aplikacji do wykonywania w Gridzie
niezawodność
wsparcie dla VRML, X3D, SVG, formatów graficznych (jpeg, png)
Wykład 5 – p. 23/??
-
Portal
Wykład 5 – p. 24/??
-
Opóźnienia w sieci CLUSTERIX
lokalizacja opóźnienie[ms]
Białystok 17.2
Częstochowa 9.0
Gdańsk 16.8
Kraków 18.0
Lublin 16.8
Łódź 11.6
Poznań –
Warszawa 13.6
Wrocław 4.6
Zielona Góra 2.0
Wykład 5 – p. 25/??
-
Aplikacje pilotowe
23 aplikacje użytkownika końcowego
Wśród zaproponowanych aplikacji możnawyróżnić następujące typy zadań:
Zadania jednoprocesowe
Sekwencja zadań jednoprocesowych
Zadania równoległe uruchamiane na jednymklastrze lokalnym
Sekwencja zadań równoległychuruchamianych na jednym klastrze lokalnym
Meta-aplikacje rozproszone uruchamiane nawięcej niż 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 Częstochowskiejsystem NuscaS do modelowania za pomocą metodyelementów skończonych (MES) zjawisk termomechanicznych
Wykład 5 – p. 27/??
-
System NuscaS - zrównoleglenie oblicze ń
Wykład 5 – p. 28/??
-
NuscaS - scenariusze wykonania
Uruchamianie zadań systemu NuscaS w środowiskuCLUSTERIX może odbywać się według poniższychscenariuszy:
Środowisko Grid jako zbiór zasobów obliczeniowych -broker zadań znajduje zasób (klaster lokalny) spełniającywymagania użytkownika, który zostaje wykorzystany douruchomienia zadania.Równoległe uruchomienie w środowisku Grid(meta-computing application) przy wykorzystaniuśrodowiska MPICH-G2:
Standardowe równoległe zadanie obliczeniowe zostajeuruchomione na geograficznie odległych zasobach(klastrach)Aplikacja dostosowuje się do środowiska Grid, na którymzostaje uruchomiona w celu zwiększenia efektywnościobliczeń.
Wykład 5 – p. 29/??
-
Testowe zagadnienie numeryczne
Testowe zagadnienie numeryczne obejmowało krzepnięcieodlewu krzepnącego w metalowej formie (tzw. jawnesformułowanie pojemnościowe, oraz równowagowy modelnarastania fazy stałej)
150
~75
~75
150
odlew
forma
utworzono sześć siatek trójkątnych elementów skończonych(40613, 80401, 159613, 249925, 501001 oraz 750313węzłów).
Każda 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 ściowe - pojedynczy klaster
Przyspieszenie i efektywność testowanego zagadnienianumerycznego w środowisku CLUSTERIX dla różnej liczbyprocesorów i różnego rozmiaru zadania w przypadku uruchamianiana klastrze lokalnym znajdującym się w PolitechniceCzęstochowskiej
przyspieszenie efektywność
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 ściowe - MPICH-G2
Przyspieszenie i efektywność testowanego zagadnienianumerycznego w środowisku CLUSTERIX dla różnej liczbyprocesorów i różnego rozmiaru zadania w przypadku uruchamianiana dwóch klastrach lokalnych (Częstochowa i Poznań)
przyspieszenie efektywność
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 rozwiązywanie układu równa ń
Zastosowano metodę sprzężonych gradientów.
Algorytm zaproponowany przez Meisela i Meyera z jednympunktem synchronizacji.
Zaimplementowano nakładanie się 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 - żądanie certyfikatu
Do uruchamiania zadań w systemie Clusterix niezbędne jestposiadanie certyfikatu podpisanego przez CentrumAutoryzacji.
Pierwszym krokiem jaki należy wykonać w celu uzyskaniacertyfikatu jest wygenerowanie żądania certyfikatu (certyfikatrequest).
W tym celu logujemy się na węzeł dostępowy, na którymposiadamy konto i generujemy żądanie certyfikatuuruchamiając polecenie:$ grid_cert_request -cn ""
Po wykonaniu tego polecenia w podkatalogu .globuskatalogu domowego użytkownika powinny pojawić sięnastępujące pliki:
userkey.pem - klucz prywatny użytkownika,
usercert_request.pem - żądanie certyfikatu wraz z kluczem publicznymużytkownika,
usercert.pem - w momencie utworzenia plik jest pusty.Wykład 5 – p. 34/??
-
Clusterix - instalacja certyfikatu
Centrum autoryzacji podpisuje i odsyła do certyfikat doużytkownika. Otrzymany certyfikat należy zapisać do pliku~/.globus/usercert.pem.
Następnie przesyłamy do administratora lokalnego serwisuVOIS, lub serwisu centralnego ([email protected])prośbę o dopisanie z tematem naszego certyfikatu.
Po zalogowaniu się na węzeł dostępowy, na którym posiadamykonto, a przed przystąpieniem do uruchamiania jakichkolwiekzadań należy uzyskać certyfikat proxy, który jestkrótkookresowym certyfikatem podpisanym przez użytkownika.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:
file:////bin/dnsdomainname
�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/??
Klastry komputerów PCMetaklastryZa³o¿enia projektu CLUSTERIXCLUSTERIX - Instalacja pilota¿owaArchitektura sieci systemu CLUSTERIXOprogramowanie zarz±dzaj±ceCLUSTERIX - Wykonanie zadaniaScenariusz wykonania zadania - portalScenariusz wykonania zadania - GRMSScenariusz wykonania zadania - VUSScenariusz wykonania zadania - CDMSScenariusz wykonania - uruchomienieScenariusz wykonania zadania - MPICH-G2CLUSTERIX - architekturaGRMS IGRMS IIFunkcjonalno¶æ systemu GRMSZlecanie zadañ i ich kontrolowanieGRMS Job Description - Przyk³adSystem Wirtualnych U¿ytkowników (VUS)VUS dla GriduInterfejs dostêpowy - portale gridowePortalOpó¼nienia w sieci CLUSTERIXAplikacje pilotoweSystem NuscaSSystem NuscaS - zrównoleglenie obliczeñNuscaS - scenariusze wykonaniaTestowe zagadnienie numeryczneWyniki wydajno¶ciowe - pojedynczy klasterWyniki wydajno¶ciowe - MPICH-G2Równoleg³e rozwi±zywanie uk³adu równañclusterix - ¿±danie certyfikatuclusterix - instalacja certyfikatuclusterix - zlecenie zadania do wykonania