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

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

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

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

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

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

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

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Procesy a vlákna (Processes and Threads)

Management procesu I Mgr. Josef Horálek

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

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

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

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

Systém adresace paměti

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

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

Ro R dina procesor pr ů Int In e t l Nehalem Šmída Mojmír, SMI108 PAP PA 2009

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

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

Roman Výtisk, VYT027

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

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)

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

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

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

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

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

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

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)

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

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

MetaCentrum - Virtualizace a její použití

Provoz Počet zaměstnanců Průměrná nemocnost hod/osoba/rok

Logická organizace paměti Josef Horálek

Přidělování CPU Mgr. Josef Horálek

Principy operačních systémů. Lekce 8: Ovladače periferií

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Profilová část maturitní zkoušky 2014/2015

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Stavba operačního systému

Referát (pokročilé architektury počítačů)

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

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

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

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

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

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

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

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

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Pokročilé architektury počítačů

Architektura Intel Atom

Identifikátor materiálu: ICT-1-08

Informatika teorie. Vladimír Hradecký

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

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

Systém souborů (file system, FS)

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

C2110 Operační systém UNIX a základy programování

Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.

Cache paměti (2) Cache paměti (1) Cache paměti (3) Cache paměti (4) Cache paměti (6) Cache paměti (5) Cache paměť:

Komunikace mikroprocesoru s okolím Josef Horálek

PŘIJÍMACÍ TEST z informatiky a matematiky pro navazující magisterské studium Fakulta informatiky a managementu Univerzity Hradec Králové

ZOS OPAKOVÁNÍ. L. Pešička

Cache paměti (1) Cache paměť: V dnešních počítačích se běžně používají dva, popř. tři druhy cache pamětí:

Studium enzymatické reakce metodami výpočetní chemie

Operační systémy. Přednáška 1: Úvod

Integrovaná střední škola, Sokolnice 496

Principy operačních systémů. Lekce 4: Správa procesů

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Přidělování paměti II Mgr. Josef Horálek

Pokročilé architektury počítačů

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

OS Plánování procesů

Informační a komunikační technologie

C2110 Operační systém UNIX a základy programování

Témata profilové maturitní zkoušky

I n f o r m a t i k a a v ý p o č e t n í t e c h n i k a. Operační systém

Pokročilé architektury počítačů

Sběrnice. Parametry sběrnic: a. Přenosová rychlost - určuje max. počet bitů přenesených za 1 sekundu [b/s]

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

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

Metody připojování periferií

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

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

Témata profilové maturitní zkoušky

Vstupně výstupní moduly. 13.přednáška

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

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

1 Uživatelská dokumentace

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

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Základní deska (motherboard, mainboard)

AGP - Accelerated Graphics Port

Vstupně - výstupní moduly

Transkript:

C2115 Praktický úvod do superpočítání VI. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno C2115 Praktický úvod do superpočítání -1-

Obsah Víceuživatelské prostředí proces, vlákno, multitasking, přepnutí kontextu Cvičení efektivita souběžného spouštění aplikací Architektura počítače limitující faktory Cvičení efektivita souběžného síťového přenosu C2115 Praktický úvod do superpočítání -2-

Víceuživatelské prostředí C2115 Praktický úvod do superpočítání -3-

Proces a vlákno Proces (anglicky process) je v informatice název pro spuštěný počítačový program. Proces je umístěn v operační paměti počítače v podobě sledu strojových instrukcí vykonávaných procesorem. Obsahuje nejen kód vykonávaného programu, ale i dynamicky měnící se data, která proces zpracovává. Jeden program může v počítači běžet jako více procesů s různými daty. Správu procesů vykonává operační systém, který zajišťuje jejich oddělený běh, přiděluje jim systémové prostředky počítače a umožňuje uživateli procesy spravovat. Vlákno (též vlákno řízení, anglicky thread) označuje v informatice odlehčený proces, pomocí něhož se snižuje režie operačního systému při změně kontextu, které je nutné pro zajištění multitaskingu nebo při masivních paralelních výpočtech. Zatímco běžné procesy jsou navzájem striktně odděleny, sdílí vlákna nejen společný paměťový prostor, ale i další struktury. V rámci jediného procesu je možné vytvořit mnoho vláken. Vlákna usnadňují díky sdílené paměti vzájemnou komunikaci, což však přináší možné komplikace v podobě souběhu (anglicky race condition). zdroj: www.wikipedia.cz, upraveno C2115 Praktický úvod do superpočítání -4-

Multitasking Multitasking (z angličtiny, multi = mnoho, task = úloha, používán ve víceúlohovém systému) označuje v informatice schopnost operačního systému provádět (přinejmenším zdánlivě) několik procesů současně. Jádro operačního systému velmi rychle střídá na procesoru běžící procesy (tzv. změna kontextu), takže uživatel počítače má dojem, že běží současně. Typy: nepreemptivní multitasking (dnes se příliš nepoužívá) preemptivní multitasking (všechny moderní OS) V preemptivním multitaskingu o přidělování a odebírání procesoru jednotlivým úlohám plně rozhoduje operační systém. V pravidelných intervalech (typicky zhruba 100 až 1000 za sekundu) přeruší provádění běžícího programu, vyhodnotí aktuální situaci (které úlohy žádají o přidělení procesoru, jejich priority atd.) a nechá běžet buď opět úlohu, kterou přerušil, nebo jinou úlohu, která má zájem o přidělení procesoru. Při přepnutí úlohy dochází ke změně kontextu. Úloha může v preemptivním multitaskingu dobrovolně požádat o přepnutí kontextu a vzdát se zbytku svého kvanta (úloha takzvaně usne nebo se zablokuje provedením pomalé vstupně-výstupní operace, jako je například čtení dat z pevného disku). zdroj: www.wikipedia.cz, upraveno C2115 Praktický úvod do superpočítání -5-

Změna kontextu Kontext Pod tímto pojmem si můžeme představit stav procesoru (obsah registrů), stav případného koprocesoru, případně i stav dalších zařízení v momentě kdy dojde ke změně kontextu. Tento současný stav procesoru se ukládá buď na zásobník procesu, nebo do připravené oblasti dat v adresním prostoru procesu. Do kontextu můžeme zahrnout i obsahy různých cache procesoru (např L1 cache nebo TLB): ty se sice při vlastní změně neukládají ani nenačítají, ale změna kontextu explicitně nebo implicitně zneplatní jejich obsah a nutnost jejich nového naplnění patří mezi příčiny, proč je přepnutí kontextu na moderních procesorech tak časově náročné. Změna kontextu (anglicky context switch) je operace, při níž multitaskingový operační systém přepíná řízení mezi procesy. Při tom se ukládá a načítá aktuální stavu procesoru. Tento děj se u moderních procesorů opakuje mnohokrát za sekundu. Změny kontextu jsou obvykle výpočetně intenzivní. zdroj: www.wikipedia.cz, upraveno C2115 Praktický úvod do superpočítání -6-

Cvičení LVI.1 Zdrojové kódy jsou umístěny v: /home/kulhanek/data/c2115/lesson05 1. Kolik procesorů obsahuje vaše pracovní stanice? Uveďte jméno stroje, typ CPU a počet CPU. K řešení použijte příkaz lscpu. 2. Informace získané v předchozí úloze porovnejte a rozšiřte o informace získané ze souboru /proc/cpuinfo. 3. Jaká je velikost vyrovnávací paměti L1, L2 a L3 CPU ve vaší pracovní stanici? 4. Na jaké frekvenci CPU pracuje? 5. Zkompilujte program load_cpu.f90 $ gfortran -O3 load_cpu.f90 -o load_cpu -lblas 6. Určete dobu běhu programu load_cpu pomocí příkazu: $ /usr/bin/time --format=%e./load_cpu 7. Proč není přímo použit příkaz time? Jaký má význam volba --format? C2115 Praktický úvod do superpočítání -7-

Cvičení LVI.2 1. Ke spuštění programu load_cpu použijte následující skript v jazyce bash. #!/bin/bash N=4 # pocet soubezneho spusteni for((i=1;i<=n;i++)); do./load_cpu & # spusti aplikaci na pozadi done wait # ceka na dokonceni vsech aplikaci na pozadi 2. Proveďte analýzu funkce skriptu. 3. Změřte dobu běhu skriptu. Měření proveďte pro N=1, 2, 3,..., NCPU, 2*NCPU, 3*NCPU, 4*NCPU, 5*NCPU, 6*NCPU, kde NCPU je počet CPU dostupných na vaší pracovní stanici. Běžící procesy dále monitorujte příkazem top spuštěným v jiném terminálu. 4. Naměřené časy porovnejte s teoretickou délkou běhu vypočtenou z doby běhu programu load_cpu na 1 CPU. Určete režii souběžného běhu procesů vztaženou na teoretickou délku běhu. Výsledky diskutujte. C2115 Praktický úvod do superpočítání -8-

Cvičení LVI.2 C2115 Praktický úvod do superpočítání -9-

Výsledky wolf01, 4 CPU, Intel(R) Xeon(R) CPU X3460 @ 2.80GHz, L1: 32kB, L2: 256kB, L3: 8192kB Počet souběžně spuštěných procesů Skutečná doba běhu (t wall ) [s] load_cpu Teoretická doba běhu (t ideal ) [s] Režie (overhead) [%] 1 14.5 14.5 0.0 2 15.7 14.5 8.1 3 18.4 14.5 26.8 4 24.5 14.5 69.1 8 50.3 29.0 73.4 12 78.8 43.5 81.1 16 103.3 58.0 78.1 20 135.7 72.5 87.1 24 892.6 87.0 926.0 overhead t wall t t ideal ideal 100 udává o kolik % je běh aplikace pomalejší než za ideálního stavu C2115 Praktický úvod do superpočítání -10-

růst režie Výsledky wolf01, 4 CPU, Intel(R) Xeon(R) CPU X3460 @ 2.80GHz, L1: 32kB, L2: 256kB, L3: 8192kB load_cpu Počet souběžně spuštěných procesů Skutečná doba běhu (t wall ) [s] Teoretická doba běhu (t ideal ) [s] Režie (overhead) [%] 1 14.5 14.5 0.0 2 15.7 14.5 8.1 3 18.4 14.5 26.8 4 24.5 14.5 69.1 8 50.3 29.0 73.4 12 78.8 43.5 81.1 16 103.3 58.0 78.1 20 135.7 72.5 87.1 24 892.6 87.0 926.0 C2115 Praktický úvod do superpočítání -11-

swap přepínání kontextu CPU cache Výsledky wolf01, 4 CPU, Intel(R) Xeon(R) CPU X3460 @ 2.80GHz, L1: 32kB, L2: 256kB, L3: 8192kB load_cpu Počet souběžně spuštěných procesů Skutečná doba běhu (t wall ) [s] Teoretická doba běhu (t ideal ) [s] Režie (overhead) [%] 1 14.5 14.5 0.0 2 15.7 14.5 8.1 3 18.4 14.5 26.8 4 24.5 14.5 69.1 8 50.3 29.0 73.4 12 78.8 43.5 81.1 16 103.3 58.0 78.1 20 135.7 72.5 87.1 24 892.6 87.0 926.0 C2115 Praktický úvod do superpočítání -12-

Architektura, celkový pohled paměť CPU severní můstek jižní můstek síť (ethernet) řadiče SATA pevné disky C2115 Praktický úvod do superpočítání -13-

Architektura, limitující faktory paměť CPU cache severní můstek jižní můstek Nejrychlejší komponentou je CPU ostatní komponenty jsou pomalejší RAM ~10 GB/s SATA disk SATA III: 600 MB/s Síť 10/100/1000 Mb/s limitující faktory síť (ethernet) řadiče SATA pevné disky C2115 Praktický úvod do superpočítání -14-

Paměť, swap paměť ~10 GB/s CPU cache severní můstek swap = odkladná paměť, která je většinou uložena na diskovém zařízení, je využívána, pokud není dostatek systémové paměti pro běh procesů rychlost přístupu ke swapu je limitován rychlostí daného hardware a všech komunikačních kanálů mezi ním a fyzickou paměti SATA III: 600 MB/s síť (ethernet) jižní můstek swap pevné disky C2115 Praktický úvod do superpočítání -15-

Architektura, limitující faktory paměť CPU cache severní můstek jižní můstek Nejrychlejší komponentou je CPU ostatní komponenty jsou pomalejší RAM ~10 GB/s SATA disk SATA III: 600 MB/s Síť 10/100/1000 Mb/s limitující faktory síť (ethernet) řadiče SATA pevné disky vysoké latence C2115 Praktický úvod do superpočítání -16-

Cvičení LVI.3 1. Příkazem scp zkopírujte ze stroje wolf01 soubor /home/kulhanek/data/c2115/lesson05/ubuntu-14.04.1-server-amd64.iso do vašeho domovského adresáře. Dobu kopírování změřte příkazem time. Zkopírovaný soubor smažte. 2. Příkazem scp zkopírujte ze stroje wolf01 soubor /home/kulhanek/data/c2115/lesson05/ubuntu-14.04.1-server-amd64.iso do vašeho scratch adresáře. Dobu kopírování změřte příkazem time. Zkopírovaný soubor smažte. 3. Příkazem scp zkopírujte ze stroje wolf01 soubor /scratch/kulhanek/c2115/lesson05/ubuntu-14.04.1-server-amd64.iso do vašeho scratch adresáře. Dobu kopírování změřte příkazem time. 4. Příkazem cp zkopírujte z adresáře scratch soubor ubuntu-14.04.1-server-amd64.iso do podadresáře iso. Dobu kopírování změřte příkazem time. Soubor v adresaři iso smažte. 5. Určete přenosové rychlosti pro různý počet stahování. Určete místo/a, které limituje/í datový přenos. Týmová organizace!!! Navrhněte zátěžový test a realizujte jej. C2115 Praktický úvod do superpočítání -17-

Cvičení LVI.3 C2115 Praktický úvod do superpočítání -18-

Datové toky, LVI.3.1 wolf front end wolfxx /home scp /home wolf01 C2115 Praktický úvod do superpočítání -19-

Datové toky, LV.3.1 NFS Network File System wolf front end nfs, write nfs, read network switch wolfxx /home scp /home wolf01 C2115 Praktický úvod do superpočítání -20-

Datové toky, LV.3.2 NFS Network File System wolf front end nfs, read network switch wolfxx /home scp /home wolf01 C2115 Praktický úvod do superpočítání -21-

Datové toky, LVI.3.3 NFS Network File System wolf front end network switch wolfxx /home scp /home wolf01 C2115 Praktický úvod do superpočítání -22-

Datové toky, LVI.3.4 wolf front end network switch wolfxx /home /home wolf01 C2115 Praktický úvod do superpočítání -23-

Parametry síťového rozhraní [kulhanek@wolf01 ~]$ ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 2 Transceiver: internal Auto-negotiation: on MDI-X: off C2115 Praktický úvod do superpočítání -24-

Infiniband InfiniBand (abbreviated IB) is a computer network communications link used in highperformance computing featuring very high throughput and very low latency. It is used for data interconnect both among and within computers. C2115 Praktický úvod do superpočítání -25-