Parallel architectures and languages

This tutorial aims to introduce some of the key concepts in general-purpose parallel computing, looking specifically at the relationship between parallel architectures and languages, which constitute a parallel system. The behaviour and performance of any parallel system is highly dependent on both of these aspects. The key theme is scalability, and how the programming model is the key ingredient that provides an abstraction between hardware and software.

This will run for 5 weeks in the second semester (12-16) and will be held on Monday at 11am in MVB 3.39 (the tutorial room).

Week Date
12 23rd Jan
13 30th Jan
14 6th Feb
15 13th Feb
16 20th Feb

Overview

1. Introduction and overview & parallel architectures

2. Parallel programming models

3. Analyitical modelling of parallel systems

  • Main reference: Introduction to Parallel Computing (2nd edition), Grama, Ananth and Karypis, George and Kumar, Vipin and Gupta, Anshul. Addison Wesley, January 2003; Chapter 5 (p. 195), Analytical modeling of parallel programs.

4. Example: Chapel

5. Example: XMOS XS1 architecture