Obliczenia równoległe w zagadnieniach inz˙ynierskich Wykład 5olas/orzi/wyklad5.pdf · 2010. 12....

36
Obliczenia równolegle w zagadnieniach in˙ zynierskich Wyklad 5 Dr in ˙ z. Tomasz Olas [email protected] Instytut Informatyki Teoretycznej i Stosowanej Politechnika Cz˛ estochowska Wyklad 5 – p. 1/??

Transcript of Obliczenia równoległe w zagadnieniach inz˙ynierskich Wykład 5olas/orzi/wyklad5.pdf · 2010. 12....

  • Obliczenia równoległew zagadnieniach inżynierskich

    Wykład 5Dr inż. Tomasz Olas

    [email protected]

    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