CE220 - Parallel Processing
General Information and Approximate Syllabus
April 1, 1997

Instructor: Richard Hughey
Office: 315-A Applied Sciences
Phone: 459-2939
e-mail: rph@ce.ucsc.edu
Office hours: Tuesday 4:00-6:00pm
Class hours: Tuesdays and Thursdays, 2:00-3:45, SocSci1 149.
May 26 is an exchange day -- no class.

Topics

This course will focus on parallel processing architecture, including specialized and systolic parallel architectures and general-purpose multiprocessors and multicomputers. We will start with a few algorithms, but in general survey the state of parallel computing architectures. We will be using the department's MasPar MP-2204 for several assignments, as well as (hopefully) a cluster of DEC Alpha Workstations with a fast interconnection network.

The related course, Topics in Parallel Computation, offered in alternate years, covers a mostly disjoint set of material. Its focus is on applications, algorithms, and programming. Two years ago, we studied applied parallel algorithms; last year we studied parallel programming languages and environments. Next year will focus on algorithms for fine-grain parallel processors.

In recent years, one common thread of CE290M and CE220 has been use of the Kestrel simulator. Kestrel is a parallel processor we are building here at UCSC. As opposed to previous years, however, Kestrel is seeing silicon, and the simulator represents an accurate model of the machine (it has to, since we use it to debug the layout). Thus, if you work on a Kestrel project on the simulator, you should be able to run it on the Kestrel hardware in the late summer or fall. A 1-board, 512-PE Kestrel system will be able to perform some applications 100s of times faster than high-end workstations. We can even do 32-bit floating-point division at about 400 MFLOPS! (But only half the speed if you insist on IEEE!)

Readings

Advanced Computer Architecture, Kai Hwang, McGraw Hill, 1993. New edition of Hwang and Briggs, but not 13 years old. Covers high-level details on many machines, especially strong on multiprocessors. Fortunately, it has an index now (we used the Beta of this book 4 years ago).

Parallel Processing: From Applications to Systems, Dan Moldovan, Morgan Kaufmann, 1993. This book (used 2 years ago, when we focussed on algorithm mapping) is as slanted to SIMD processing as our text is to MIMD processing.

Highly Parallel Computing, George S. Almasi and Allan Gottlieb, Benjamin/Cummings, 1994. Another second edition (but without dropping an author). Slanted toward multiprocessors, it includes excellent overviews of parallel applications, programming methodologies, and operating systems. Generally at a lower level than Hwang.

VLSI Array Processors, S. Y. Kung, Prentice Hall, 1988. Signal processing, image processing, and other array applications.

Computer Architecture and Parallel Processing, Kai Hwang and Fayé A. Briggs, McGraw Hill, 1984. Strong on hardware and network configurations; a previous version of the course text.

I'll be maintaining a course page with links to various things.

http://www.cse.ucsc.edu/~rph/ce220/

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 (May 6), 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 20). 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 11, at 5pm.

I'll have a list of possible topics soon. Browsing through recent issues of appropriate journals (such as Transactions on Parallel and Distributed Systems and the Journal of Parallel and Distributed Processing) and proceedings (such as Supercomputing, Int. Conf. Parallel Processing, and Application Specific Array Processors) may suggest some topics.

Machines

The Baskin center has a MasPar MP-2204. The machine features 4096 32-bit processing elements, a global router connecting the processing elements and 128 Mbytes of global memory (`IO RAM'), and a gcc-derivative for programming. Their benchmarks include 17,000 32-bit MIPS and 1,600 32-bit MFLOPS. Although still both fast and fun to use, it is approaching the end of its useful life.

Using the tail end of the NSF Infrastructure grant that purchased the MasPar, the Compbio group is purchasing a network of 6 500MHz Alpha workstations. With luck, this will be up and running in time to try out some message passing and shared memory programming on the system. (In the interim, if you're interested on working on that machine, you can develop algorithms in MPI, the Message Passing Interface, a package available for just about every multiprocessor and the ethernet as well.)

tabular48



Richard Hughey
Tue Apr 15 16:20:44 PDT 1997