MSc in Electrical Engineering

Course Information Package

Course Unit CodeAEEE572
Course Unit DetailsPhD Computer Science (Postgraduate level courses) - MSc Electrical Engineering (Technical Electives) -
Number of ECTS credits allocated7
Learning Outcomes of the course unitBy the end of the course, the students should be able to:
  1. Justify the need and classify parallel processing systems using Flynns taxonomy as well as other factors such and memory and programming models.
  2. Explain the use of the hardware and software components needed to build a shared memory and a message passing system, and explain how issues such as synchronization, memory consistency and cache coherence can be handled.
  3. Describe and compare the different types of interconnects such as busses, crossbar switches, multistage switches and networks found in parallel processing systems.
  4. Evaluate the performance of a parallel processing system, identify and analyse the sources of lose of performance and propose techniques to improve it.
  5. Write efficient programs for message passing and shared memory parallel processing platforms using MPI and OpenMP.
  6. Review, present and evaluate published information related to the forefront of parallel computer architecture.
Mode of DeliveryFace-to-face
Recommended optional program componentsNONE
Course Contents

Advanced topics in parallel computer architectures and processing. Introduction to Parallel Processing: Historic evolution and motivation for parallel processing, parallel computer models and classification.

Parallel Programming: Message passing programming using MPI, and shared memory programming using OpenMP.

Performance Metrics: Workloads and benchmarks. Performance monitoring and tuning.

Interconnection Networks: Communication performance, interconnection organization, links, switches and interconnection topologies. Networks-on-Chip.

Shared Memory Multiprocessors: The cache coherence problem, memory consistency and replication, synchronization mechanisms.

Large scale parallel systems: Networks of Workstations, Clusters and Massively Parallel Computers.

Uniprocessor Parallel Microarchitectures: Thread Level Parallelism, Multithreading, superscalar, VLIW and vector processors.

Chip Multiprocessors, many-core processors, threaded dataflow and tiled microarchitectures and heterogeneous systems.  


Recommended and/or required reading:
  • Paterson, Hennessy, Computer Architecture: a Qualitative Approach, Morgan Kaufman, 2010
  • Students are expected to consult a variety of information sources, including processor manuals, and scientific and research papers.
Planned learning activities and teaching methods

Students are taught the course material through lectures by means of electronic presentation slides. Homework problems are assigned to strengthen students’ knowledge and understanding.

Students are requested to prepare a literature review assignment and a paper review related on advanced work published. Furthermore, students need to prepare and debate in the class on a topic related to the forefront of parallel computer architecture in the context of the course.
Assessment methods and criteria
Mid-term Exam20%
Literature Review Assignment15%
Paper Review Assignments15%
Class Debate 10%
Final Exam40%
Language of instructionEnglish
Work placement(s)NO