Rhodes University Distributed & Parallel Programming

Rhodes University Distributed & Parallel Programming

Distributed

Distributed and Parallel Processing (Prof George Wells)

Objectives:

To present students with an overview of distributed computing, parallel programming, and the relationship between them.  Practical sessions cover the full range of parallel and distributed processing, and use the Java programming language, which is very similar to C#.

Contents:

Background, Terminology and Theoretical Foundations

  • Hardware issues and system architectures
  • Parallel algorithm patterns

Parallel Processing

  • Communication and synchronization
  • Threads, Interprocess communication, CSP, etc.

Distributed Processing

  • Remote Procedure/Method Calls, Virtual Shared Memory, Message Oriented Middleware, Grid Computing, etc.

Formal specification

  • The CSP meta-language, specifying parallel systems, proving safety, etc.

Prerequisites: Object-oriented programming in Java (or a similar language, such as C#).