Course co-ordinator(s): Dr Rob Stewart (Edinburgh), Dr Hans Wolfgang Loidl (Edinburgh).
Aims:
- To explore technologies and techniques underlying advanced software development for parallel and distributed systems.
- Review the principal abstractions, methods and techniques used in distributed and parallel programming.
- Develop an understanding of parallel programming on heterogeneous architectures including accelerators such as GPUs
- Enable students to appreciate critically a range of distributed and parallel computing technologies
Detailed Information
Course Description: Link to Official Course Descriptor.
Pre-requisites: Academic knowledge of fundamentals of operating systems, computer networks and software engineering equivalent to an ordinary degree in Computer Science, basic knowledge of programming in C.
Location: Edinburgh.
Semester: 2.
Syllabus:
- Foundations of sequential and parallel programming; the role of sequential host languages in the context of distributed and parallel technologies.
- Distributed Technologies: Distribution concepts; low-level, mid-level and high-level distributed technologies; emerging distribution and coordination technologies.
- Parallel Technologies: Design of parallel systems, parallel performance analysis; programming heterogeneous systems; practical imperative parallel programming; practical declarative parallel programming
SCQF Level: 11.
Credits: 15.