Module Details

CE816-7-AU-CO: High Performance Computing

Year: 2017/18
Department: Computer Science and Electronic Engineering
Essex credit: 15
ECTS credit: 7.5
Available to Study Abroad / Exchange Students: No
Full Year Module Available to Study Abroad / Exchange Students for a Single Term: No
Outside Option: No

Supervisor: Dr Adrian Clark
Teaching Staff: Dr Adrian Clark
Contact details: School Office, e-mail csee-schooloffice (non-Essex users should add to create full e-mail address), Telephone 01206 872770.

Module is taught during the following terms
Autumn Spring Summer

Module Description

The aim of this module is to provide students with an understanding of the principles that underlie high-performance computing, identify where high-performance computing is needed, and utilise some of the major toolkits that support high-performance computing.

Learning Outcomes. After completing this module, students will be expected to be able to:

1. Identify which parts of algorithms are inherently serial and parallel.
2. Make rough calculations to determine how to configure high-performance computing systems for particular problems.
3. Write programs designed for high-performance computing systems.
4. Set up and manage clusters or clouds.

Outline Syllabus

1. What is high-performance computing? Where does it need to be applied? Hard and soft real-time computing. Ways of achieving high performance: processor speed, instruction set, GPU, FPGA, pipelining, parallelism, clustering, clouds. (2 hours)

2. Serial and parallel components of algorithms; Amdahl's law. Pipelined parallel stages. Calculating what performance is needed where. (2 hours)

3. High-performance computing toolkits. Software development using MPI, the Message-Passing Interface. (4 hours)

4. Setting up and managing clusters. (6 hours)

5. High-performance computing and large-scale databases. Exemplars spanning bioinformatics, text search, image and video databases. (4 hours)

6. Achieving real-time performance. Latency and throughput. Exemplars from robotics. (2 hours)

Learning and Teaching Methods

Mode of delivery: 2 hours of lectures per week, 2 hours of laboratory time per week.


40 per cent Coursework Mark, 60 per cent Exam Mark


Assignment 1 - Building a computer cluster Mode of submission via FASER. Weighting (as percentage of module mark) - 20% Week assignment to be submitted - 6 Assignment 2 - Programming with MPI Mode of submission via FASER. Weighting (as percentage of module mark) - 20% Week assignment to be submitted - 11


  • Reading list:
  • High Performance Computing: Programming and Applications (Chapman & Hall/CRC Computational Science)
  • John Levesque, Gene Wagenbreth (2010)
  • Introduction to High Performance Computing for Scientists and Engineers (Chapman & Hall/CRC Computational Science)
  • Georg Hager, Gerhard Wellein (2010).