PARALLEL COMPUTING - 2018/9

Module code: COM2039

Module Overview

The course introduces concepts of parallel and distributed computing by considering different architectures that support this, and working through different categories of examples. The implementation of such solutions and their subsequent analysis gives practical experience and an understanding of the difficulties involved. Special consideration will be given to performance issues of resulting architectures, leading to a foundation for the design of high performance computing for distributed real-time control.

Module provider

Computer Science

Module Leader

KRAUSE PJ Prof (Computer Sci)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 5

JACs code: I115

Module cap (Maximum number of students): N/A

Module Availability

Semester 2

Prerequisites / Co-requisites

None

Module content


Scope of Parallel Computing:

From GPU to real time IoT;


Control Structure of Parallel Platforms
Communication Model of Parallel Platforms
Physical Organisation of Parallel Platforms
Communication Costs and Routing Mechanisms
Principles of Parallel Algorithm Design

Decomposition Techniques
Load Balancing
Containing Interaction Overheads
Parallel Algorithm Models


Communication Models
Analytical Modelling of Parallel Algorithms
Performance Characteristics:

Response times; throughputs; queue lengths; utilizations


Basics of Control Theory:

Dynamics of resource management; stability;


Advanced examples from feedback control of biological systems

Assessment pattern

Assessment type Unit of assessment Weighting
Coursework INDIVIDUAL COURSEWORK I 40
Examination 2HR UNSEEN EXAMINATION 60

Alternative Assessment

N/A

Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate that they have achieved the module learning outcomes.

 

Thus, the summative assessment for this module consists of:

·         An individual coursework on sets of problems that students are required to solve. This addresses LO1, LO2, LO3 and LO5.

·         A 2h unseen examination on the whole course content. This addresses LO1, LO3, LO4 and LO5.

The individual courseworks will be due around week 8. The exam takes place at the end of the semester during the exam period.

 

Formative assessment and feedback

Lecture slides are used extensively in the lectures with each lecture consisting of a number of slides explaining the theory and showing the examples. Solutions to lab exercises are explained during the lab session and provided to the students as part of preparation for the exam.

Module aims

  • The module aims to develop the student's ability to think clearly about the relationship between a problem abstraction and architectural implementation details. We focus on the techniques for the development of solutions of parallel computing problems as leads to high-performance computing and distributed architectures. A number of case studies will be considered to illustrate facets of the subject. On completion of the module, the students will have a good understanding of methods for optimizing the performance of parallel, distributed, and concurrent architectures

Learning outcomes

Attributes Developed
1 Explain the major benefits and limitations of parallel computing KC
2 Identify and explain the differences between common current parallel architectures KC
3 Develop parallel solutions for computationally intensive problems on distributed architectures P
4 Analyse the performance of a parallel/distributed solutions KCT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Overall student workload

Independent Study Hours: 108

Lecture Hours: 24

Laboratory Hours: 20

Methods of Teaching / Learning

The learning and teaching strategy is designed to:


Help students understand the distinctive features of a broad range of parallel programming techniques
Show the application of design techniques for solving distributed programming problems
Explain students how to analyse and optimise the performance characteristics of concurrent and distributed architectures
Equip students with necessary mathematical background to prepare them for exposure to more advanced analytical techniques
Enable students to apply taught techniques to solve concrete problems


 

The learning and teaching methods include:

Lectures (11 weeks at 2h) using detailed lecture slides to gauge the students’ understanding


Labs (10 weeks at 2h) using exercise sheets and their solutions.


 

Students will be expected to spend a minimum of 2 hours a week on self-study as part of preparation for the labs.

 

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list

Reading list for PARALLEL COMPUTING : http://aspire.surrey.ac.uk/modules/com2039

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Data Science for Health BSc (Hons) 2 Compulsory A weighted aggregate mark of 40% is required to pass the module
Computer Science BSc (Hons) 2 Compulsory A weighted aggregate mark of 40% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2018/9 academic year.