CSCI 338

Parallel Processing

Home | Lectures | Programming Assignments | Links | CS@Williams Slack

Home

Instructor: Kelly Shaw
Email: kshaw AT cs.williams.edu
Phone: x2772
Office: TCL 209
Help Hours: Mon. 2-3:30 (Back Unix lab), Wed. 1-2:30 (Unix lab), by appt
Class Meeting Times: TuTh 9:55-11:10pm in Schow Library 030A
Textbooks: Unix Systems Programming: Communication, Concurrency, and Threads (2nd Edition),
by Kay Robbins and Steve Robbins
An Introduction to Parallel Programming (2nd Edition),
by Peter S. Pacheco and Matthew Malensek
(Recommended)Programming Massively Parallel Processors: A Hands-on Approach
(4th Edition)
, by David B. Kirk, Wen-mei W. Hwu, and Izzat El Hajj

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. The primary objective of the class is to learn how to map algorithms to different types of systems and to assess applications' performance on different systems based on applications' resource demands and systems' characteristics. Throughout, students will explore these issues using several forms of graph algorithms.

Policies

Course Syllabus
Department Honor Code and Account Agreement