COMP3036J Parallel & Cluster Computing

Academic Year 2021/2022

Parallel computing architectures are now used not only in for high performance computing, but in everyday computing. The advent of multicore processors, which can be found in all modern laptops and desktops, has turned parallel architectures into the mainstream architecture for commodity computing. Correspondingly, parallel programming paradigms are becoming more and more predominant in main stream programming practice.

The module introduces parallel programming, aiming to give students a firm grounding in modern parallel architectures, paradigms and programming models for both distributed- and shared-memory platforms, covering topics such as the following (different emphasis will be placed on different topics each year):

-Vector and superscalar processors: architecture and programming model, optimizing compilers (dependency analysis and code generation), array libraries (such as BLAS and ATLAS), parallel languages (such as Fortran 90 and C[]).

- Shared-memory multi-processors and multicores: architecture and programming models, optimizing compilers, thread libraries (such as Pthreads), parallel languages (such as OpenMP).

- Distributed-memory multi-processors: architecture and programming model, performance models, message-passing libraries (MPI), and parallel languages (such as HPF).

Practical work will involve in-depth use of one or more of the above languages/libraries

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

Upon completion of this module, learners will be able to:

- Understand modern parallel programming architectures, paradigms and programming models

- Select the appropriate parallel architectures and associated tools for various tasks based on problem specifications and requirements

- Compare and contrast modern parallel architectures and paradigms focussing on metrics such as requirements, tradeoffs, efficiency and performance

- Write parallel programs using standards such as MPI, OpenMP and Pthreads, and/or parallel languages.

- Utilise parallel libraries where appropriate

Student Effort Hours: 
Student Effort Type Hours
Lectures

32

Laboratories

8

Autonomous Student Learning

85

Total

125

Approaches to Teaching and Learning:
Approaches to teaching and learning will include a mix of the following, depending on the trimester: active/task-based learning; peer and group work; lectures; critical writing; reflective learning; lab work; enquiry & problem-based learning; case-based learning; student presentations. 
Requirements, Exclusions and Recommendations

Not applicable to this module.


Module Requisites and Incompatibles
Required:
BDIC1034J - College English 1, BDIC1035J - College English 2, BDIC1036J - College English 3, BDIC1037J - College English 4, BDIC1047J - English for Uni Studies BDIC, BDIC1048J - English Gen Acad Purposes BDIC, BDIC2007J - English for Spec Acad Purposes, BDIC2015J - Acad Wrt & Comm Skills


 
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Continuous Assessment: Practical assignments that may include reports, programming, presentations, essays. Varies over the Trimester n/a Graded No

50

Examination: 2 hour End of Trimester Exam 2 hour End of Trimester Exam No Graded No

50


Carry forward of passed components
No
 
Remediation Type Remediation Timing
In-Module Resit Prior to relevant Programme Exam Board
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment
• Online automated feedback
• Peer review activities
• Self-assessment activities

How will my Feedback be Delivered?

Most assessment will be individual, post-assessment with the possibility of group post-assessment. Online automated, self-assessment and peer-review may be utilised also.

Name Role
Dr Brett Becker Lecturer / Co-Lecturer