PPLS: Parallel Programming Languages and Systems

Welcome to Parallel Programming Languages and Systems

PPLS lecture times and venues are as follows:

  • Wednesdays, 09:00, Room 2.12 Appleton Tower
  • Fridays, 09:00, Room 2.12 Appleton Tower

Lectures will be recorded and will be accessible from the Course Learn Page. There are no other course meetings (eg no tutorials). There is a PPLS Edstem Discussion Board.

The Course Materials section of this site also contains links to 

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

You are welcome to contact us by email at mic@ed.ac.uk, adaglis@ed.ac.uk, or via the PPLS Edstem Discussion Board

Murray Cole and Alex Daglis (Course Lecturers)

Course Outline

Introduction. Algorithmic and architectural models of parallelism. Characteristics of parallel architectures. Parallel algorithmic paradigms and simple parallel algorithms. Bag-of-tasks,  pipeline, producer-consumer, 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