Distributed and Concurrent Systems
"http://www.cs.umd.edu/~keleher/syllabus.818.html", Fall 1995
This web page will be updated as the course goes along. Please check it
regularly. Use Netscape! This page won't display properly otherwise.
Overview -
Requirements -
List of Papers -
Schedule -
Presenting
Overview
This course is intended to be a general systems survey course. However,
the central thread will be high-performance distributed
systems. What hardware support do such systems need, should it all be in
hardware? The primary running example that we will use are distributed
shared memory systems, (mostly) software systems that present the
abstraction of shared memory to a collection of workstations connected by
general-purpose interconnect. Such systems are becoming commonplace in the
research community, but have yet to achieve the kind of performance and
sophistication that causes the marketplace to listen.
We will first look at the communication services and abstractions provided
by current operating systems. What are the important elements? What factors
are no longer as important as when UNIX was designed nearly 25 years
ago? Do the demands of distributed applications fit in w/ the concept
of general-purpose machines?
We will then look at papers describing high-performance memory models and
several examples of software DSMs. Primary emphasis will be on the
different approaches taken by different projects, and where we think they
will go in the future.
Next we will discuss several parallel tools, and then investigate the
compiler world's mistaken belief that they're going to put the rest of us
out of a job.
We will close our semester with a rapid survey of the most interesting
hardware projects currently going on in both industry and academia.
Course Requirements
Paper Presentation(s)
All students, even those just sitting in and not registered, are required
to present one, or possibly two, papers from the list
below.
A paper presentation should be approximately 25
minutes long, and use transparencies. Feel free to use markers on the
transparencies. However, using LaTeX would be good practice.
Paper presentations should be structured as follows:
- Short overview
- More detailed explanation of complicated/interesting parts.
- Analysis of performance results, if any. Are they believable? Relevant?
- Critique of the paper as a whole. Was the problem interesting? Did the
approach make sense? Were you convinced?
I'd like to get most of the papers assigned
by the second week of classes, 9/12. Most of the papers can be retrieved
directly by clicking on the paper's title. The others will be on reserve in
the third floor library.
Please see me the week prior to
doing a paper presentation, we can discuss the paper and I may recommend
that you bring in material from other papers as well. See
here for more details on giving talks.
All students are expected to read all papers prior to the class!
Project
All students taking the course for comp credit (i.e. registered for 3
hours), are also required to do a large systems programming project. The
point of the project is to get a feel for what systems research is about. I
have no expectation that the results from the class will be publishable,
but publishing such papers is not unknown.
There will be several checkpoints during the semester to ensure that
projects are progressing. Each
project team will present a five minute
proposal
of the project on October 3,
and then a five minute update on November
7. Final
ten-fifteen minute presentations will
be done on December 5 and 7. The
final written reports are to be submitted in both HTML and postscript forms
(the
easy thing to do is to use latex2html for a rough cut on the HTML version,
then edit by hand) by the beginning of finals, December 14. Submission
consists of emailing me a postscript copy of the final report, together w/
a URL for the HTML version. For an overview of HTML, see
here.
Examples of table usage can be found
here.
A list of possible project topics can be found here.
Mid-Term
Those taking the course for comp credit must also take a mid-term
exam.
Grades
For those not taking the course for comp credit, the grade will be
determined by the paper presentation.
For those taking the course for comp credit, the grade will
primarily be determined by the project, and secondarily by the mid-term and
paper presentations.
The exact breakdown will be announced during the course of
the class.
Papers
Operating System Abstractions
Messaging Performance
Memory Models and Latency Toleration
Distributed Shared Memory
Parallel Tools
Compilers
File Systems (not to be presented)
Architecture
Possible Project Topics:
- Cache simulation using ATOM.
Goals of the simulation might include exploring the impact of new forms of
caches, such as victim caches, or multiprocessor cache designs.
- A comparison of Split-C
and CRL on the CM-5.
- Branch prediction using
ATOM
(see last ISCA).
- Cache simulation using EEL.
- Runtime program binding.
- "Global" pointers in a distributed memory system. For
example. implement C++ classes that overload "->" into a remote procedure
call. Use this to create a small distributed object system, test it out
using TSP.
- Projects on/in the CVM software
distributed shared memory (DSM) system:
- Futures implementation. This could also be standalone.
- Implementation of a new protocol (i.e. a multi-writer,
invalidate-based, eager release consistent protocol).
- Hacking GCC to implement software dirty bits.
- Runtime prefetching heuristics.
- Porting or writing new distributed programs and analysing the hell out of them.
- Comparing and contrasting w/ Quarks and CRL systems.
- Something else...
Schedule
| Week | Tuesday | Thursday |
|---|
| 9/5, 9/7 |
Introduction | Lecture |
| 9/12, 9/14 |
Lecture | Lecture |
| 9/19, 9/21 |
Trends, SPIN |
Caching, Specific |
| 9/26, 9/28 |
Exo-Kernel, HIVE |
Cluster, Scheduling |
| 10/3, 10/5 |
Project Proposals
| Project Proposals
|
| 10/10, 10/12 |
Irrelevance, Active Messages |
U-NET, FBufs |
| 10/17, 10/19 |
Event Ordering, Formalization |
Latency, Evaluation |
| 10/24, 10/26 |
TreadMarks, Message-Driven |
Causal, Midway |
| 10/31, 11/2 |
Application, Filaments |
Galertner's Lifestreams |
| 11/7, 11/9 |
Characterization, Race |
Project Updates Test handed out |
| 11/14, 11/16 |
Paradyn Fortran-D |
Irregular, SAM Test due |
| 11/21, 11/23 |
Alewife, Flash |
holiday
|
| 11/28, 11/30 |
Avalanche, SHRIMP |
Futures |
| 12/5, 12/7 |
| Presentations |
| 12/12 | Presentations |
Final Presentations
Thursday, Dec 7
- Demet Aksoy
- Bryan Buck
- Rohit Dube
- Ismail Haritagh
- Jung Min Kim
- Charles Lin
- Nelson Padua-Perez
Tuesday, December 12
- Michael Beynon
- Renato Ferreira
- Sandeep Gupta
- Kemal Kilic
- MIchael Murphy
- Wade Shen
- Matt Story
- Dejan Perkovic
keleher@cs.umd.edu