PPLS: Parallel Programming Languages and Systems

Welcome to Parallel Programming Languages and Systems

PPLS lecture times and venues are as follows:

  • Wednesdays, 09:00, S1, 7 George Square
  • Fridays, 09:00, LG.11, 40 George Square

Lectures will be recorded and will accessible from the Course Learn Page. There are no other course meetings (eg no tutorials).

The Course Materials section of this also site contains links to 

PPLS coursework is explained and submitted through the Course Learn Page.

You are welcome to contact me by email to mic@ed.ac.uk, or via the PPLS Piazza

Murray Cole (Course Lecturer)

Course Outline

Introduction. Algorithmic and architectural models of parallelism. Characteristics of parallel architectures. Parallel algorithmic paradigms and simple parallel algorithms. Bag-of-tasks,  pipeline, producers-consumers and interacting peers parallelism.

Issues in threaded programming. Atomicity, mutual exclusion, condition synchronization, locks, barriers semaphores and monitors. Use and implementation in  Pthreads and Java.

Issues in message passing programming. Messages and synchronization models. Realization in MPI: communicators, simple and collective operations.

Alternative approaches to parallel programming. Task and pattern based models: Threading Building Blocks. Associative Models: Linda.

 
License
All rights reserved The University of Edinburgh