PV192 Paralelní technické systémy

Fakulta informatiky
jaro 2015
Rozsah
2/0/2. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
doc. RNDr. Petr Holub, Ph.D. (přednášející)
RNDr. Lukáš Hejtmánek, Ph.D. (přednášející)
prof. Ing. Václav Přenosil, CSc. (náhr. zkoušející)
Garance
doc. RNDr. Aleš Horák, Ph.D.
Katedra strojového učení a zpracování dat – Fakulta informatiky
Dodavatelské pracoviště: Katedra strojového učení a zpracování dat – Fakulta informatiky
Rozvrh
Po 16. 2. 8:00–14:50 A219, Út 7. 4. 14:00–15:50 A319, Út 14. 4. 14:00–15:50 A319, Út 21. 4. 14:00–15:50 A319, Út 28. 4. 14:00–15:50 A319, Út 5. 5. 14:00–15:50 A319, Út 12. 5. 14:00–15:50 A319
Předpoklady
IB109 Návrh paralelních systémů
Předpokládá se znalost programování v C (na úrovni předmětu PB071) a Java (na úrovni předmětu PB162). Dále se předpokládá znalost operačního systému UNIX na uživatelské úrovni.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
předmět má 29 mateřských oborů, zobrazit
Cíle předmětu
Na konci tohoto kurzu bude student schopen: rozumět principům vláknového programování včetně různých mechanismů synchronizace; vytvářet a ladit paralelní programy nad sdílenou pamětí; analyzovat paralelní algoritmy z pohledu efektivní implementace nad sdílenou pamětí.
Osnova
  • Vícevláknové prostředí, problematika sdílené paměti. Důvody paralelizace
  • Procesy a synchronizace, race conditions
  • Vlákna v jazyce C, jejich tvorba a ukončení
  • Vlákna v jazyce Java, jejich tvorba a ukončení
  • Ladění paralelních aplikací
  • Viditelnost a synchronizace operací. Signalizace mezi objekty
  • Mutexy, semafory, monitory. Pokročilé typy zámků, atomické typy a neblokující struktury
  • Zásobárny vláken a futures
  • Principy a použití OpenMP
  • Základní vzory vícevláknových aplikací. Datové struktury vhodné pro použití v paralelních algoritmech
  • Úvod do problematiky aplikací v reálném čase
  • Podpora paralelního programování v jiných programovacích jazycích.
Literatura
    doporučená literatura
  • GOETZ, Brian a Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
  • BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
  • ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
Výukové metody
Standardní výuka, čtení doporučené literatury, praktické řešení a programování zadaných úkolů.
Metody hodnocení
Bodované hodnocení řešení úkolů, 40% hodnocení. Ústní zkouška v průběhu zkouškového období, 60% hodnocení. Pro úspěšné absolvování nesmí být bodové hodnocení za řešení úkolů a ústní zkoušku 0.
Informace učitele
Předmět je zaměřen na teoretickou i praktickou část. Praktickou část budou studenti řešit na vlastních počítačích nebo v počítačových učebnách. Předpokládá se aktivní přístup při řešení zadaných úkolů.
Další komentáře
Studijní materiály
Předmět je vyučován jednou za dva roky.
Předmět je zařazen také v obdobích jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, jaro 2014.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/jaro2015/PV192