PV192 Paralelní technické systémy

Fakulta informatiky
jaro 2012
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
Dodavatelské pracoviště: Katedra strojového učení a zpracování dat – Fakulta informatiky
Rozvrh
Út 10:00–11: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
předmět má 35 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. Online. Upper Saddle River, NJ: Addison-Wesley, 2006. xx, 403. ISBN 0321349601. [citováno 2024-04-23] info
  • BEN-ARI, Mordechai. Principles of concurrent and distributed programming. Online. 2. ed. Harlow: Addison-Wesley, 2006. xv, 361. ISBN 032131283X. [citováno 2024-04-23] info
  • ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Online. Reading: Addison-Wesley, 2000. xx, 664 s. ISBN 0-201-35752-6. [citováno 2024-04-23] 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 každoročně.
Předmět je zařazen také v obdobích jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2013, jaro 2014, jaro 2015.