PV192 Paralelní technické systémy

Fakulta informatiky
jaro 2011
Rozsah
2/0. 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
prof. Ing. Václav Přenosil, CSc.
Katedra strojového učení a zpracování dat – Fakulta informatiky
Rozvrh
Čt 16:00–17:50 C511
Předpoklady
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
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é hodnocní ř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 každoročně.
Předmět je zařazen také v obdobích jaro 2008, jaro 2009, jaro 2010, jaro 2012, jaro 2013, jaro 2014, jaro 2015.