Paralelizace numerických metod

Podobne dokumenty
Paralelní implementace a optimalizace metody BDDC

Zásuvný modul QGISu. QGIS plugin pro práci s katastrálními daty

PA152,Implementace databázových systémů 2 / 25

IB109 Návrh a implementace paralelních systémů

PVM. Luděk Matyska. Jaro Fakulta informatiky MU. Luděk Matyska (FI MU) PVM Jaro / 19

MATEMATIKA 3 NUMERICKÉ METODY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

TGH01 - Algoritmizace

Anna Kratochvílová Anna Kratochvílová (FJFI ČVUT) PDR ve zpracování obrazu / 17

MATEMATIKA 3. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Matematika III Stechiometrie stručný

Numerické metody a statistika

TGH01 - Algoritmizace

Internet a zdroje. (Zdroje na Internetu) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17.

Automatové modely. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Stavový popis Stabilita spojitých systémů (K611MSAP) Katedra aplikované matematiky Fakulta dopravní ČVUT. čtvrtek 20. dubna 2006

Prawo Moore a 4/10/2013. Wstęp do Informatyki

Cezary Bolek Katedra Informatyki. Prawo Moore a

4/10/2013. Koszt wydajności komputerów. Miary wydajności komputerów (MIPS) Miary wydajności komputerów (SPEC)

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Mocninné řady 1 / 18

Elementární funkce. Edita Pelantová. únor FJFI, ČVUT v Praze. katedra matematiky, FJFI, ČVUT v Praze

Inverzní Z-transformace

1 Soustava lineárních rovnic

Kapitola 4: Soustavy diferenciálních rovnic 1. řádu

Numerické metody 8. května FJFI ČVUT v Praze

Geometrická nelinearita: úvod

Dom Oprogramowanie Sprzęt komputerowy Benchmarki Usługi Sklep Wsparcie Forum Strona główna CPU Benchmarki»procesory

Numerické metody minimalizace

Edita Pelantová, katedra matematiky / 16

Dom Oprogramowanie Sprzęt komputerowy Benchmarki Usługi Sklep Wsparcie Forum Strona główna» CPU Benchmarki»procesory

IEL Přechodové jevy, vedení

Úvodní informace. 18. února 2019

Aproximace funkcí 1,00 0,841 1,10 0,864 1,20 0,885. Body proložíme lomenou čarou.

Komplexní analýza. Martin Bohata. Katedra matematiky FEL ČVUT v Praze Martin Bohata Komplexní analýza Úvod 1 / 32

Wyniki testów PassMark

Home Software Hardware Benchmarks Services Store Support Forums About Us

5. a 12. prosince 2018

Matematika 2, vzorová písemka 1

Fakulta elektrotechnická. Paralelní algoritmus pro

Jak wygląda praca na klastrze

Najlepsze drukarki 3D

Home Software Hardware Benchmarks Services Store Support Forums About Us

Matematický ústav UK Matematicko-fyzikální fakulta. Ukázky aplikací matematiky

kontaktní modely (Winklerův, Pasternakův)

Přehled aplikací matematického programovaní a

B. Patzák verze 01. Direct Approach to FEM

Home Software Hardware Benchmarks Services Store Support Forums About Us

Linea rnı (ne)za vislost

Arkusz1. Wyniki Passmark CPU Mark z dn. 19 czerwca 2012 r.

Home Software Hardware Benchmarks Services Store Support Forums About Us

Periodický pohyb obecného oscilátoru ve dvou dimenzích

Funkce zadané implicitně. 4. března 2019

Home Software Hardware Benchmarks Services Store Support Forums About Us

Kombinatorika a grafy I

IB047. Pavel Rychlý. 21. února

ggplot2 Efektní vizualizace dat v prostředí jazyka R Martin Golasowski 8. prosince 2016

Průvodce studiem V této kapitole se budeme zabývat diferenciálním počtem pro funkce více

Vybrané kapitoly z matematiky

Lineární algebra - iterační metody

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška II. 6. říjen, / 26

(1) Derivace. Kristýna Kuncová. Matematika B2 17/18. Kristýna Kuncová (1) Derivace 1 / 35

Programowanie współbieżne... (4) Andrzej Baran 2010/11

PassMark - CPU Benchmarks - List of Benchmarked CPUs

Nowoczesne technologie przetwarzania informacji

PassMark - CPU Benchmarks - List of Benchmarked CPUs

Tvarová optimalizace pro 3D kontaktní problém

Rovnice proudění Slapový model

Programowanie współbieżne... (1) Andrzej Baran 2010/11

dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

Systemy operacyjne III

Logika V. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

K SAMOSTATNÉ MODULOVÉ SCHODY MONTÁŽI. asta

x2 + 2x 15 x 2 + 4x ) f(x) = x 2 + 2x 15 x2 + x 12 3) f(x) = x 3 + 3x 2 10x. x 3 + 3x 2 10x x 2 + x 12 10) f(x) = log 2.

Cauchyova úloha pro obyčejnou diferenciální rovnici


Obsah: CLP Constraint Logic Programming. Úvod do umělé inteligence 6/12 1 / 17

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava


XXXIII Olimpiada Wiedzy Elektrycznej i Elektronicznej Krosno 2010

Modelov an ı v yukov ych dat, obt ıˇznosti probl em u Radek Pel anek

OBLICZENIA RÓWNOLEGŁE I ROZPROSZONE

dr inż. Jarosław Forenc

IB109 Návrh a implementace paralelních systémů. Win32 Threads

Algorytmy i Struktury Danych

Univerzita Palackého v Olomouci

Powyższe reguły to tylko jedna z wersji gry. Istnieje wiele innych wariantów, można też ustalać własne zasady. Miłej zabawy!

Poˇ c ıtaˇ cov e s ıtˇ e pˇredn aˇsky Jan Outrata ˇr ıjen 2008 Jan Outrata (KI UP) Poˇ c ıtaˇ cov e s ıtˇ e ˇ r ıjen / 35

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej

Architektury równoległe

Matematická analýza II pro kombinované studium. Konzultace první a druhá. RNDr. Libuše Samková, Ph.D. pf.jcu.cz

HPC na biurku. Wojciech De bski

dr inż. Jarosław Forenc

Arkusz1. Wyniki CPUbenchmark.net na dzień

Diferenciální rovnice základní pojmy. Rovnice se

NÁVOD K POUŽITÍ KEZELÉSI KÉZIKÖNYV INSTRUKCJA OBSŁUGI NÁVOD NA POUŽÍVANIE. Česky. Magyar. Polski. Slovensky

Plyny v dynamickém stavu. Jsou-li ve vakuovém systému různé teploty, nebo tlaky dochází k přenosu energie, nebo k proudění plynu.

dr inż. Jarosław Forenc

16. Taksonomia Flynn'a.

Transkrypt:

Paralelizace numerických metod Jiří Hozman jiri.hozman@tul.cz Technická univerzita v Liberci Fakulta přírodovědně-humanitní a pedagogická Katedra matematiky a didaktiky matematiky Přednáška k předmětu Matematika III Jiří Hozman Paralelizace numerických metod Liberec 2011 1 / 36

Osnova 1 2 3 Jiří Hozman Paralelizace numerických metod Liberec 2011 2 / 36

1 2 3 Jiří Hozman Paralelizace numerických metod Liberec 2011 3 / 36

Motivace Moorův zákon (platí už přes 30 let) Výkonnost procesorů se zdvojnásobuje každých 18 měsíců. Otázka Je výkonnost jednoprocesorových systémů dostatečná pro řešení současných i budoucích úloh? Odpověd Není. Alternativně lze výkonnost systémů zvýšit (v každé vývojové etapě) nad výkonnost 1 procesoru paralelním zpracováním několika procesory současně. Jiří Hozman Paralelizace numerických metod Liberec 2011 4 / 36

Superpočítač vysoce výkonný počítač, resp. počítačový systém, relativní označení závislé na vývoji hardware Superpočítač Paralelní systém (superpočítač) je množina procesorů (počítačů), které vzájemně kooperují a komunikují, aby řešily velké problémy rychle. systémy se sdílenou pamětí (shared memory) - komunikace pomocí synchronizace procesů systémy s distribuovanou pamětí (distributed memory) - komunikace mezi procesy zasílaní zpráv systémy s hybridním uspořádáním - dnes nejčastější Jiří Hozman Paralelizace numerických metod Liberec 2011 5 / 36

Architektura moderních superpočítačů cluster - propojení velkého množství jednoprocesorových počítačů prostřednictvím speciální vysokorychlostní počítačové sítě na každém procesoru běží samostatné úlohy operačního systému Jiří Hozman Paralelizace numerických metod Liberec 2011 6 / 36

Architektura moderních superpočítačů multiprocesorový počítač - počítač, na kterém běží jeden samostatný operační systém a používá více CPU nevýhoda - dražší než cluster z běžných počítačů při stejné výkonnosti Jiří Hozman Paralelizace numerických metod Liberec 2011 7 / 36

Architektura moderních superpočítačů hybridní cluster - cluster multiprocesorových sestav (dnes nejčastější uspořádání) např. vyhledávač Google Jiří Hozman Paralelizace numerických metod Liberec 2011 8 / 36

Architektura moderních superpočítačů spojení velkého množství běžných osobních počítačů (PC) pomocí internetu snadno paralelizovatelné výpočty nevyžadující rychlou komunikaci projekt SETI at home Jiří Hozman Paralelizace numerických metod Liberec 2011 9 / 36

ve světě www.top500.org - žebříček nejvýkonnějších počítačů světa Aktuální pořadí (2010) 1. Jaguar - Cray XT5-HE Opteron Six Core 2.6 GHz, 2. Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Los Alamos (USA), 3. Kraken XT5 - Cray XT5-HE Opteron Six Core 2.6 GHz, National Institute for Computational Sciences/University of Tennessee (USA), 4. JUGENE - Blue Gene/P Solution, Forschungszentrum Juelich (Německo), 5. Tianhe-1 - NUDT TH-1 Cluster, Xeon E5540/E5450, ATI Radeon HD 4870, National SuperComputer Center in Tianjin (Čína). Jiří Hozman Paralelizace numerických metod Liberec 2011 10 / 36

Jaguar 1. místo, Oak Ridge National Laboratory, Tennessee (USA), model Cray (podle zakladatele Seymoura Craye), 37 376 procesorů typu Six-Core AMD Opteron 2.6 GHz, 7 832 procesorů typu Quad-Core AMD Opteron 2.6 GHz, 26 520 uzlů s celkově 255 584 jádry Jiří Hozman Paralelizace numerických metod Liberec 2011 11 / 36

Jaguar Jiří Hozman Paralelizace numerických metod Liberec 2011 12 / 36

v České Republice Amálka - nejvýkonnější paralelní systém v ČR (2010) Ústav fyziky atmosféry Akademie věd ČR 356 procesorů Intel XEON (800 jader) výkon 6, 38 TFlops náročné numerické výpočty a experimenty v rámci spolupráce s ESA a NASA Jiří Hozman Paralelizace numerických metod Liberec 2011 13 / 36

1 2 3 Jiří Hozman Paralelizace numerických metod Liberec 2011 14 / 36

počítání na paralelních systémech využití více než 1 procesoru při výpočtech Hlavní důvody pro paralelní počítání počítačové simulace (v reálném čase) řešení problémů větších rozměrů (podrobněji a přesněji) zkrácení doby výpočtu velké nároky na pamět nemožnost zvyšovat vývoj procesorů do nekonečna úspornost - cena nejvýkonějších procesorů roste rychleji než jejich výkon Jiří Hozman Paralelizace numerických metod Liberec 2011 15 / 36

Aplikace paralelního řešení problémů věda - biologie, chemie, genetika, farmacie,... užití atomu - jaderné reaktory, plazma,... vesmír - planety, hvězdy, komety,... zdravotnictví - protézy, proudění krve,... průmysl, strojírenství - automobily, turbíny, kompresory,... počasí - meteorologie, hydrologie, vulkanologie, klimatologie,... vojenské aplikace, letectví, kosmonautika,... CAD, robotika, kartografie,... multimédia, počítačové vidění,... internetové vyhledávače, zpracování dat, databáze,... a další Jiří Hozman Paralelizace numerických metod Liberec 2011 16 / 36

Počítačové simulace od konce 40. let 20. století parciální diferenciální rovnice (a jejich systémy) nemožnost nalézt analytická řešení levnejší alternativa k náročným fyzikálním experimentům numerické metody např. obtékání raketoplánu, modelovaní jaderné reakce Jiří Hozman Paralelizace numerických metod Liberec 2011 17 / 36

Motivace - aplikace v letectví (1) obtékání křídla ONERA M6 (KNM MFF UK) Jiří Hozman Paralelizace numerických metod Liberec 2011 18 / 36

Motivace - aplikace v letectví (2) rozložení Machova čísla Jiří Hozman Paralelizace numerických metod Liberec 2011 19 / 36

Motivace - aplikace v letectví (3) výpočetní čas programu ADGFEM na clusteru Sněhurka # procesor 2 3 4 5 6 7 8 čas [s] 19 645 9 292 4 999 3 751 2 813 2 007 1 501 Jiří Hozman Paralelizace numerických metod Liberec 2011 20 / 36

Motivace - vyhledávač Google katalogizace internetových stránek v roce 2000 řeší 1000 dotazů/s 70 mil./den cíl - vyhledávání < 0.5 s aktualizace webu každé 4 týdny - 1.3 miliardy URL (+60% anotací) datový tok 53 Mb/s počet dotazů roste o 20% měsíčně počáteční sestava > 6000 procesorů vždy k dispozici (+3 záložní systémy) numerické metody - iterační řešení stochastických matic o řádu odpovídajícímu počtu internetových stránek Jiří Hozman Paralelizace numerických metod Liberec 2011 21 / 36

1 2 3 Jiří Hozman Paralelizace numerických metod Liberec 2011 22 / 36

Modely paralelních architektur Flynovo rozdělení podle počtu proudů instrukcí a dat: SISD - Single Instruction, Sigle Data stream (sekvenční počítače) SIMD - Single Instruction, Multiple Data stream (datově paralelní systémy) MIMD - Multiple Instruction, Multiple Data stream (plně paralelní systémy) sdílená pamět, komunikace přes sdílené proměnné distribuované pamět, komunikace zasíláním zpráv hybridní uspořádání - distribuovaná sdílená pamět Jiří Hozman Paralelizace numerických metod Liberec 2011 23 / 36

Druhy paralelních úloh Paralelní úlohy z hlediska spolupráce během výpočtu: MPMD (Multiple Program, Multiple Data) úlohy Master/Worker Coupled Multiple Analysis SPMD (Single Program, Multiple Data) úlohy Jiří Hozman Paralelizace numerických metod Liberec 2011 24 / 36

SPMD úlohy stejná kopie programu (single program) na všech CPU během výpočtu zpracovávají různá data (multiple data) typické pro numerické výpočty předmět našeho zájmu Jiří Hozman Paralelizace numerických metod Liberec 2011 25 / 36

Modely paralelního programování automatická paralelizace programu kompilátorem nejpohodlnější pro programátora nejslabší propracovanost a nízká efektivita datově paralelní programování - sekvenční program řídí paralelní operace vyžaduje menší zainteresovanost programátora např. HPF (High Performance Fortran) programování se sdílenými proměnnými (vlákny) automatické přenosy dat, komunikace pomocí synchronizace sekvenční program lze paralelizovat postupně od nejkritičtějších míst vysoká efektivita větší požadavky na programátora, např. OpenMP programování zasíláním zpráv (message passing) komunikace pomocí explicitních příkazů (send, receive) vyžaduje rozčlenění a distribuci dat a práce mezi procesory vysoká efektivita nejvyšší míra zainteresovanosti programátora, např. MPI Jiří Hozman Paralelizace numerických metod Liberec 2011 26 / 36

Problémy s vývojem paralelních systémů hardware - dva přístupy saturace sběrnice - omezení při konstrukci multiprocesorů sdílející společnou paměť na maximální počet desítek procesorů switch - rychlá komunikační síť spojující počítače do clusteru, rychlost meziprocesorové komunikace rychlost komunikace mezi CPU a vnitřní pamětí algoritmy - algoritmy pro sekvenční programy nelze vždy dobře paralelizovat nutnost vytvářet nové paralelní algoritmy software - automatické kompilátory či paralelní numerické knihovny nedosahují vždy vysoké efektivity Jiří Hozman Paralelizace numerických metod Liberec 2011 27 / 36

Výkonost paralelního zpracování ukazatelem doba výpočtu (computational time, c.t.) [µs] Amdahlův zákon 100 P + P n [%] P...část programu, kterou lze paralelizovat n...počet použitých CPU poměrné porovnání výpočtového času oproti času na jednoprocesorovému počítači neplatí přímá úměrnost mezi počtem CPU a zrychlením pro n je zrychlení výpočtu 100 100 P Jiří Hozman Paralelizace numerických metod Liberec 2011 28 / 36

Sekvenční program vs. paralelní program Sekvenční program Paralelní program Jiří Hozman Paralelizace numerických metod Liberec 2011 29 / 36

Motivace - doba výpočtu součet prvků vektoru a IR 109 : s = 10 9 i=1 a i zaťížení jednoho CPU akce input sum ouput vyťížení CPU [%] 6 90 4 pouze výpočet součtu lze paralelizovat P = 90% zrychlení podle počtu CPU CPU 1 2 3 4 5 6 7 8 zrychlení [%] 100 55 40 32.5 28 25 22.9 21.3 Jiří Hozman Paralelizace numerických metod Liberec 2011 30 / 36

Závislost paralelizace na architektuře systému (1) Sdílená pamět (shared memory) snazší paralelizace, malé zásahy do sekvenčního programu sdílení a výměna informací mezi CPU přes společnou pamět např. OpenMP Jiří Hozman Paralelizace numerických metod Liberec 2011 31 / 36

Závislost paralelizace na architektuře systému (2) Distribuovaná pamět (distributed memory) univerzálnější, náročnější na představivost komunikaci a sdílení dat mezi CPU zajištuje switch zajistit a pracovat s předáváním informací (message passing) např. MPI (Message Passing Interface) Jiří Hozman Paralelizace numerických metod Liberec 2011 32 / 36

Závislost paralelizace na architektuře systému (3) Distribuovaná pamět (distributed memory) komunikace = časová ztráta snížení zrychlení výpočtu latence - časová prodleva při komunikaci mezi CPU a switch snaha o minimální přenos informací a komunikaci Jiří Hozman Paralelizace numerických metod Liberec 2011 33 / 36

Standard OpenMP aplikační programové rozhraní (API) pro Fortran nebo C/C++ programování paralelních počítačů se sdílenou pamětí jednoduchost, přenositelnost, rozšiřitelnost seznam direktiv, knihovních funkcí a proměnných prostředí sekvenční jazyk s direktivami pro kompilátor podmíněný překlad - sekvenční i paralelní zpracování inkrementální postup při paralelizaci programu vlákno OpenMP - základní stavební prvek začátek s jedním vláknem, které se rozvětví na větší počet vláken v paralelní sekci programu, konec opět s jedním vláknem komunikace mezi vlákny = zápis a čtění ve sdílené paměti synchronizace přístupů jednotlivých vláken ke sdíleným proměnným Jiří Hozman Paralelizace numerických metod Liberec 2011 34 / 36

Standard MPI (Message Passing Interface) specifikace knihovních funkcí a podprogramů pro Fortran a C/C++ paralelní programování zasíláním zpráv komplexnější, větší přenositelnost programů a vyšší rychlost první standard v komunikaci paralelních systémů sekvenční programovací jazyk + knihovna (externích) funkcí pro zasílání zpráv prostředí pro paralelní počítání na clusterech od začátku se vyvijí paralelní program proces a komunikátor - základní stavební prvky řešení SPMD úloh správa a tvorba procesů - statické a dynamické interakce procesů - komunikace, agregace, synchronizace Jiří Hozman Paralelizace numerických metod Liberec 2011 35 / 36

Paralelní program v MPI pro Fortran program par hello world use mpi implicit none integer :: ierr, nprocs, myrank call MPI INIT(ierr) call MPI COMM SIZE(MPI COMM WORLD, nprocs, ierr) call MPI COMM RANK(MPI COMM WORLD, myrank, ierr) print," Hi from CPU ", myrank, " of ", nprocs call MPI FINALIZE(ierr) end program par hello world Jiří Hozman Paralelizace numerických metod Liberec 2011 36 / 36