Module Overview

High Performance Computing

This modules aims to provide the learner with the necessary knowledge, skills and understanding to program high performance computing systems, and to design and construct high performance computing cluster systems. As high performance computing has become a critical area within industry, the associated skills and experience of parallel and multi-threaded programming have moved centre-stage. Into the future, the ready availability of skilled computing science graduates with such experience will be key to the future of the industry. Specifically, the module aims to- Introduce the learner to the subject of high performance computing, and the associated architectures.- Expose learners to both Message-Passing programming and Shared-Memory programming.- Give learners an appreciation of the difficulties and pitfalls associated with parallel programming.- Provide the learner with an understanding of high performance computing clusters based on the Linux operating system.

Module Code

COMP H4026

ECTS Credits

5

*Curricular information is subject to change

Parallel Computers (20%)

- Flynn's taxonomy of HPC architectures- Message-Passing Multicomputers- Parallel Speed-up- Amdahl's Law- Gustafson's Law

Message-Passing Computing (20%)

- Basics of Message-Passing Programming- Software Toolsets- Evaluating Parallel Programs

Embarrassingly Parallel Computations (8%)

- Ideal Parallel Computation - Mandelbrot Set - Monte Carlo Methods

Partitioning and Divide-And-Conquer Strategies (8%)

- Partitioning Strategies - M-ary Divide and Conqueor - Bucket Sort

GPU HPC (8%)

- Pipelined Computations - CUDA

Synchronous Computations (4%)

- Synchronisation - Synchronised Computations

Load Balancing and Termination Detection (4%)

- Static and Dynamic Load Balancing- Distributed Termination Detection Algorithms

Programming with Shared Memory (4%)

- pthreads- OpenMP

Cluster Systems (16%)

- Network Topologies- openMosix- OSCAR & Rocks- Cluster Monitoring & Management- Parallel I/O- Parallel Virtual File System (PVFS)

Green HPC (8%)

- Calculating Power Requirements - Power Management and Cooling - Role of the Job Scheduler - Algorithmic efficiency

Module Content & Assessment
Assessment Breakdown %
Other Assessment(s)40
Formal Examination60