SYLLABUS

Programming Parallel and Distributed Systems
Computer Science 178, Spring 2002
Steven P. Reiss

DATE

TOPIC

READING

ASGMTS

1/24

Overview of course

LN01

 

1/29

Overview of distributed and parallel systems, applications, problems, ...

A1,P1 LN02

 

1/31

Introduction to distributed systems:

-- Fundamental problems

-- Fundamental architectures

A2 LN03

1 out

2/5

Multithreaded programming

-- Threads

-- Synchronization techniques

A3-4 LN04

 

2/7

Multithreaded programming

-- Techniques

-- Java threading model

-- Applications

A5-6 LN05

1 in, 2 out

2/12

Multiple process programming

-- Sockets

-- Messages

-- Applications

-- Client/Server models

A7-8 LN06

 

2/14

Multiple process programming

-- RPC

-- CORBA and DCOM models of RPC

A9-10 LN07

 

2/19

VACATION

 

 

2/21

RMI

-- Basic principles

-- Techniques for using

A11, RMI LN08

2 in, 3 out

2/26

Shared memory

-- Unix model

-- Shared objects (Aleph)

TBD LN09

 

2/28

Internet applications

TBD LN10

 

3/5

XML

TBD LN11

 

3/7

JSP, .NET, JavaScript

TBD LN12

3 in, 4 out

3/12

MIDTERM

 

 

3/14

Introduction to Parallel Computing

-- Problems, differences, issues

-- Parallel architectures

-- NOW, SP

P2, W1 LN13

 

3/19

MPI

-- Basic message

-- Synchronization

-- Our first MPI program

P3, W2 LN14

 

3/21

MPI

-- Scatter/gather

-- Broadcast messages

-- Groups/contexts

-- I/O

P4-8 LN15

 

3/26

SPRING BREAK

 

 

3/28

SPRING BREAK

 

 

4/2

Basic parallel programming algorithms

-- sorting and searching

P10, P14, W9, W12 LN16

4 in, 5 out

4/4

Basic parallel programming techniques

-- Scan

--Matrix algorithms

W10.1-2 LN17

 

4/9

Scientific computing

-- Gaussian elimination

-- LU decomposition

W10.3-5 LN18

 

4/11

Debugging parallel programs

P9 LN19

 

4/16

Performance measurement and tuning

P11-12, W7 LN20

 

4/18

Advanced parallel programming techniques

LN21

 

4/25

Advanced parallel programming techniques

 

 

4/27

Parallel languages

A12

 

5/2

SLACK/REVIEW

 

 

5/7

REVIEW

 

 

 

FINAL EXAM

 

 

 

Readings: A corresponds to Andrews' Foundations of Multithreaded, Parallel, and Distributed Programming ; P corresponds to Pacheco's Parallel Programming with MPI ; W corresponds to Wilkinson and Allen's Parallel Programming .

 

Topics are subject to change (generally with notice).