UWB and UW Seal
CSS 534 - Parallel Programming in Grid and Cloud
Munehiro Fukuda       Computing and Software Systems       University of Washington Bothell   
Syllabi:
Autumn 18
Autumn 16
Winter 15
Spring 14
Summer 12
Spring 11

Resources:
Canvas
Course Evaluation
Panopto
Homework Assignments
OpenMP
OpenMPI
MapReduce
Spark
Java API
Amazon EC2

References:
Parallel Programming
Distributed Systems
OpenMP
MPI
MapReduce
Hadoop
Spark

UW Resources:
UW IT Connect
UW C&C Unix Guide

UWB Resources:
Quantitative Skills Center
Writing & Communication Center

University of Washington Bothell
Computing & Software Systems

Catalog Description

This course closely examines programming methodology and middleware used for parallel computing in grid and cloud systems, and develops your programming skills high enough to design and build application-specific parallel software with up-to-date grid and cloud programming environments.

Topics covered include:

  1. parallel-computing platforms,
  2. parallel-programming models: OpenMP, MPI, MapReduce, Spark and other paradigm-oriented language tools,
  3. programming patterns such as task and data parallelism,
  4. parallel-job submission, management, and recovery.

For each of the topics, we will cover the background and motivation, programming and design theory, and current technology implementation in grid and cloud. Each lecture will advance your parallel-programming knowledge and skills through in-class discussions and laboratory hands-on programming exercises.

Five programming assignments are given:

  1. shared-memory-based programming with a tool such as OpenMP,
  2. message-passing-based programming with a tool such as MPI,
  3. task-parallelized programming with MapReduce,
  4. data-parallelized programming with Spark
  5. the final project to parallelize an open problem with each of MPI, MapReduce, Spark, and the MASS (multi-agent spatial simulation) library.


Announcements