Single-Course Engelsk 5 ECTS

Parallel Computer Systems

Overall Course Objectives

All modern computer systems are parallel systems, whether they are
embedded, server or distributed cloud system. In this course, you will
study how these systems are designed and how to efficiently program
them.

The course assumes knowledge of, amongst other things, programming
with threads, processes and with system languages, in particular C.
Based on this, you will explore how to use and implement modern
parallel computing frameworks.

You will also study the system architecture of a wide range of
parallel systems. The course will provide the insights needed to
evaluate and design parallel systems, also at a low level.

Modern cloud systems and machine learning systems are parallel
computers. This course will cover such system as well and will provide
the necessary insight to use but also design cloud and machine
learning systems.

See course description in Danish

Learning Objectives

  • explain and derive analytic models for performance.
  • evaluate the performance of parallel computer systems and applications.
  • explain fundamental design criteria for parallel computer systems.
  • explain what parts of the systems are critical for performance.
  • explain fundamental parallel programming paradigms.
  • optimize a parallel application for a specific platform and programming paradigm.
  • design simple parallel computer systems.
  • implement parallel programming frameworks.

Course Content

Computer systems: fundamental parallel computer architecture;
multi-core systems; scalable architectures; heterogeneous computer
architecture; cache and memory hierarchy effects; cache coherence;
memory models; cloud systems; machine learning hardware; performance
analysis.

Parallel programming: structured parallel programming; parallel
patterns; implementation of synchronization primitives;
implementation of parallel programming frameworks;

Modeling: performance models; performance tools;

Possible start times

  • 36 – 49 (Wed 8-12)

Recommended prerequisites

02132/02158/02159, Students are assumed to have taken computer organization and operating
system courses. In addition, students are assumed to be able to write
programs in C. Finally, students are assumed to be able to
use threads and understand how threads could be mapped to processors.

Teaching Method

Group activities, exercises and programming laboratories.

Faculty

See course in the course database.

Registration

Language

Engelsk

Duration

13 weeks

Institute

Compute

Place

DTU Lyngby Campus

Course code 02258
Course type Candidate
Semester start Week 36
Semester end Week 49
Days Wed 8-12
Price

9.250,00 DKK

Registration