Automatic parallelization of C programs using shared data-objects

Date

1990

Authors

Sinclair, Craig

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

The method for exchanging data among processes, when developing programs for parallel execution, has a crucial impact on the design of the programs. In tightly cou­pled systems programs can directly reference common data through shared memory, whereas in loosely coupled systems programs typically exchange data through mes­sage passing. Architectures have recently emerged which integrate the shared variable and message passing paradigms. The most recent addition is the shared data-object model proposed by Bal and Tanenbaum. This thesis presents an objected-oriented model for distributed programming based on the framework of the shared data-object model. Our model provides data repli­cation through shared data-objects and process management through process objects. Sequential programs are partitioned automatically by means of a preprocessor into a set of program blocks that can be executed in parallel. Shared data-objects provide distributed flow control by blocking accesses that violate the ordering specified by the sequential program. A divide-and-conquer algorithm and a ray tracing rendering program are used to illustrate our methodology for distributed programming.

Description

Keywords

Citation