Files in this item
|(no description provided)|
|Title:||Mentat: An Object-Oriented Macro Data Flow System|
|Author(s):||Grimshaw, Andrew Swift|
|Doctoral Committee Chair(s):||Liu, Jane W.S.|
|Department / Program:||Computer Science|
|Degree Granting Institution:||University of Illinois at Urbana-Champaign|
|Abstract:||This dissertation describes Mentat, a prototype object-oriented macro data flow system designed to address the problem of exploiting idle processor resources in loosely coupled distributed systems. The system is conducive to the development of parallel applications, supports high degrees of parallelism, and does not require a complex distributed control. Mentat achieves this by combining the macro data flow model of computation and the object-oriented programming paradigm. The macro data flow model provides high degrees of parallelism and a decentralized control while the object-oriented paradigm permits the hiding of much of the parallel environment from the programmer. The macro data flow model of computation is similar to the traditional large grain data flow model, but with two differences: (1) some macro actors are persistent and maintain their internal state between firings, and (2) program graph topology is dynamic. Mentat objects implement macro actors. Each object implements an actor for each member function of the object class. Mentat program graphs are constructed at run time.
The Mentat programming language is an extended C++. The objective of the extensions is to facilitate the writing of data driven objects and the automatic construction of program graphs at run-time. The extensions are implemented by a preprocessor. The preprocessor provides for the definition of actors and independent objects, the automatic detection of macro data flow, the generation of code to construct program graphs, and optional programmer control over scheduling decisions.
A prototype virtual macro data flow machine has been implemented on a ten processor Encore Multimax. The Multimax virtual machine permits the specification and emulation of a virtual distributed system. The configuration file for the virtual machine specifies the number of Multimax processors to use, the number of logical hosts, the number of virtual processors on each logical host, the interconnection network topology and speed, and the initial set of active objects to execute on the machine. Benchmark results suggest that the overhead of Mentat is more than compensated for by the gains from parallelism when the granularity of computation is sufficiently large.
Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1988.
|Date Available in IDEALS:||2014-12-15|