This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Permalink
https://hdl.handle.net/2142/69595
Description
Title
Mentat: An Object-Oriented Macro Data Flow System
Author(s)
Grimshaw, Andrew Swift
Issue Date
1988
Doctoral Committee Chair(s)
Liu, Jane W.S.
Department of Study
Computer Science
Discipline
Computer Science
Degree Granting Institution
University of Illinois at Urbana-Champaign
Degree Name
Ph.D.
Degree Level
Dissertation
Keyword(s)
Computer Science
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.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.