Parallel Languages and Programming Models

RISC-Linz logo

315.525, WS 96/97 (Start: October 10)
Do 16.15-17.45, KHG II
Wolfgang Schreiner

The general education in programming principles and techniques is essentially based on the sequential model of execution where only one activity is performed at a time and a program describes the succession of activites that lead to the desired results.

However with the emerge of parallel computers (multi-processors) and distributed systems (computer networks) it has become important to coordinate multiple activities that are performed simultaneously and mostly independent of each other.

The goal of this course is to provide an integrated overview over the variety of programming models and paradigms that have been developed and suggested for this purpose. It is not a course on parallel programming with concrete languages but emphasizes the thinking models underlying the variety of languages.

Related Course

315.394: Introduction to Parallel Computation

Contents

Introduction
Lecture Notes (ASCII)
Data-Parallel Models
"The world consists of arrays and matrices to be processed." Lecture Notes (ASCII), Chapter 7 of Foster.
Shared Variable Models
"The world is a flat global store." Lecture Notes (ASCII), Threads Article
Message Passing Models
"The world is a collection of talking processes." Lecture Notes I (ASCII)
Lecture Notes II (ASCII)
Lecture Notes III (ASCII)
Communication Spaces
"The world contains rooms for communication." Lecture Notes I (ASCII)
Lecture Notes II (ASCII)
Object-Oriented Models
"The world consists of autonomous objects." Lecture Notes I (ASCII)
Lecture Notes II (ASCII)
IBM Aglets Page
Parallel Functional Models
"The world consists of expressions to be evaluated." Lecture Notes (ASCII)
Para-Functional Programming Paper
Functional Programming Archive
Parallel Logic Models
"The world consists of propositions to be proved." Lecture Notes (ASCII)

Maintained by: Wolfgang Schreiner
Last Modification: March 19, 1997

[Up] [RISC-Linz] [University] [Search]