Cluster Architectures and Computations

Course content

To introduce parallel computers as target platform for applications that require either much memory or large computing power, or both. 

The purpose of the class is to provide the student an understanding and practical experience with parallel-computing. Parallel-computing is becoming pervasive in the scientific community, and in industry. The class covers classic supercomputer architectures and how these are programmed, as well as how clusters may emulate these so that applications and programming-techniques from different supercomputers may be used on cluster-computers, as well as state-of-the-art current research in supercomputers. The target is that students obtain a detailed understanding of the problems that surround supercomputers, as well as their known solutions and the limitations of these solutions. Topics: Parallel supercomputer architectures, advanced topics in CPU architecture, communication technology and machine-topology. Parallel algorithms, parallel programming and scientific computing. Programming using; threads, processes, message passing interface, remote memory and distributed memory – including Message Passing Interface, MPI.


MSc Programme in Physics
MSc Programme in Computer Science

Learning outcome

At the course completion the student should be able to: 
1. Design and implement parallel applications 
2. Design a cluster-computer for a specific purpose 
3. Use threads and processes for shared memory architectures 
4. Use Message Passing Interface 
5. Manage vectorization of operations 

The overall purpose of this course is to enable the student to write high performance parallel applications on parallel computer architectures. In addition, the successful candidate will become familiar with a number of classic parallel computer architectures and a set of high performance scientific applications.

The students will understand the challenges in addressing parallelization of applications and limitations of the available hardware. In addition, the students should have an ingrained sceptic approach to commercially presented buzzwords and benchmarks and be able to objectively select the best platform for a given problem.

Lectures and written projects.

See Absalon for final course material. The following is an example of expected course literature.


Notes and articles.

Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers Barry Wilkinson

The student must be experienced with writing programs, especially applications in scientific modelling, simulation or data-processing. It is advantageous that the student has an understanding of the internal construction of a computer as well as how the components are build.

7,5 ECTS
Type of assessment
Continuous assessment
The class is evaluated through a set of reports that is written throughout the class. The final grade is the average of the best 3 reports. Each of these 3 reports must be passed separately with a grade of at least 02.
All aids allowed
Marking scale
7-point grading scale
Censorship form
No external censorship
More internal examiners
Criteria for exam assessment

See learning outcome

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 28
  • Preparation
  • 178
  • English
  • 206