Paralelní programování

Slides:



Advertisements
Podobné prezentace
Skupenské přeměny látek
Advertisements

Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/
Shodnost rovinných útvarů Shodnost trojúhelníků
Tomáš Prejzek ZŠ T. Stolzové Kostelec nad Labem Prosinec 2012
Ekvivalence silových soustav a statická rovnováha tělesa
Vzájemná poloha přímek
Visual Basic POLE. 2 POLE Pole - je řada prvků označených indexem Například: řada čísel, které spolu nějak souvisejí řada známek jednoho studenta řada.
PA081 Programování numerických výpočtů Přednáška 2.
A5M33IZS – Informační a znalostní systémy Datová analýza I.
ZPG -Základy Počítačové Grafiky cvičení
Paralelní programování
a) Určete odchylku dvou stěnových úhlopříček krychle.
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně © Ing. Václav Rada, CSc. Cvičení - 6 březen.
Proč?. pokud jsme schopni vytvořit stroj, který bude úlohu řešit problém je algoritmizovatelný příklad.
Paralelní programování
Prezentace systémů soutěží od ročníku 2008/09 pro pokračování stiskněte vždy po skončení zvukového komentáře ENTER Uváděné termíny jsou v pracovní podobě,
Principy překladačů Vysokoúrovňové optimalizace Jakub Yaghob.
S TUDENTSKÉ T RENÉRSKÉ C ENTRUM I LEARN TO TEACH.
KIV/ZI cvičení 11 Tomáš Potužák. Procvičení funkcí I Příklad 1 – Do buňky E3 zapíšeme vzorec =C3*$C3+C$3 a zkopírujeme ho do buněk E2, D3 a D2. Co bude.
KIV/ZI cvičení 8 Tomáš Potužák.
FORMALIZACE PROJEKTU DO SÍŤOVÉHO GRAFU
ZÁKLADNÍ ŠKOLA, BRNO, KAMÍNKY BRNO – Nový Lískovec, Kamínky 5 Šablona III/2 Ročník7. Vzdělávací oblastMatematika a její aplikace Vzdělávací oborGeometrie.
TERMOEMISE ELEKTRONŮ.
Komunikační diagram (UML)
Bayesův teorém – cesta k lepší náladě
VÍCEKRITERIÁLNÍ ROZHODOVÁNÍ I.
Excel – Vzorce Ing. Bohumil Bareš. Principy vytváření vzorců Můžeme je zadávat ručně nebo pomocí průvodce, kliknutím na ikonu, která spustí dialogové.
Název školy: Základní škola a Mateřská škola Kladno, Vodárenská 2115 Autor: Mgr. Ilona Sadílková Materiál: VY_32_INOVACE_ICT35.01 Téma: Excel Číslo projektu:
Rozbor konstrukčních úloh a jejich využití Prezentace na téma.
VY_32_INOVACE_21-13 Pravděpodobnost 12
13AMP 6. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Synchronizace procesů Synchronizace procesů Producent-Konzument Producent-Konzument.
Goniometrické funkce.
Informatika I 2. přednáška
Prezentace produktu Microsoft Excel. ČAS Vrátí číslo, které představuje určitý čas. Toto číslo vrácené funkcí ČAS je desetinné číslo v rozmezí od 0 do.
ZOBRAZENÍ TĚLESA V OBECNÉ ROVINĚ
Teoretická informatika Tomáš Foltýnek Paralelní programování.
ROVINNÉ ŘEZY MNOHOSTĚNŮ
Základní škola a Mateřská škola Slapy, okres Praha-západ
ZÁKLADY DESKRIPTIVNÍ GEOMETRIE.
Jedenácté cvičení Vlákna. Java cv112 Vlákna Operační systém Mutitasking – více úloh se v operačním programu vykonává „současně“ Java Multithreading -
VY_32_INOVACE_21-10 TEST č. 1.
Bodová konstrukce kuželosečky - elipsy
Výrok „Počítač je pouze tak inteligentní jako jeho uživatel.“ (Radek Lochman, dnes)
Konstrukce střihu dětských sportovních kalhot (M 1:5)
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_060 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Ing. Roman Bartoš Předmět Informatika.
Přebíhání na síti při vlastním podání
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
Metody na podporu řízení investičních projektů
KONSTRUKČNÍ SYSTÉMY BUDOV POZEMNÍCH STAVEB
13AMP 3. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled I. Co je to kontext úlohy Co je to kontext úlohy Task switching (přepnutí úlohy)
PA152Notes 101 CS 245: Database System Principles Notes 10: More TP Hector Garcia-Molina Pavel Rychlý.
Distribuovaná sdílená paměť Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
A4B33OSS (J. Lažanský) verze: Podzim 2010 Meziprocesní komunikace a synchronizace procesů 1 Obsah Téma 5 – Meziprocesní komunikace a synchronizace procesů.
A4B33OSS (J. Lažanský) verze: Podzim 2013 Meziprocesní komunikace a synchronizace procesů 1 Obsah Téma 5 – Synchronizace procesů a problém uváznutí 1.Problém.
13AMP 4. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Problém sdílených zdrojů Problém sdílených zdrojů Co je to kritická sekce Co.
Procvičování graf lineární funkce. Narýsujte graf následujících funkcí.
A3B33OSD (J. Lažanský) verze: Jaro 2013 Synchronizace procesů a problém uváznutí 1 Obsah Téma 5 – Synchronizace procesů a problém uváznutí 1.Problém soupeření,
Základy operačních systémů Meziprocesová komunikace a synchronizace Jakub Yaghob.
 Hodně štěstí :*  Jdi na start Jdi na start.  Kolik je =   
Úloha 1 Měření úrovně zvuku pomocí zvukového senzoru na vstupu mikroprocesoru Projekt CZ.1.07/1.1.16/ Bc. Jaroslav Zika 2014.
1/35 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Synchronizace procesů 08.
Úloha 5 Ultrazvukový senzor, tlačítko a motor řízený mikropočítačem Projekt CZ.1.07/1.1.16/ Bc. Štěpán Janás 2013.
Exkurze do hlavy mentální anorektičky. na začátku bude… …příběh na začátku bude… …příběh.
Synchronizace. nejen provedení dvou operací ve stejný čas jakákoliv forma časové koordinace více procesů nebo událostí synchronizační pravidla / omezení.
Středový a obvodový úhel
CZ.1.07/1.4.00/ číslo a název klíčové aktivity III/2
Přednášky z Distribuovaných systémů
Přednášky z Distribuovaných systémů
Monitor Object 1.
Scoped Locking, Strategized Locking
Transkript prezentace:

Paralelní programování Synchronizační vzory – bariéra

Synchronizační vzory – mutex Mach Šebestová a1 count = count + 1 b1 count = count + 1 kolik semaforů? jaká počáteční hodnota?

Synchronizační vzory – mutex Mach Šebestová mutex(1) a1 mutex.acquire() b1 a2 count = count + 1 b2 a3 mutex.release() b3 kritická sekce acquire = wait, release = signal multiplex?

Synchronizační vzory – multiplex Mach Šebestová mutex(n) a1 mutex.acquire() b1 a2 count = count + 1 b2 a3 mutex.release() b3 semafor <> zámek token, místnost, povolenka, permanentka symetrické

Dežo v mutexu Zdroj obrázku: http://kecy.roumen.cz

Synchronizační vzory – bariéra symetrické rendezvous pro libovolný počet vláken všechna vlákna musí počkat až projdou bodem setkání po příchodu posledního vlákna mohou všichni pokračovat dál realizace n vláken poslední vlákno otevře bariéru

Synchronizační vzory – bariéra mutex.wait() count = count + 1 mutex.signal() if count == n barrier.signal() barrier.wait() kdy funguje? kdy nefunguje?

Bariéra – turniket mutex.wait() count = count + 1 mutex.signal() if count == n barrier.signal() barrier.wait()

Synchronizační vzory – bariéra praktické využití pracovní vlákna po dokončení práce se výsledky spojí rozdá se nová práce spouští se v cyklu potřebujeme bariéru, kterou lze znovu použít wait v kritické sekci (uvnitř mutexu) je nepoužitelný turniket – bod, kterým vlákna prochází po jednom, ale bez zdržení

Deadlock - drobná chybka mutex.wait() count = count + 1 if count == n barrier.signal() barrier.wait() barrier.signal() mutex.signal()

Bariéra – další (ne)řešení mutex.wait() count = count + 1 mutex.signal() if count == n turnstile.signal() turnstile.wait() count = count – 1 if count == 0 turnstile.wait(); Problém je, že procesy se mohou předbíhat (jeden proces může předběhnout všechny ostatní a vrátit se do bariéry znovu). Tj. chceme aby všechny procesy musely bariéru opustit a potom, aby se zase na bariéře sešly. problem?

Bariéra – další řešení počáteční hodnoty? mutex.wait() count = count + 1 if count == n turnstile2.wait() turnstile.signal() mutex.signal() turnstile.wait() /* process */ count = count – 1 if count == 0 turnstile.wait(); turnstile2.signal(); počáteční hodnoty?

Bariéra – další řešení mutex.wait() count = count + 1 if count == n turnstile.signal(n) mutex.signal() turnstile.wait() /* process */ count = count – 1 if count == 0 turnstile2.signal(n); turnstile2.wait() Pokud to semafor umožňuje, tak je možné propustit všechna vlákna z bariéry současně zasláním n signálů. Pak se dá řešení takto zjednodušit. turnstile2 = Semaphore(0)

Zdroj obrázku: http://antzinpantz.com/kns/archives/27242