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 A Lisitsa
Computer Science
A.Lisitsa@liverpool.ac.uk
Year CATS Level Semester CATS Value
Session 2017-18 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 stu dents skills in parallelization of existing serial code. 

  • Learning Outcomes

    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.


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


    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.  

    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. 
    Analyse and evaluate the efficiency and scalability of parallel multi-threaded programs for multi-core parallel systems.

    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);     

    Teaching and Learning Strategies

    Lecture -

    Tutorial -

    Laboratory Work -


    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
    Unseen Written Exam  90  Semester 1  60  Yes  Standard UoL penalty applies  Final Exam Notes (applying to all assessments) 4 assessment tasks This work is not marked anonymously. Re-sit arrangements: Each re-sit assessment task will be different from the original assessment, except in the case of a skills-based assessment task, but the type of assessment will be the same; the deadline for the submission of work for each re-sit assessment task will be set by the module co-ordinator and will be part of the description of the assessment task; the deadline will typically fall within the re-sit period; the description of a re-sit assessment task will be provided at least four weeks before the deadline for the submission of work for the the task. Written examination  
    CONTINUOUS Duration Timing
    (Semester)
    % of
    final
    mark
    Resit/resubmission
    opportunity
    Penalty for late
    submission
    Notes
    Coursework  48 hours expected fo  Semester 1  10  Yes  Standard UoL penalty applies  Assessment 1 
    Coursework  48 hours expected fo  Semester 1  10  Yes  Standard UoL penalty applies  Assessment 2 
    Coursework  48 hours expected fo  Semester 1  10  Yes  Standard UoL penalty applies  Assessment 3 
    Coursework  48 hours expected fo  Semester 1  10  Yes  Standard UoL penalty applies  Assessment 4 

    Recommended Texts

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