NFYK13012U Cluster Architectures and Computations
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.
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
- 7,5 ECTS
- Type of assessment
- Continuous assessmentThe 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