In this paper we consider problems that arise in a shared memory multiprocessor in which memory is physically distributed among a number of memories local to each processor or cluster of processors. The issue we address is that of deciding which local memories should contain copies of pages of data. In the migration problem we operate under the constraint that a page must be kept in exactly one local memory. In the replication problem we allow a page to be kept in any subset of the local memories, but do not allow a local memory to drop a page once it has it. For interconnection topologies that are complete graphs, or trees we have obtained efficient on-line algorithms for these problems. Our migration algorithms also extend to interconnections that are products of these topologies (e.g. a hypercube is a product of simple trees). An on-line algorithm decides how to process each request (which is a read or write request from a processor to a page) without knowing future requests. Our algorithms are also said to be competitive because their performance is within a small constant factor of that of any other algorithm, including algorithms that make use of knowledge of future requests. This research was supported in part by the National Science Foundation under grant CCR8658139. This research was sponsored by the Defense Advanced Research Projects Agency (DOD), monitored by the Space and Naval Warfare Systems Command under Contract N00039-87-C-0251. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the US Government.
[1]
Amos Fiat,et al.
Competitive Paging Algorithms
,
1991,
J. Algorithms.
[2]
Charles E. Leiserson,et al.
Fat-trees: Universal networks for hardware-efficient supercomputing
,
1985,
IEEE Transactions on Computers.
[3]
Andreas Nowatzyk,et al.
Coherent shared memory on a message passing machine
,
1988
.
[4]
Kevin P. McAuliffe,et al.
The IBM Research Parallel Processor Prototype (RP3): Introduction and Architecture
,
1985,
ICPP.
[5]
Lyle A. McGeoch,et al.
Competitive algorithms for on-line problems
,
1988,
STOC '88.
[6]
Mark A. Holliday,et al.
Reference history, page size, and migration daemons in local/remote architectures
,
1989,
ASPLOS III.
[7]
Anna R. Karlin,et al.
Competitive randomized algorithms for non-uniform problems
,
1990,
SODA '90.
[8]
Ralph Grishman,et al.
The NYU Ultracomputer—Designing an MIMD Shared Memory Parallel Computer
,
1983,
IEEE Transactions on Computers.
[9]
Anoop Gupta,et al.
Competitive management of distributed shared memory
,
1989,
Digest of Papers. COMPCON Spring 89. Thirty-Fourth IEEE Computer Society International Conference: Intellectual Leverage.
[10]
Michel Dubois,et al.
Dynamic Page Migration in Multiprocessors with Distributed Global Memory
,
1989,
IEEE Trans. Computers.
[11]
Andrew W. Wilson,et al.
Hierarchical cache/bus architecture for shared memory multiprocessors
,
1987,
ISCA '87.
[12]
Robert H. Thomas,et al.
Performance Measurements on a 128-Node Butterfly Parallel Processor
,
1985,
International Conference on Parallel Processing.