CSCI 338
Parallel Processing
Home | Lectures | Reading Assignments | Programming Assignments | Links | CS@Williams
Home
Instructor: | Kelly Shaw |
Email: | kshaw AT cs.williams.edu |
Phone: | x2772 |
Office: | TPL 315 |
Office Hours: | Thurs. 2:30-4, Fri. 1-2 and by appt |
Class Meeting Times: | MR 1:10-2:25pm in TCL 206 |
Textbooks: | Unix Systems Programming: Communication, Concurrency, and Threads (2nd Edition),
by Kay Robbins and Steve Robbins |
An Introduction to Parallel Programming,
by Peter S. Pacheco |
|
Programming Massively Parallel Processors: A Hands-on Approach (3rd Edition),
by David B. Kirk and Wen-mei W. Hwu |
|
Programming on Parallel Machines,
by Norm Matloff |
|
Course Description
This course explores different parallel programming paradigms used for writing applications on today’s parallel computer systems. The course will introduce concurrency (i.e. multiple simultaneous computations) and the synchronization primitives that allow for the creation of correct concurrent applications. It will examine how a variety of systems organize parallel processing resources and enable users to write parallel programs for these systems. Covered programming paradigms will include multiprogramming with processes, message passing, threading in shared memory multiprocessors, vector processing, graphics processor programming, transactions, MapReduce, and other forms of programming for the cloud. Class discussion is based on assigned readings. Assignments provide students the opportunity to develop proficiency in writing software using different parallel programming paradigms.
Policies