Advanced Computer Science: Multi-Core Computing [MSc]
Parallel Programs and their Performance
|Unit level:||Level 6|
|Teaching period(s):||Semester 1|
|Offered by||School of Computer Science|
|Available as a free choice unit?:||Y
This course unit studies the base technologies for High Performance Computing and allows 'hands-on' experience of a state-of-the-art parallel computer to be gained. The course unit explores, through a combination of directed reading, a computer-based teaching (CBT) package, group-based seminars, group-based laboratories and a group-based mini-project, a framework for the development, analysis and performance tuning of parallel algorithms for the solution of mainly numerical problems.
By giving students a 'hands-on' programming view, the foundations are laid for appreciation of the more theoretical approaches that can underpin better design of parallel software that behaves as desired. Research-minded students will be in a position to appreciate why both hardware and software are steadily mutating in order to meet the challenges of the multi-core era. Both topics are studied further in the companion course unit COMP60621.
Even the smallest computer chip nowadays embodies parallel cores, and today's highest performance computers embody substantial amounts of parallel hardware, to the extent that the latest generation of machines harness the power of hundreds of thousands of cooperating cores. The programming of such highly parallel hardware has proved to be difficult: progress has been slow and achieved mostly by "trial-and-error". This course unit introduces students to the associated difficulties by stages, taking a pragmatic, laboratory-based approach to the problem of making parallel programs work.
Learning outcomes are detailed on the COMP60611 course unit syllabus page on the School of Computer Science's website for current students.
- Analytical skills
- Group/team working
- Oral communication
- Problem solving
- Written exam - 50%
- Written assignment (inc essay) - 50%
COMP60611 reading list can be found on the School of Computer Science website for current students.
Feedback methodsMarkers provide feedback on laboratory exercise reports and staff are on hand to answer questions in the lab sessions. Verbal feedback is given on the directed reading exercises. Exam revision sessions are scheduled shortly before the exam and students can get feedback on their attempts to answer questions from previous exam papers.
- Assessment written exam - 2 hours
- Lectures - 35 hours
- Independent study hours - 57 hours