The Mentat Computation Model Data-Driven Support for Object-Oriented Parallel Processing
نویسنده
چکیده
Mentat is an object-oriented parallel processing system developed at the University of Virginia which has been ported to a variety of MIMD architectures. The computation model employed by Mentat is macro data-flow (MDF), a medium grain, scalable, data-driven computation model that supports both high degrees of parallelism and the object-oriented paradigm. A key aspect of the model is that it can be efficiently implemented. Inspired by data-flow, MDF retains the graph-based, data-driven, self-synchronizing aspects of data-flow. MDF address the shortcomings that data-flow exhibits when applied to distributed memory MIMD architectures by extending data-flow in three ways: (1) it is medium grain actors are of sufficient computational complexity to amortize overhead costs, (2) program graphs are dynamically constructed at runtime this permits dynamic function binding as required by the object-oriented paradigm and increases the average computation granularity, and (3) actors may maintain state between executions this provides an effective way to model the state properties of imperative, object-oriented programs. In this paper we present the macro data-flow model, key features of the Mentat Programming Language (MPL), key features of the Mentat run-time system that implements a virtual macro data-flow machine, and translations from MPL constructs to the virtual machine. The result of the translation process is programs in which program graphs are constructed at run-time by observing data dependencies that develop as execution unfolds. These program graphs are then executed in parallel by the run-time system, resulting in improved performance over sequential execution. 1. This work was partially supported by NASA grant NAG-1-1181 and by NSF grant ASC-9201822.
منابع مشابه
Real-time Mentat Programming Language and Architecture
Real-Time Mentat is a programming environment designed to simplify the task of programming real-time applications in distributed and parallel environments. It is based on the same data-driven computation model and object-oriented programming paradigm as Mentat [l-31. It provides an easy-to-use mechanism to exploit parallelism; language constructs for the expression and enforcement of timing con...
متن کاملAbout Dynamic Object - Oriented Parallel Processing
Mentat [1] is an object-oriented parallel processing system that addresses the need for easy-to-use tools for the construction of portable medium-grain parallel software. Three of the key features of the Mentat approach are that it is object-oriented, that it uses a layered virtual machine, and that it dynamically constructs data dependence program graphs and dynamically manages system resource...
متن کاملParallel Object-Oriented Computation Applied to a Finite Element Problem
The conventional wisdom in the scientific computing community is that the best way to solve largescale numerically-intensive scientific problems on today’s parallel MIMD computers is to use Fortran or C programmed in a data-parallel style using low-level message-passing primitives. This approach inevitably leads to non-portable codes and extensive development time, and restricts parallel progra...
متن کاملPortable Run-Time Support for Dynamic Object-Oriented Parallel Processing1
Mentat is an object-oriented parallel processing system designed to simplify the task of writing portable parallel programs for parallel machines and workstation networks. The Mentat compiler and run-time system work together to automatically manage the communication and synchronization between objects. The run-time system marshals member function arguments, schedules objects on processors, and...
متن کاملPortability and Performance: Mentat Applications on Diverse Architectures
Parallel programs are complex, especially when the communication, synchronization, and scheduling issues must be managed by the programmer. Considerable amounts of time and effort are put into developing a parallel program for a particular application, yet once written for one architecture, it may be prohibitively difficult to port the code to another architecture. Mentat is an object-oriented ...
متن کامل