S I G P O W : P R O J E C T

Networks of workstations are becoming a feasible platform for parallel computing. With the arrival of very fast networks (eg. ATM's) and the wide spread availability of workstations, they may soon become the most important platform for parallel computing. POW (Parallelism On Workstations) is a concerted effort to build a shared-memory computing environment to support a broad range of parallel applications. The POW computing platform will support a number of different abstractions for parallel computing. This includes:

  1. The plain shared-memory abstraction, in which the program is presented with the illusion of a shared address space, the same as in shared-memory multiprocessors. This shared memory abstraction is provided at page-granularity. That is, when a processor references a page that it currently does not have, that page is transparently copied from the processor that has the latest copy of the page, and when a processor modifies a page that is shared from other processors, that page is transparently invalidated from the other processors.

  2. The Shared Regions abstraction, in which the program defines a set of shared regions (the units of sharing in the program), and also labels all series of references to those regions with the annotations readaccess, readdone, writeaccess, writedone. On a readaccess or writeaccess operation, data associated with that region is transparently copied from a processor that has the latest copy of that region. On a writeaccess/writedone operation, the copies of that region currently residing at other processors are transparently invalidated. Data is trasferred at the granularity of shared regions.

  3. The message-passing interface, in which processors communicate explicitly using send and receive primitives.

Within the scope of this project, we will be investigating a broad range of issues related to parallel computing on networks of workstations. A few of these issues are:

  1. What types of applications can achieve performance benefits from the POW environment. We are interested in real world applications. Currently, we are investigating a set of graphics applications, but we are also in search of more.

  2. What types of performance benefits may be achieved using the Shared Regions abstraction, versus programs using the plain shared-memory interface.

  3. Importing well-known techniques such as prefetching and multi-threading from the multiprocessor environment to the POW platform.

Last modified: Wed Jan 31 14:46:21 1996