Předmět Paralelní programování (KMI / PARA)
Na serveru studentino.cz naleznete nejrůznější studijní materiály: zápisky z přednášek nebo cvičení, vzorové testy, seminární práce, domácí úkoly a další z předmětu KMI / PARA - Paralelní programování, Přírodovědecká fakulta, Univerzita Palackého v Olomouci (UP).
Top 10 materiálů tohoto předmětu
Materiály tohoto předmětu
Materiál | Typ | Datum | Počet stažení |
---|
Další informace
Obsah
Znalosti nástrojů a technik paralelního programování patří v současnédobě, vzhledem k vývoji hardware (vícejádrové procesory, stovkyprocesorů na grafických kartách použitelných pro výpočty), k základnímpožadavkům kladeným na kvalitního programátora. V kurzu studentipoznají jak výhody tak i problémy vznikající u paralelních programů sesdílenou pamětí, na klasických synchronizačních problémech i naúlohách z praxe, a naučí se je řešit pomocí metod synchronizace.Programuje se v jazycích C/C# pomocí rozhraní poskytovanýchoperačními systémy a také v jazyce Common Lisp, ve kterém jsoupředstavena rozšíření pro paralelní programování, která se v poslednídobě dostávají do moderních programovacích jazyků.Na kurz navazují některé předměty magisterského oboru Informatika, vnichž je podrobněji probírána problematika paralelního programování, ataké distribuovaných systémů, které získávají na významu s rozvojempočítačových i jiných (např. mobilních) sítí.1. Paralelní program: vlastnosti, výhody, problémy. Atomické akce ajejich podpora HW.2. Synchronizace, reentrantnost, aktivní a pasivní čekání.3. Demonstrace základních problémů, problém producent-konzument.4. Kritická sekce a její použití. Zámek (mutex), vzájemné vyloučení,podmíněné čekání.5.,6. Bariéra a její použití v kritické sekci a datově paralelníchalgoritmech. Problémy řešitelné datově paralelními algoritmy.7. Semafor a jeho použití pro řešení kritické sekce, bariéry a problémuproducent-konzument (omezený buffer).8. Problém čtenářů a písařů a jeho různá řešení.9. Další typické synchronizační problémy: večeřící mudrci, spícíholič, kuřáci dýmky aj.10. Monitor a podmíněné proměnná. Jejich použití pro řešenísynchronizačních problémů.11. Podpora paralelizace v programovacích jazycích, nové prostředkypro paralelní programování v .NET a MacOS X.
Získané způsobilosti
3. Aplikace: Rozpoznej a řeš překážky při vývoji paralelních programů.
Literatura
MAGEE J., KRAMER J. Concurrency, State Models and Java Programs. John Wiley and Sons Ltd, 1999. ANDREWS G. R. Concurrent programming: principles and practice. Addison-Wesley, 1991. ISBN 0805300864.ANDREWS G. R. Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, 2000. ISBN 0201357526.Schneider F. B. On concurrent programming. Springer, 1997. ISBN 0387949429.Ben-Ari M. Principles of concurrent and distributed programming. Addison-Wesley, 2006. ISBN 9780321312839.
Požadavky
Aktivní účast v hodině. Plnění zadaných úkolů. Složení ústní (příp. písemné) zkoušky.
Garant
doc. RNDr. Michal Krupka, Ph.D.
Vyučující
doc. Ing. Lenka Motyčková, CSc.Mgr. Jan Outrata, Ph.D.Mgr. Jan Laštovička