Course syllabus

Multicoreprogrammering
Multicore Programming

EDAN26, 7,5 credits, A (Second Cycle)

Valid for: 2019/20
Decided by: PLED C/D
Date of Decision: 2019-04-01

General Information

Elective for: C5-pv, D5-is, D5-pv, E4-pv, F4, F4-pv, Pi4-pv
Language of instruction: The course will be given in Swedish

Aim

The purpose of the course is that to learn how to implement an algorithm as efficiently as possible on a particular multicore computer with a focus on multiprocessors with shared memory. Another purpose of the course is to gain insights into advantages and disadvantages of different programming languages for multicore programming, such as Java, Scala, C, and OpenMP. The students will also learn about lock-free algorithms and data structures.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must

Contents

Multiprocessors, classification of cache misses, decomposition of the computation into tasks. Assignment of tasks to threads. Mapping of threads to processors. Programming models, synchronisation, and communication. Owner computes rule. Memory consistency models. Sequential consistency. Weak ordering. Release consistency, Pthreads, OpenMP, current research trends in multiprocessor computer architecture.

Examination details

Grading scale: TH - (U,3,4,5) - (Fail, Three, Four, Five)
Assessment: Written exam. To pass the course, the exam, laboratory exercises, and a programming assignment must be passed. The final grade of the course is based om the result of the written exam.

The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.

Parts
Code: 0116. Name: Compulsory Course Items.
Credits: 3,5. Grading scale: UG. Assessment: To qualify for a passing grade the laboratory work and the project must be completed. Contents: Laboratory work and a project.
Code: 0216. Name: Written Examination.
Credits: 4. Grading scale: TH. Assessment: The final grade of the course is based on the result of the written examination. Contents: Written examination.

Admission

Admission requirements:

The number of participants is limited to: No
The course overlaps following course/s: EDA116, EDAN25

Reading list

Contact and other information

Course coordinator: Jonas Skeppstedt, jonas.skeppstedt@cs.lth.se
Course homepage: http://cs.lth.se