Architectural support for dynamic data distribution and dynamic scheduling

Document Type

Conference Proceeding

Publication Date

1-1-1991

Abstract

Software reuse increases the productivity of software engineers, however, the benefits of reuse can be offset by poor performance of the software products. To avoid this pitfall, the potential inefficiencies of a class of reusable software components are identified and addressed. An architecture providing a model of parallel execution that not only speeds up programs, but encourages the development of layered software by increasing parallelism in correspondence to increases in layering, is developed. The model encourages development of highly cohesive, loosely coupled modules. To improve the effectiveness of the model of parallel execution, static mapping techniques are used in conjunction with dynamic scheduling and dynamic data distribution techniques. The combination of static and dynamic load balancing techniques allows the benefits of each technique to be exploited while reducing its negative effects. To avoid the expense of dynamically replicating (cloning) code, or of moving code between PEs, modules are statically cloned and mapped to PEs. Calls are scheduled dynamically and data are mapped dynamically, since it is impossible to determine before run-time the execution sequence of a program, and because these techniques introduce very little overhead at run-time (due to simplicity and hardware implementation). Additionally, the techniques used for scheduling and data distribution are distributed to avoid serialization.

Identifier

84941870738 (Scopus)

ISBN

[0818622903, 9780818622908]

Publication Title

6th Distributed Memory Computing Conference Dmcc 1991 Proceedings

External Full Text Location

https://doi.org/10.1109/DMCC.1991.633093

First Page

83

Last Page

89

Grant

CCR- 8130231 2

Fund Ref

National Science Foundation

This document is currently not available here.

Share

COinS