Assignments
Students will do several programming assignments, a midterm
and a final project (a substantial parallel programming project).
Programming assignments and the final project should be done by
``mixed'' teams of 2 or 3 students, where a mixed team has at least
one CS student and one non-CS student. This field is
interdisciplinary, with diverse knowledge of computer science and the
relevant application needed to solve a problem. This is too much for
most individuals to know, so work is typically done by
interdisciplinary teams, and it is therefore important to learn to
work with people in other disciplines. In this spirit, students are
strongly encouraged to change partners for each programming assignment,
in order to get to know as many potential final project partners as possible.
The most important part of the class is the final project. Students are
invited to bring their own applications to parallelize, but I will supply
a list with many suggestions. At the end of the semester we will have
a ``poster session'' where all projects will be presented.
For a look at what previous projects have involved, see the lists on the
homepages from previous years.
Projects have been in all disciplines.
One project
from 1995, is the basis of a $1B company founded by
by student Paul Gauthier and Prof. Eric Brewer.
So many things are possible!
Computing facilties
Parallel and other high performance machines available to the class include
the Berkeley NOW, a cluster of about 100 Sun Ultra sparcs
on a fast Myrinet interconnection network;
4 8-processor Sun Enterprise shared memory parallel machines (SMPs), and
one or two prototype Millennium clusters, consising either of 8
2-processor Intel SMPs or of 4 4-processor SMPs.
There is also an 8-processor DEC SMP and and 8-processor IBM SMP in
the CS Division, if people are interested in trying them.
Projects of common interest to people at the neighboring
supercomputer center