Spmd Execution of Programs with Pointer-based Dynamic Data Structures

نویسنده

  • Rajiv Gupta
چکیده

This paper discusses an approach for supporting SPMD (single-program, multiple-data) execution of programs with pointer-based data structures on distributed-memory machines. Through a combination of language design and new compilation techniques, static and dynamic implicit parallelism present in sequential programs based upon pointer-based data structures is exploited. Language support is provided for constructing and manipulating local as well as distributed data structures. The compiler translates the program for execution in SPMD mode in which each processor executes that part of the program which operates on the elements of distributed data structures local to the processor. Therefore the parallelism implicit in a sequential program is exploited. A novel approach for implementing pointers is presented in this paper which is based upon the generation of names for the nodes in a data structure. The name based strategy enables the dynamic distribution of data structures among the processors as well as the traversal of distributed data structures without inter-processor communication.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

To appear in ACM Transactions on Programming Languages and Systems

Compiling for distributed memory machines has been a very active research area in recent years. Much of this work has concentrated on programs that use arrays as their primary data structures. To date, little work has been done to address the problem of supporting programs that use pointerbased dynamic data structures. The techniques developed for supporting SPMD execution of array-based progra...

متن کامل

Support for Distributed Dynamic Data Structures in C + +

Traditionally, applications executed on distributed memory architectures in single-program multiple-data (SPMD) mode use distributed (multi-dimensional) data arrays. Good performance has been achieved by applying runtime techniques to such applications executing in a loosely synchronous manner. However, many applications utilize language constructs such as pointers to synthesize dynamic complex...

متن کامل

A FORTRAN Compiling Method for Dataflow Machines and Its Prototype Compiler for the Parallel Processing System -Harray-

A Hierarchical Parallelizing Compiler for VLIW/MIMD Machines p. 49 Dynamic Dependence Analysis: A Novel Method for Data Dependence Evaluation p. 64 On the Feasibility of Dynamic Partitioning of Pointer Structures p. 82 Compiler Analysis for Irregular Problems in Fortran D p. 97 Data Ensembles in Orca C p. 112 Compositional C++: Compositional Parallel Programming p. 124 Data Parallelism and Lind...

متن کامل

CHAOS + + : A Runtime

Traditionally, applications executed on distributed memory architectures in single-program multiple-data (SPMD) mode use distributed (multi-dimensional) data arrays. Good performance has been achieved by applying runtime techniques to such applications executing in a loosely synchronous manner. However, many applications utilize language constructs such as pointers to synthesize dynamic complex...

متن کامل

Supporting SPMD Execution for Dynamic Data Structures

In this paper, we address the problem of supporting SPMD execution of programs that use recursively-deened dynamic data structures on distributed memory machines. The techniques developed for supporting SPMD execution of array-based programs rely on the fact that arrays are statically deened and directly addressable. As a result, these techniques do not apply to recursive data structures, which...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992