Module title: Concurrent and Parallel Systems

SCQF level: 11:
SCQF credit value: 20.00
ECTS credit value: 10

Module code: SET11120
Module leader: Kevin Chalmers
School School of Computing
Subject area group: Software Engineering
Prerequisites

To study this module you will need to have or have and understanding of software design patterns, algorithmic analysis and design, and common data structures.


Description of module content:

This module will cover many aspects of concurrent and parallel systems development. Starting initially by looking at multi-threading and how we can build applications that are executing more than one operation on a single Central Processing Unit (CPU), the module will look at systems that can exploit multi-core processors and the management of control in such systems. After analysis of the possibilities of single machine execution, the module will move onto examining parallel systems development involving many machines. Technologies such as Message Passing Interface (MPI) and cluster computing shall be investigated, with suitable problems analysed in the context of these technologies. Finally, the module content will return to single machine execution with an examination of Graphics Processing Units (GPUs) and how they can be exploited to undertake particular parallel computation problems.

Learning Outcomes for module:

Upon completion of this module you will be able to
LO1: Integrate research methods to concurrent and parallel systems development
LO2: Research and evaluate different parallel systems techniques to solve particular problem types
LO3: Design and construct parallel algorithms to solve particular problem types
LO4: Analyse the performance of parallel systems undertaking particular work types using standard research methods

Indicative References and Reading List - URL:

Core - PACHECO, P. (2011) AN INTRODUCTION TO PARALLEL PROGRAMMING: MORGAN KAUFMANN, 1st ed.
Core - GASTER. B. (2011) HETEROGENEOUS COMPUTING WITH OPENCL: MORGAN KAUFMANN, 1st ed.
Core - WILLIAMS, A. (2012) C++ CONCURRENCY IN ACTION: PRACTICAL MULTITHREADING: MANNING PUBLICATIONS, 1st ed.
Click here to view the LibrarySearch.