Module Code | CSU33014 |
Module Name | Concurrent System I |
ECTS Weighting [1] | 5 ECTS |
Semester Taught | Semester 2 |
Module Coordinator/s | Prof David Gregg |
Module Learning Outcomes
On successful completion of this module, students will be able to:
- Explain trends in computer architecture (power wall, memory wall, diminishing returns from ILP) that have led to the development of multi-core processors;
- Explain and compare the major categories of parallel architecture that have appeared over the last 50 years and explain the changes in underlying technology that have made different approaches successful at different times;
- Evaluate the suitability of parallel architectures for efficiently solving specific types of problems;
- Construct efficient parallel programs for shared-memory multiprocessor architectures and understand performance with respect the underlying architecture;
- Explain underlying issues that affect parallel computing performance, such as locking and data locality;
- Design and construct routines using vector instructions sets, such as Intel SSE or AVX.
Module Content
Specific topics addressed in this module include:
- State of technology driving the architecture;
- Memory Hierarchy Instruction-level;
- Parallelism Superscalar processors;
- VLIW architectures;
- Multithreaded architectures;
- Vector architectures and programming in SSE;
- SIMD multimedia instructions;
- Design and implementation of programs using OpenMP;
- Bus multiprocessors;
- Network multiprocessors and multi-computers;
- introduction to MPI.
Teaching and Learning Methods
Lecture hours: 20 hours, lab hours: 4 hours.
Assessment Details
Assessment Component | Brief Description | Learning Outcomes Addressed | % of Total | Week Set | Week Due |
Exam | Online Exam: An exam that will be released to students at a time determined by College that students will have 2 hours to complete. | LO1, LO2, LO3, LO4, LO5, LO6 | 80% | ||
Lab Work | One or two significant pieces of lab work on parallelizing an existing program. | LO4, LO6 | 20% | Week 3 | Week 10 |
Reassessment Details
Take-Home Exam: An exam that will be released to students at a time determined by College that students will have 2 hours to complete.
Contact Hours and Indicative Student Workload
Contact Hours (scheduled hours per student over full module), broken down by: | 33 hours |
Lecture | 33 hours |
Laboratory | 0 hours |
Tutorial or seminar | 0 hours |
Other | 0 hours |
Independent Study (outside scheduled contact hours), broken down by: | 76 hours |
Preparation for classes and review of material (including preparation for examination, if applicable) | 36 hours |
Completion of assessments (including examination, if applicable) | 40 hours |
Total Hours | 109 hours |
Recommended Reading List
- Computer Architecture: A Quantitative Approach by Hennessey and Patterson.
Module Pre-requisites
Prerequisite modules: CSU22014 or CSU34021
Other/alternative non-module prerequisites: A good knowledge of C programming, a previous module in operating systems and/or thread programming, background in processor microarchitecture.
Module Co-requisites
N/A