Concurrency & Multithreading
Vrije Universiteit Amsterdam
Amsterdam, The Netherlands
Area of Study
Taught In English
Recommended U.S. Semester Credits3
Recommended U.S. Quarter Units4
Hours & Credits
This course provides a comprehensive presentation of the foundations and programming principles for multicore computing devices.
Specific learning objectives are:
- To provide insight into fundamental notions of multicore computing and their relation to practice: locks, read-modify-write operations, mutual exclusion, consensus, construction of atomic multi-reader-multi-writer registers, lost wakeups, ABA problem.
- To provide insight into algorithms and frameworks for multicore computing and their application in multi-threaded programs: mutual exclusion algorithms, spin locks, monitors, barriers, AtomicStampedReference class in Java, thread pools in Java, transactional memory.
- Analyzing algoritmes for multicore computing with regard to functionality and performance: linearizability, starvation- and wait- freeness, Amdahl's law, compute efficiency gain of parallelism.
- Mastering elementary datastructures in the context of multicore computing: lists, queues, stacks.
- Programming in multi-threaded Java, and performing experiments with such programs.
The course consists of the following topics: Shared memory, mutual exclusion, synchronization operations, concurrent data structures, scheduling, transactional memory, and a multithreaded programming assignment.
TYPE OF ASSESSMENT
The written exam counts for 75% and the programming assignment for 25% of the final mark. Both for the written exam and the programming assignment at least a 5.0 must be obtained (and the overall average mark should be at least 5.5). Only students that achieved at least a 3.0 for their initial programming assignment are offered a resit opportunity for this assignment.
RECOMMENDED BACKGROUND KNOWLEDGE
Datastructures & Algorithms Programming in Java
Courses and course hours of instruction are subject to change.
Some courses may require additional fees.