SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ



Podobné dokumenty
Paralelní výpočty na clusteru KMD

Novinky z vývoje v MetaCentru

GPGPU Aplikace GPGPU. Obecné výpočty na grafických procesorech. Jan Vacata

OPS Paralelní systémy, seznam pojmů, klasifikace

Výběr zdrojů, zadávání a správa úloh v MetaCentru

Hlavní využití počítačů

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Matematika v programovacích

Představení a vývoj architektur vektorových procesorů

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Paralelní výpočty ve finančnictví

Aplikace metody BDDC

Povídání na téma SUPERPOČÍTAČE DNES A ZÍTRA

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Dagmar Adamová, Jiří Chudoba Jednalo se o Monte Carlo simulace případů srážek p+p a Pb+Pb. Fungování

Paralelní architektury se sdílenou pamětí typu NUMA. NUMA architektury

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

MetaCentrum. Martin Kuba CESNET

Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička

Management procesu I Mgr. Josef Horálek

Systém adresace paměti

Provozní statistiky centra CERIT-SC

Stavba operačního systému

Procesy a vlákna (Processes and Threads)

C2115 Praktický úvod do superpočítání

aktivita CESNETu společně MU, UK a ZČU sdružuje výpočetní prostředky

Povídání na téma. SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) Filip Staněk

PB002 Základy informačních technologií

Cloudy a gridy v národní einfrastruktuře

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Aktuální stav MetaCentra, novinky

MetaCentrum. Martin Kuba CESNET

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

MARIE PACS S PACSem hezky od podlahy když se data sypou!

MetaCentrum - Virtualizace a její použití

C2115 Praktický úvod do superpočítání

Souborové systémy a práce s daty David Antoš

Počítač jako elektronické, Číslicové zařízení

Experimentální systém pro WEB IR

Martin Lísal. Úvod do MPI

Cvičení MI-PRC I. Šimeček

Principy operačních systémů. Lekce 1: Úvod

Paralelní a distribuované výpočty (B4B36PDV)

Transformace digitalizovaného obrazu

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Osobní počítač. Zpracoval: ict Aktualizace:

Příloha č. 1 zadávací dokumentace. Technická dokumentace, specifikace požadovaného plnění a popis hodnocení

Základní pojmy informačních technologií

Datové struktury 2: Rozptylovací tabulky

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Vyuºití GPGPU pro zpracování dat z magnetické rezonance

Objektově orientovaná implementace škálovatelných algoritmů pro řešení kontaktních úloh

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Pokročilé architektury počítačů

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

VirtualizaceKlatovské nemocnice a.s.

Ústav technické matematiky FS ( Ústav technické matematiky FS ) / 35

Paralelní programování

Řízení IO přenosů DMA řadičem

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

uzly. Výpočetní uzel (Working node) výkonná jednotka clusteru.

Gridy v České republice. Luděk Matyska Masarykova univerzita v Brně CESNET, z.s.p.o.

C2115 Praktický úvod do superpočítání

Úvod do Linuxu. SŠSI Tábor 1

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Datová úložiště. Zdroj: IBM

METACentrum zastřešení českých gridových aktivit

Přechod na virtuální infrastrukturu

Systém souborů (file system, FS)

Výpočetní klastr pro molekulové modelování

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Výběr zdrojů, zadávání a správa úloh

Služba ve Windows. Služba (service) je program

Přidělování zdrojů (prostředků)

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr

09. Memory management. ZOS 2006, L.Pešička

Zadávací dokumentace na veřejnou zakázku malého rozsahu s názvem Obměna informačních technologií

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

TÉMATICKÝ OKRUH Softwarové inženýrství

Programovatelné automaty SIMATIC S7 a S5

Řešení pro audit činnosti administrátorů UNIX/Linux serverů

Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování

CERIT SCIENTIFIC CLOUD. Centrum CERIT-SC. Luděk Matyska. Praha, Seminář MetaCentra,

Vláknové programování část I

Aktuality a plány virtuální organizace

Knihovny pro CUDA J. Sloup a I. Šimeček

METACentrum Český národní gridovýprojekt. Projekt METACentrum. Jan Kmuníček ÚVT MU & CESNET. meta.cesnet.cz

Moderní privátní cloud pro město na platformě OpenStack a Kubernetes

Transkript:

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

TITAN / HOPPER / NOTEBOOK TITAN HOPPER NOTEBOOK Počet CPU jader 299 008 153 216 2 Operační paměť [GB] 598 016 217 000 8 Počet GPU (CUDA) jader 50 233 344 0 8 Diskový prostor [TB] 10 000 2 000 0,256 Propustnost I/O [GB/s] 240 35 0,160 Výkon [GFLOPS] 20 000 000 1 000 000 2 Příkon [kw] 8 200 30 000 2 910 0,028 Účinnost [GFLOPS/kW] 2439 343 71 Plocha [m 2 ] 404 0,09 Cena [USD] 100 000 000 1 500

http://www.top500.org

SUPERPOČÍTAČ (masivně paralelní systém) Svazek počítačů propojených pomocí sítě výpočetní uzly (10-10000+) Sdílený diskový prostor (storage) Běhové prostředí (runtime environment) přihlašování uživatelů, spouštění výpočetních úloh

VÝPOČETNÍ UZLY Z pohledu uživatele: obyčejný počítač základní deska procesory (typicky 8-24 jader / uzel) fyzická (operační) paměť sdílená (typicky 1-2 GB / jádro) GPU (matematický koprocesor) Sdílené diskové prostory domovské adresáře, aplikace, data Serverový hardware spolehlivost, účinnost (chlazení), Speciální sítě nízká latence, vysoká propustnost, různé topologie (PAR)

VZDÁLENÝ PŘÍSTUP vzdálená plocha příkazová řádka (SSH) unixové operační systémy (Linux) komfortní programy základní programy/příkazy cat, ls, cp, mv, grep, tar, gzip, vim, make, lokální perirefie odezva na vstupy (latence) přístup na výpočetní uzly přihlašovací uzly (login nodes) prostředí pro spouštění paralelních úloh

SPOUŠTĚNÍ ÚLOH 1. Nahrání zdrojového kódu 2. Nastavení prostředí překladače, výpočetní knihovny, paralelní knihovny, 3. Překlad zdrojového kódu 4. Nahrání vstupních dat 5. Spuštění úlohy 6. Získání výsledků

NAHRÁNÍ ZDROJOVÉHO KÓDU vytvoření archivu (tar) kopírování na superpočítač (ssh/scp) přihlášení na superpočítač (ssh) nastavení SSH klíčů rozbalení archivu (tar) Aplikace paraperm vývoj na notebooku (v Linuxové virtuální mašině) paralelní generování velkých náhodných permutací celých čísel paralelní programovací model MPI (nezávislé procesy, lokální paměť, komunikace pomocí posílání zpráv)

NASTAVENÍ PROSTŘEDÍ / PŘEKLAD volba GNU překladačů CC: zástupce pro MPI verzi překladače knihovna BOOST překlad

SPUŠTĚNÍ ÚLOHY paralelní spuštění MPI úlohy: mpirun aprun (CRAY) nacházíme se na výpočetním přihlašovacím uzlu sdílení superpočítače více uživateli přímé spouštění úloh systém pro spouštění úloh

SYSTÉM PRO ŘÍZENÍ ÚLOH (JOB SCHEDULING) Portable Batch System (PBS) přímé spouštění úloh zařazení do fronty úloh Spouštěcí skript: požadavky na zdroje (počet jader, paměť, čas, licence) notifikace uživatele (e-mail) příkaz pro vlastní spuštění úlohy Příkazy: qsub: zařazení úlohy do fronty qstat: stav úloh ve frontách showstart: přibližný čas spuštění

SPUŠTĚNÍ ÚLOHY (pokračování) specifikace fronty úloh (více front v systému) požadavek na 1024 CPU jader maximální čas úlohy 30 vteřin notifikace e-mailem (abort / begin / end) specifikace názvu úlohy specifikace proměnných prostředí nastavení pracovního adresář příkaz pro vlastní spuštění úlohy (aprun) vložení úlohy do fronty (qsub)

ZÍSKÁNÍ VÝSLEDKŮ

PŘÍSTUP NA SUPERPOČÍTAČE Grantové soutěže o procesorové hodiny často pouze pro lokální instituce/projekty velké superpočítače = zahraniční spolupráce náš případ: katedra fyziky LSU omezený fond procesorových hodin pro výpočty přihláška: popis výzkumu, přínos, předpokládané výsledky prokázání škálovatelnosti paralelní aplikace využití GPU (Titan)

IT4INNOVATIONS 3200 jader, 4 GB / jádro

IT4INNOVATIONS PŘIHLÁŠKA Popular abstract (outline of proposed research) Scientific readiness Aims and objectives Methods and state-of-the-art Imapct and outlooks Computational readiness Computational approach, parallelization and scalability Computational resources Economic readiness (optional) Economic value Operational costs Amortization and renewal References (rozsah cca. 5 stránek)

OMEZENÝ POČET PROCESOROVÝCH HODIN Příklad: Hopper (153k jader) roční fond projektu 2 500 000 celý superpočítač: cca. 16 hodin (/ 0,6) roční fond uživatele 25 000 (1%) 1 000 jader 25 hodin 80 000 jader 19 minut Důsledky: Požadavky na zdroje: čím více tím nižší priorita čím méně tím větší riziko, že úloha bude násilně ukončena Minimalizace chyb: lokální vývoj a testování reálné výpočty nejprve na menších superpočítačích a menším počtu jader chyby: kód, algoritmus, návrh, úvaha, neznalost, nezkušenost, Analýza výsledků a chování programů pokud je něco špatně, proč???

VÝZKUM: PROBLÉM Fyzikální aplikace (LSU) Paralelní programovací model: MPI Dvě fáze: 1. konstrukce (řídké) matice 2. výpočet vlastních čísel a vektorů Problém: pro generování maticových elementů jsou potřeba databáze fyzikálních koeficientů, která zaplní skoro celou paměť maticové elementy není kam ukládat omezení velikosti matice = řešeného problému paměť MPI procesu: fyzikální koeficienty

ŘEŠENÍ #1 1. Ukládání maticových elementů do souborů 2. Uvolnění paměti zabrané fyzikálními koeficienty 3. Načtení maticových elementů ze souborů 4. Výpočet vlastních čísel / vektorů fyzikální koeficienty maticové elementy maticové elementy maticové elementy

NOVÝ PROBLÉM Čas potřebný k uložení dat do souboru? Příklad: Hopper: paměť 1,33 GB / jádro (= MPI proces) každý MPI process ukládá cca. 1 GB dat (maticové elementy) maximální propustnost souborového systému 35 GB/s (reálná cca. 23) malá úloha: 1 000 MPI procesů 29 vteřin velká úloha: 130 000 MPI procesů 62 minut Čas k uložení dat na souborový systém určuje jeho propustnost připadající na 1 jádro (MPI proces)! TITAN HOPPER NOTEBOOK Počet CPU jader 299 008 153 216 2 Propustnost I/O [MB/s] 240 000 35 000 160 Propustnost / jádro [MB/s] 0,80 0,22 80

FORMÁTY PŘO ŘÍDKÉ MATICE Speciální datové struktury pro uložení řídkých matic Nejjednodušší: souřadnicový formát (COO) tři pole: řádkové/sloupcové indexy a hodnoty nenulových maticových elementů příliš velká paměťová náročnost Standardní optimalizační kritérium pro návrh formátů: maximální výkon operace násobení matice vektorem Naše kritérium (ukládání do souborů): minimalizace paměťových nároků Vývoj nových formátů (ABHSF, )

VÝSLEDKY (ABHSF FORMÁT) CSR velmi rozšířený formát, velikost cca. 1,4 větší oproti ABHSF ABHSF pro velké výpočty může ušetřit řádově desítky minut (tisíce procesorových hodin) reálné matice

VÝSLEDKY (ABHSF FORMÁT) Kdy se vyplatí ukládat matice v ABHSF? ABHSF: ukládání menšího množství dat overhead: konverze z CSR do ABHSF měření: celková propustnost souborového systému 100-200 MB/s ABHSF výhodnější pro více než 32 procesorů (jader) o cca. 4 MB/s na processor

ŘEŠENÍ #2 Hopper: výpočetní uzel: 24 jader, 32 GB paměti MPI: 24 fyzikální koeficienty, z nichž mnohé jsou stejné Využití sdílené paměti v rámci uzlů: hybridní paralelní programovací model MPI/OpenMP jeden MPI proces / uzel + rozdělení na 24 vláken (OpenMP) Není nutné ukládat data do souborů! 24 MPI procesů / uzel (1,33 GB / proces): MPI/OpenMP: 1 MPI proces 24 OpenMP vláken fyzikální fyzikální koeficienty koeficienty (1 GB) (1 GB) fyzikální koeficienty ( 4 GB) maticové elemetny

NOVÝ PROBLÉM Databáze fyzikálních koeficientů: LRU cache datová struktura se modifikuje při přidání nových dat, ale i při jejich čtení! sdílená paměť: zámky primitivní přístup: zámek na každou operaci čtení/zápisu struktury čekání v cca. 80% případů na uvolnění zámku potřeba nové implementace LRU cache pracující efektivně nad sdílenou pamětí

PARALELNÍ GENEROVÁNÍ NÁHODNÝCH PERMUTACÍ Různé superpočítače Hopper: pro velké výpočty dochází k nasycení komunikační sítě největší vypočet: 2 41 = 2 199 023 255 552 prvků permutace Zewura: výpočetní uzly: 80 jader problém přístupu do pamětí pro větší počet jader najednou pouze ethernet (1 Gb)

AERODYNAMIKA (VZLÚ)