Title :
Distributed shared abstractions (DSA) on multiprocessors
Author :
Clémençon, Christian ; Mukherjee, Bodhisattwa ; Schwan, Karsten
Author_Institution :
Integrated Syst. Eng. AG, Zurich, Switzerland
fDate :
2/1/1996 12:00:00 AM
Abstract :
Any parallel program has abstractions that are shared by the program´s multiple processes. Such shared abstractions can considerably affect the performance of parallel programs, on both distributed and shared memory multiprocessors. As a result, their implementation must be efficient, and such efficiency should be achieved without unduly compromising program portability and maintainability. The primary contribution of the DSA library is its representation of shared abstractions as objects that may be internally distributed across different nodes of a parallel machine. Such distributed shared abstractions (DSA) are encapsulated so that their implementations are easily changed while maintaining program portability across parallel architectures. The principal results presented are: a demonstration that the fragmentation of object state across different nodes of a multiprocessor machine can significantly improve program performance; and that such object fragmentation can be achieved without compromising portability by changing object interfaces. These results are demonstrated using implementations of the DSA library on several medium scale multiprocessors, including the BBN Butterfly, Kendall Square Research, and SGI shared memory multiprocessors. The DSA library´s evaluation uses synthetic workloads and a parallel implementation of a branch and bound algorithm for solving the traveling salesperson problem (TSP)
Keywords :
data structures; distributed memory systems; parallel architectures; parallel machines; parallel programming; software maintenance; software portability; BBN Butterfly; DSA library; Kendall Square Research; SGI shared memory multiprocessors; branch and bound algorithm; distributed shared abstractions; internally distributed; maintainability; medium scale multiprocessors; multiprocessor machine; multiprocessors; object interfaces; object state; parallel architectures; parallel implementation; parallel machine; parallel program; program portability; shared memory multiprocessors; synthetic workloads; traveling salesperson problem; Computer networks; Concurrent computing; Data structures; Distributed computing; Electronic mail; Libraries; Parallel architectures; Parallel machines; Topology; Workstations;
Journal_Title :
Software Engineering, IEEE Transactions on