CS 4234 Project 2

Project report due 5:00 p.m., December 6, 2004
Project demos to be scheduled December 6-8, 2004

Updated 11/10/2004
Notes:
1. Undergraduates may work on this project in teams of two; graduate students must work alone.
2. As an alternative to the project described below, a few of you may want to do something that you propose. Discuss this with Dr. Ribbens as soon as possible.
The goal of this project is to explore the issues involved with implementing distributed shared memory (DSM). The idea of DSM is to give the programmer the illusion of shared memory, even though the memory is physically a distributed memory system, e.g., on a cluster. You will be implementing a very simple protype of a DSM programming model, on top of MPI.
  1. (70 pts) Implement the following four functions, callable from the programming language of your choice, using MPI "under the hood."

    Important notes:

  2. (20 pts) Describe and implement at least one noticeable improvement to the simple API, or to its implementation, as described in part 1. By "noticeable" we mean something that improves performance on realistic memory access patterns. Present experimental results demonstrating the improvement from your proposed changes to the model and/or its implementation.

  3. (10 pts) Describe, but do not implement, an additional improvement to the model and/or its implementation. Give sufficient details to convince the reader that you know what you are talking about. For example; you may explain motivation for your proposed change or extension; describe the kinds of memory accesses that will benefit; describe how you would implement it; what additional problems do you anticipate, if any?