Algemene informatie
Vakcode | X_401031 |
---|---|
Studiepunten | 6 EC |
Periode | P1 |
Vakniveau | 400 |
Onderwijstaal | Engels |
Faculteit | Faculteit der Bètawetenschappen |
Vakcoördinator | prof. dr. W.J. Fokkink |
Examinator | prof. dr. W.J. Fokkink |
Docenten |
prof. dr. W.J. Fokkink |
Praktische informatie
Voor dit vak moet je zelf intekenen.
Voor dit vak kun je last-minute intekenen.
Werkvormen | Werkcollege, Hoorcollege |
---|
Doelgroepen
Dit vak is ook toegankelijk als:
Dit vak wordt in het Engels aangeboden. Omschrijvingen kunnen daardoor mogelijk alleen in het Engels worden weergegeven.
Doel vak
This course provides a comprehensive presentation of the foundations andprogramming 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.
Inhoud vak
The course consists of the following topics: Shared memory, mutualexclusion, synchronization operations, concurrent data structures,
scheduling, transactional memory, and a multithreaded programming
assignment.
Onderwijsvorm
4 hours per week HC, 4 hours per week WC.Toetsvorm
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.
Literatuur
Maurice Herlihy, Nir Shavit, The Art of Multiprocessor Programming,Morgan Kaufmann, 2008.
Doelgroep
3CSOverige informatie
The homepage of the course is at http://www.cs.vu.nl/~tcs/cm/Aanbevolen voorkennis
Datastructures & AlgorithmsProgramming in Java