.- - -.
 
Johny WWW stránky Honzy Outraty
Moje poštovní schránka
 
`- - -'
 
.- - -.
 
   LatVis
  
   O mně ...
   Programy
   Texty a slajdy

Předměty
   Bezpečnost poč. sítí
   Databázové systémy (1)
   Informatická propedeutika 1
   Informatická propedeutika 2
   Operační systémy 1
   Operační systémy 2
   Paradigmata prog. 4
   Paralelní programování
   Počítačové sítě
   Principy informatiky 2
   Soft. laboratoř 1,2
   Úvod do inf. technologií
  
   Rozvrh výuky
  
   Projekt ve 2. ročníku
   Diplomové práce

Ostatní
   Johny's WWW TETRIS
   „Hanácká střela“
   O těchto stránkách ...
 
`- - -'

verze pro tisk

Created with Emacs
Graphics by GIMP
   

Paralelní programování - Seznam přednášek a cvičení (sylabus)

Přednášky


  1. Úvod
    Paralelní a distribuované programování, konkurence, synchronizace, abstrakce konkurentního programu, stav, scénář.

  2. Úvod
    Atomické akce, architektury HW, korektnost, férovost, podmíněná synchronizace, aktivní čekání.

  3. Problém producent-konzument

  4. Kritická sekce a vzájemné vyloučení
    Dokazování korektnosti pomocí stavových diagramů, Dekkerův, Petersonův, pekařský a „rychlý“ algoritmus, složené atomické akce, zámek (mutex).

  5. Bariéra
    Flynnova taxonomie, implementace.

  6. Datově paralelní algoritmy

  7. Semafor
    Implementace a jeho použití pro řešení kritické sekce, problému producent-konzument a bariéry, simulace obecného semaforu.

  8. Problém čtenářů a písařů

  9. Další synchronizační problémy
    Večeřící mudrci, spící holič, kuřáci dýmky aj.

  10. Monitor, podmíněné proměnná a chráněný objekt
    Jejich použití pro řešení synchronizačních problémů.

  11. API pro paralelní programování, heterogenní výpočetní platformy
    Simulátor konkurence, model checker, API pro paralelní programování (POSIX Threads, Windows Threads, OpenMP, .NET Parallel Extensions, GCD), výpočty na grafických kartách.


Cvičení


  1. API pro paralelní programování
    Vytvoření vícevláknového programu, POSIX Threads, Windows Threads, .NET System.Threading, Common Lisp.

  2. Scénář paralelního programu
    Sestavení a demonstrace scénáře, procedura/metoda/makro concurrent.

  3. Problém producent-konzument
    Implementace, modifikace, ověření korektnosti.

  4. Kritická sekce a složené atomické akce
    Řešení, implementace a ověření korektnosti řešení kritické sekce s využitím složené atom. akce.

  5. Podmíněná synchronizace, bariéra
    Implementace bankovního systému a řešení bariér.

  6. Datově paralelní algoritmy
    Implementace různých algoritmů.

  7. Semafor a mutex
    Implementace a ověření řešení problémů.

  8. Simulace obecného semaforu, problém stabilních manželství
    Ověření korektnosti, řešení a implementace.

  9. Problém čtenářů a písařů
    Implementace.

  10. Další synchronizační problémy
    Implementace: večeřící mudrci, spící holič, kuřáci dýmky aj.

  11. Monitor, podmíněné proměnná a chráněný objekt
    Implementace některého problému, tvorba simulací.

  12. API pro paralelní programování, výpočty na grafických kartách
    OpenMP, .NET Parallel Extensions, OpenCL.


http://phoenix.inf.upol.cz/~outrata/, outrata@phoenix.inf.upol.cz
Jan Outrata, generováno: 7.1.2013