Lecture Distributed and Parallel Programming
Description
VAK 04IN2052 / 432052
Category: Lecture+Lesson, 4 SWS
Master Course
ECTS: 6, Sommer Semester
University of Koblenz-Landau and University of Bremen
Lecturer: PD Dr. Stefan Bosse
Learning content
- Introduction of multiprocess models with process algebra and process flow diagrams based on Hoare's CSP model
- Expansion of the CSP model with competition and shared resources; conflict resolution
- Introduction of parallels and distributed programming languages (OCCAM, Functional Programming, Multi-threading, MPI, JavaScript)
- Synchronization and inter-process communication; Errors like deadlocks and starvation; Properties of parallel and distributed systems
- Synchronization Objects and their application in Programming {Mutex, Semaphore, Monitor, Event, Queue, Barrier, Channel}
- Computer Architectures for Parallel and Distributed Systems (MultiCore, GPU, Cluster)
- Possibilities of parallelization and distribution of common algorithms and programs
- Formal foundations of parallel systems; metrics; efficiency; scaling
- Election, Leader, consensus algorithms and group communication
Goals / competences
The students acquire / win / learn
- Understanding the basic principles and architectures of distributed (VS) and parallel systems (PS) and the ability to transfer to technical systems
- Understanding and ability of programmatic application of synchronization and communication in VS and PS
- Understanding the problems and operation of parallel systems versus sequential systems (efficiency, blocking, scaling, resource requirements)
- Practical knowledge of programming PS and VS using programming exercises with JavaScript and node.js
- Insights into the limits and possibilities of parallelization and distribution and the ability to develop efficient systems
Download
- Script
- PDF
- Slides
- PDF