Module Details

The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module.
Title MULTI-CORE and MULTI-PROCESSOR PROGRAMMING
Code COMP528
Coordinator Dr MK Bane
Computer Science
M.K.Bane@liverpool.ac.uk
Year CATS Level Semester CATS Value
Session 2019-20 Level 7 FHEQ First Semester 15

Aims

To provide students with a deep, critical and systematic understanding of key issues and effective solutions for parallel programming for systems with multi-core processors and parallel architectures.
To develop students appreciation of a variety of approaches to parallel programming, including using MPI, OpenMP and CUDA. 
To develop the students skills in parallel programming using MPI, OpenMP and CUDA.
To develop the students skills in parallelization of existing serial code.


Learning Outcomes

(LO1) At the end of the module students should be able to:  Explain the concepts of multi-core processors and systems and parallel architectures,  their advantages and challenges of their programming.

(LO2) Appraise the differences between various programming techniques and programming patterns available for parallel programming for multi-core systems and parallel architectures. 

(LO3) Design parallel multi-threaded programs using the most appropriate for a particular application approach, using one of MPI, OpenMP, CUDA, or a combination of thereof.  

(LO4) Design and implement reasonably sophisticated parallel multi-threaded programs demonstrating reasonable scalability on multi-core and parallel systems  using MPI, OpenMP, or CUDA, or the combination of thereof. 

(LO5) Analyse and evaluate the efficiency and scalability of parallel multi-threaded programs for multi-core parallel systems.

(S1) Improving own learning/performance - Personal action planning

(S2) Communication (oral, written and visual) - Presentation skills

(S3) Communication (oral, written and visual) - Report writing

(S4) Critical thinking and problem solving

(S5) Information skills - Critical reading

(S6) Numeracy/computational skills - Reason with numbers/mathematical concepts

(S7) Numeracy/computational skills - Problem solving


Syllabus

 

Introduction to multi-core processors and parallel architectures, symmetric multiprocessing (SMP), computer clustered multiprocessing, Intel Many-Integrated Core architecture: opportunities and challenges (3 lectures); applications of high-performance parallel computing and business benefits of HPC: an overview (1 lecture); Elements of parallel programming: decomposition; scaling and speedup; threads; synchronization (3 lectures); MPI Overwiew (1 lecture); Principles of MPI programming for clustered multiprocessing (4 lectures); OpenMP Overview (1 lecture); Principles of OpenMP programming for SMP architectures (4 lectures); graphics processing units (GPU) and programming for compute unified device architecture (CUDA) (4 lectures); comparison of parallel programming languages, including MATHLAB, X10, Chapel, UPC, XcalableMP (1 lecture); combining MPI, OpenMP and CUDA (2 lecture); performance and scalability evaluation and testing (3 lectures) parallel debugging ( 1 lecture); parallelization of existing serial code: opportunities and challenges (2 lectures).

The Continuous Assessment elements require computing programming in the language C, and course labs and examples are also in C


Teaching and Learning Strategies

Teaching Method 1 - Lecture
Description:
Teaching Method 2 - Tutorial
Description:
Teaching Method 3 - Laboratory Work
Description:


Teaching Schedule

  Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
Study Hours 24

  6

12

    42
Timetable (if known)              
Private Study 108
TOTAL HOURS 150

Assessment

EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
             
CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
Assessment 1 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When): Semester 1  48 hours expected fo    13       
Assessment 2 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When): Semester 1  48 hours expected fo    13       
Assessment 3 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When): Semester 1      14       

Recommended Texts

Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.