Module title: Concurrent and Parallel Systems

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

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

Module codes: SET09101 and SET09117

Examples of equivalent learning: Understanding of software design patterns, algorithmic analysis and design, and common data structures.

2018/9, Trimester 1, Face-to-Face, Edinburgh Napier University
Occurrence: 001
Primary mode of delivery: Face-to-Face
Location of delivery: MERCHISTON
Partner: Edinburgh Napier University
Member of staff responsible for delivering module: Kevin Chalmers
Module Organiser:


Learning, Teaching and Assessment (LTA) Approach:
Learning & Teaching methods including their alignment to LOs
The lecture series introduces the core concepts of developing concurrent and parallel systems. This includes the underpinning theory and technology for understanding the why and how of parallel systems development. Case studies focusing on particular problems and how they can be solved using parallel systems techniques will be covered. Lab sessions will focus on the implementation of concurrent and parallel solutions to particular problems using a range of different techniques and technologies. The coursework will involve the implementation and analysis of a different parallel solutions to a problem, and the writing of a report evaluating the different approaches used (LOs 2 to 4).

Assessment (formative or summative)
The material in the practical lab sessions will be assessed via a final coursework which will assess the students’ ability to utilise concurrent and parallel systems techniques to solve particular problems (LOs 2 to 4). The lecture material will be assessed by a final exam (LOs 1 and 2), which will assess the students understanding of the underpinning principles and technologies involved in concurrent and parallel systems development.



Formative Assessment:
The University is currently undertaking work to improve the quality of information provided on methods of assessment and feedback. Please refer to the section on Learning and Teaching Approaches above for further information about this module’s learning, teaching and assessment practices, including formative and summative approaches.

Summative Assessment:
The University is currently undertaking work to improve the quality of information provided on methods of assessment and feedback. Please refer to the section on Learning and Teaching Approaches above for further information about this module’s learning, teaching and assessment practices, including formative and summative approaches.

Student Activity (Notional Equivalent Study Hours (NESH))
Mode of activityLearning & Teaching ActivityNESH (Study Hours)
Face To Face Lecture 24
Face To Face Practical classes and workshops 24
Face To Face Centrally Time Tabled Examination 2
Independent Learning Guided independent study 150
Total Study Hours200
Expected Total Study Hours for Module200


Assessment
Type of Assessment Weighting % LOs covered Week due Length in Hours/Words
Report 20 2,3,4 9 HOURS= 20, WORDS= 0
Centrally Time Tabled Examination 50 1,2 14/15 HOURS= 2, WORDS= 0
Report 30 2, 3, 4 13 HOURS= 30, WORDS= 0
Component 1 subtotal: 50
Component 2 subtotal: 50
Module subtotal: 100

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: Critically evaluate approaches to concurrent and parallel systems development

LO2: Compare and contrast the use of 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

Indicative References and Reading List - URL:

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