NFYK13012U  Cluster Architectures and Computations

Volume 2017/2018

MSc Programme in Physics
MSc Programme in Computer Science


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.

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.

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.
Lectures and written projects.
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

Three reports plus one week take home exam. The reports will be with known subjects identical to three of the reports given during the course. Approved reports from the course may be re-submitted no later than 2 weeks before the take-home exam, but will be re-evaluated. The take-home exam will be issued with an unknown subject. All four parts count equally in the final grade.

Criteria for exam assesment

See learning outcome

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