High-Performance Parallel & Distributed Systems - COM00174M

«Back to module search

  • Department: Computer Science
  • Credit value: 20 credits
  • Credit level: M
  • Academic year of delivery: 2022-23

Module summary

This module introduces and explores the use of high-performance computing, and related technologies.

Module will run

Occurrence Teaching period
A Spring Term 2022-23

Module aims

This module introduces and explores the use of HPC and related technologies, covering on and off node parallelism, accelerators, and memory management. Students will understand the increasingly important role that HPC plays in science and engineering. Throughout the module, students will practice by developing programs using a range of parallel programming paradigms like OpenMP and MPI.

Module learning outcomes

  • Demonstrate the development of parallel programs using a range of popular programming paradigms, over shared and distributed memory systems.

  • Be able to use appropriate metrics to assess and compare the performance of applications and systems.

  • Describe the use of distributed data frameworks to implement large scale data processing solutions

  • Be able to explore the design space afforded by parallel and distributed systems, including issues of GPU programming, high-speed networking, and IO.

  • Demonstrate familiarity with the deployment of such programs on high-performance and cluster systems, including understanding the administration, workload, and resource management systems.

Indicative assessment

Task % of module mark
Essay/coursework 100

Special assessment rules

None

Indicative reassessment

Task % of module mark
Essay/coursework 100

Module feedback

Feedback is provided through work in practical sessions, and after the final assessment as per normal University guidelines.

Indicative reading

Introduction to High Performance Scientific Computing, Eijkhout, Victor; van de Geijn, Robert; Chow, Edmond