Distributed shared abstractions (DSA) on multiprocessors

被引:8
作者
Clemencon, C
Mukherjee, B
Schwan, K
机构
[1] IBM CORP,THOMAS J WATSON RES CTR,YORKTOWN HTS,NY 10598
[2] GEORGIA INST TECHNOL,COLL COMP,ATLANTA,GA 30332
基金
美国国家科学基金会;
关键词
distributed shared memory; application dependent memory consistency; fragmented objects; asynchronous events; topology;
D O I
10.1109/32.485223
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Any parallel program has abstractions that are shared by the program's multiple processes, including data structures containing shared data, code implementing operations like global sums or minima, type instances used for process synchronization or communication. 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. Unfortunately, efficiency and portability can be at cross-purposes, since high performance typically requires changes in the representation of shared abstractions across different parallel machines. The primary contribution of the DSA library presented and evaluated in this paper 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 ranging from small-scale multiprocessors, to medium-scale shared and distributed memory machines, and potentially, to networks of computer workstations. The principal results presented in this paper are 1) a demonstration that the fragmentation of object state across different nodes of a multiprocessor machine can significantly improve program performance, and 2) 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).
引用
收藏
页码:132 / 152
页数:21
相关论文
共 46 条
[1]   PROGRAM STRUCTURING FOR EFFECTIVE PARALLEL PORTABILITY [J].
ALVERSON, GA ;
NOTKIN, D .
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1993, 4 (09) :1041-1059
[2]  
Anderson T. E., 1990, IEEE Transactions on Parallel and Distributed Systems, V1, P6, DOI 10.1109/71.80120
[3]  
BAL H, 1992, IEEE T SOFTWARE ENG, V13
[4]  
BENNETT J, 1990, 2ND P S PRINC PRACT
[5]   IMPLEMENTING REMOTE PROCEDURE CALLS [J].
BIRRELL, AD ;
NELSON, BJ .
ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1984, 2 (01) :39-59
[6]   KERNEL-KERNEL COMMUNICATION IN A SHARED-MEMORY MULTIPROCESSOR [J].
CHAVES, EM ;
DAS, PC ;
LEBLANC, TJ ;
MARSH, BD ;
SCOTT, ML .
CONCURRENCY-PRACTICE AND EXPERIENCE, 1993, 5 (03) :171-191
[7]  
COOPER E, 1988, CMUCS88154 CARN U DE
[8]  
COX A, 1990, TR356 U ROCH TECHN R
[9]  
CROWL L, 1991, THESIS U ROCHESTER
[10]   CHORES - ENHANCED RUN-TIME SUPPORT FOR SHARED-MEMORY PARALLEL COMPUTING [J].
EAGER, DL ;
ZAHORJAN, J .
ACM TRANSACTIONS ON COMPUTER SYSTEMS, 1993, 11 (01) :1-32