|
Konkurentne a distribuovane programovanie systemy 2016/2017
Utorok 14:00-15:30 M.216, Piatok 9:00-10:30 M.III
Hodnoti sa priebezna praca pocas semestra (vypracovanie niekolkych
projektov), ktora ma rovnaku vahu ako skuska v skuskovom obdobi. Pre uspesne
absolvovanie kurzu je nutne obe tieto ciastocne hodnotenia splnit aspon na
40%.
-
Motivacia. Oddelenie algoritmickych a konkurentnych aspektov v jazyku C.
Pamatova a casova zlozitost programov s I/O operaciami a dynamickou
alokaciou pamate. Polling a jeho dosledky.
-
Meranie casu. Zdroje casu v PC, Real-Time Clock (RTC), Programmable Interval
Timer (PIT). Meranie casu a budiky v operacnom systeme. Presnost zdrojov
casu a budikov v operacnom systeme:
Slajdy k prednaske
Tutorial on PC timers
Linux
man clock_gettime(CLOCK_MONOTONIC_RAW, ...)
Linux Device Drivers (Chapter
7)
Linux Kernel Development
(Chapter 10)
- Thready, stavovy diagram threadu. Zdielane premenne, atomicita pristupu
k pamati, kriticke regiony. Deckerov a Petersenov algoritmus, predpoklady na atomicitu
operacii, dokaz spravnosti. Deadlock, livelock. Ine prostriedky
synchronizacie threadov. Posix threads (pthreads), mutexy, podmienkove
premenne:
Slajdy k prednaske
Odporucanie
z minulosti (kedy pouzit thready a kedy nie, 1995)
- Kniznice, thread-safety. Priklad
so zdielanym zasobnikom.
- Thready v Jave. Vytvorenie threadu. Synchronizovane metody,
synchronizovane bloky. Zabudovane reentrantne mutexy. Metody join(),
wait(), signal(). Problem s priamociarym pouzitim synchronized metod.
Kniha
SCJP Sun Certified Programmer for Java (Chapter 9)
- Viacurovnovy pamatovy model. Ukazky neintuitivneho spravania programov.
Prostriedky synchronizacie pamate a ich pouzitie v Jave a C. Volatilne
premenne, implicitna synchronizacia pamate:
Java memory model
(JSR133)
Memory
models
Java
"double-checked locking"
- OpenMP. Filozofia OpenMP. Fork-join paralelizmus. Architektura
OpenMP:
Specifikacia OpenMP
GOMP (GNU OpenMP)
Introduction
to OpenMP (RWTH Aachen University)
Introduction
to OpenMP (University of Oregon)
- Paralelizacia cyklov. Pravdepodobnostny model. Deterministicky model.
Parametre modelov a ucel optimalizacie. Metody optimalizacie:
Chunking,
factoring
Work stealing
Updated by
Tomas Plachetka,
Dec/14/2017
|