Electrical and Electronic Engineering
|Lecturer:||Professor Thomas Bräunl|
Semester 1 - 6 points
Outcomes: This unit introduces and motivates the study of high performance computer systems. Students are presented with the foundational concepts pertaining to the various different classes of parallel computers. This enables them to describe the technological context of current high performance systems. Students gain skills in evaluating and optimising the performance of parallel computer architectures, as well as the ability to understand and explain the performance observed. The unit provides them with the ability to undertake more advanced topics in computer architecture.
Content: This unit reviews the many issues involved in the design and use of high performance computer architectures. Introduction to parallel computing—motivation for the use of parallelism, Flynn's formal taxonomy as well as a more informal overview of parallel architectures; requirements for parallelism—data dependencies, Bernstein’s conditions, and precedence graphs; measuring parallelism—level of parallelism, degree of parallelism and granularity; measurement of performance—various metrics, speedup laws (Amdahl's vs. Gustafson-Barsis'), scalability and benchmarking; programming parallel computers—parallel algorithms, languages, and compilers for the data-parallel and task-parallel programming models, including compile-time issues of partitioning and scheduling; MIMD multiprocessing—memory organisation, cache coherence and synchronisation; multi-vector and SIMD computing—control of SIMD processor arrays, distribution of data across memory modules, multi-pipeline systems and pipeline chaining; inter-processor connection networks—static (meshes, hypercubes, etc.) and dynamic networks (single-stage, multi-stage, crossbars and buses), flow control, and routing; advanced topics in pipelining—control and scheduling of arithmetic and instruction pipelines. Commercial and prototype systems, both historical and current, are used throughout to illustrate various topics.
|Lectures||26 hrs||week 1|
|Tutorials||12 hrs||week 2|
|Labs||30 hrs||week 3||weekly labs, 3h each|
For days, time and venues, see: www.timetable.uwa.edu.au
Tutorial and Lab assignments are available on the web.
Students should work in groups of two, so please find a partner from the same lab group.
Tutors / Lab Supervisors: TBA
Bräunl: Parallel Processing
(Parallel Programming, Prentice Hall, 1993)
K. Hwang, Advanced Computer Architecture: Parallelism, Scalability,and Programmability , McGraw-Hill, 1993
H. El-Rewini, T. G. Lewis, Distributed and Parallel Computing, Manning, 1998
M. J. Quinn, Parallel Computing: Theory and Practice, McGraw-Hill, 1994
Course Notes: see link
Tutorials: see link
Tutorial Solutions: see link
Lab Assignments: see link
Previous Exams: see link
Supplem. Material: see link
Marks (Cont. Asses.) : see link
Assessment: This consists of mid-semester test(s), laboratory assignments, a research essay and an examination. The tests and examination assess students' understanding of the fundamentals. The laboratory reports test students' ability to articulate and report their findings. The essay develops independent learning skills, as well as testing written communication skills.
|Type||% of final mark||Comments|
|Test||10%||Test in class, Tue. 6. April|
|Essay||10%||Due in class, Mon. 26. April|
each lab is worth 3%
|Final examination||50%||open book exam|
Assignments and labs will receive a 20% penalty for each day late.
All work submitted must be the student's (or group's, resp.) own work.
Citations must be clearly marked as such.
See the faculty policy on plagiarism.
See the faculty policy for scaling marks.
See the faculty policy for appeals.