CE290M – Topics in Parallel Computation

General Information and Syllabus April 2, 1996

Instructor:  Richard Hughey
Office:  315-A Applied Sciences
Phone:  459-2939
e-mail:  rph@ce.ucsc.edu
Office hours: Wednesday 11:00–12:00pm

And by Appointment

Meeting Times

Tuesdays and Thursdays, 10:00–11:45, Porter 250. May 28 is an exchange day — no class.

Topics

This course will focus on parallel programming paradigms. We will be using the department’s MasPar MP-2204 as well as the computers at the San Diego Supercomputing Center (SDSC): a Cray C90 vector processor, a Cray T3D massively parallel MIMD machine, and an Intel Paragon. Additionally, we’ll take a look at programming on the Kestrel linear processor array.

During the course, you may want to select one particular application or type of application, and consider how it parallelizes for different machine models and languages.

The 290M course alternates with the 220 course (Parallel Processing). The focus of both courses changes from year to year, but 290M is generally a software-oriented course, while 220 is a hardware-oriented course. The first 290M, two years ago, considered numerical algorithms.

Readings

Designing and Building Parallel Programs, Ian Foster, Addison Wesley, 1995. A good overview text, with chapters on several of the languages the author has been involved with. The text is also

on the WWW, at http://www.mcs.anl.gov/dbpp, mirrored at http://www.hitex.com/dbpp

in Palo Alto.

Programming Languages for Parallel Processing, edited by David B. Skillicorn and Domenico Talia, IEEE CS Press, 1995. This is an collection of papers that was a runner-up for course text. The papers are not quite so up-to-date as the collection’s copyright date indicates. We’ll use some of these papers to get to programming paradigms beyond C, C++ and Fortran (tentatively, SISAL and a prolog variant).

Advanced Computer Architecture with Parallel Programming, Kai Hwang, McGraw Hill, 1993. Mostly an architecture book.

Journals of interest include the Journal of Parallel and Distributed Processing, IEEE Transactions on Parallel and Distributed Systems, IEEE Parallel and Distributed Technology magazine, and Computer. Conferences include ICPP (Int. Conf. Parallel Processing), IPPS (Int. Parallel Processing Symposium), and SPDP (Symposium on Parallel and Distributed Processing), among others. A reader with some MasPar documentation will be available at the copy center soon.

Subscription to comp.parallel and comp.super is encouraged. You should also look around David

Bader’s parallel site: http://www.umiacs.umd.edu/~dbader/sites.html.

Course Work

Course work will include a number of homework assignments and a class project and presentation. A couple of the homework assignments will include short class presentations, seminar style.

For the project, a brief (paragraph) project proposal will at the end of the fifth week (April 30), and a short 3–5 page discussion of the problem (suitable for the introductory section of your project report) in the 7th week of class (May 14). The presentations during the last two weeks should be detailed, and you should provide reading material during the period before your talk. The final report will be due on Wednesday, June 12, at 5pm.

Tentative schedule

Week Topics  Reading
4/2 Overview, MPL  1, Reader
4/9 Basic Algorithms  2
4/16 Performance  3–4
4/23 Vectorized C, C++ Dialects  5
4/30 Fortran Dialects  6–7
5/7 MPI and communication libraries 8
5/14 SIMD and Kestrel  Reader
5/21 Alternative Models  Handouts
5/28 Project Talks (Short week)
6/4 Project Talks