Teaching GuideTerm Faculty of Computer Science |
Grao en Enxeñaría Informática |
Subjects |
Concurrency and Parallelism |
Contents |
|
|
|
Identifying Data | 2016/17 | |||||||||||||
Subject | Concurrency and Parallelism | Code | 614G01018 | |||||||||||
Study programme |
|
|||||||||||||
Descriptors | Cycle | Period | Year | Type | Credits | |||||||||
Graduate | 2nd four-month period |
Second | Obligatoria | 6 | ||||||||||
|
Topic | Sub-topic |
T1. Concurrent programming fundamentals | 1.1 Concepts 1.1.1 Hardware architectures 1.1.2 Operating Systems 1,1.3 Threads and Processes 1.2 Multiprocess programming (fork/join) 1.3 Multithread programming 1.4 Critical section 1.5 Mutual exclusion 1.6 Atomic instructions 1.7 Condition synchronization 1.8 Semaphores 1.8.1 Mutex 1.8.2 Semaphores 1.9 Deadlock. Prevention, avoidance, recovery 1.10 Starvation 1.11 Communication and synchronization 1.12 Scalability |
T2. Concurrent Algorithms | 2.1 Producers/consumers. 2.2 Readers/writers 2.3 Dining philosophers 2.4 Shared nothing |
T3. Parallel programming principles | 3.1 Concepts 3.1.1 Levels of paralellism 3.1.2 Data dependencies 3.2 Message passing model 3.2.1 Basic concepts 3.2.2 Point to point communication 3.2.3 Collective operations 3.3 Analysis of parallel algorithms 3.3.1 Performance measure of parallel algorithms 3.4 Methodology for parallel programming 3.4.1 Task decomposition 3.4.2 Task assignment 3.4.3 Optimization techniques 3.5 Schemes for parallel algorithms 3.5.1 Single Process Multiple Data 3.5.2 Master/slave paradigm |
T4. Design of parallel algorithms and applications | 4.1 Message passing libraries 4.2 Case of study 4.3 Performance evaluation 4.4 Inclusion of optimization techniques |
|