EASY-TO-USE OBJECT-ORIENTED PARALLEL PROCESSING WITH MENTAT

Authors
Citation
As. Grimshaw, EASY-TO-USE OBJECT-ORIENTED PARALLEL PROCESSING WITH MENTAT, Computer, 26(5), 1993, pp. 39-51
Citations number
2
Categorie Soggetti
Computer Sciences","Computer Applications & Cybernetics
Journal title
ISSN journal
00189162
Volume
26
Issue
5
Year of publication
1993
Pages
39 - 51
Database
ISI
SICI code
0018-9162(1993)26:5<39:EOPPWM>2.0.ZU;2-J
Abstract
Writing portable applications for MIMD (multiple-instruction, multiple -data) architectures has proven to be more difficult than writing sequ ential software. This is due in large part to the lack of easy-to-use, high-level abstractions. Mentat is an object-oriented parallel proces sing system designed to directly address the difficulty of developing architecture-independent parallel programs. Its fundamental objectives are to provide easy-to-use parallelism, achieve high performance via parallel execution, and facilitate the portability of applications acr oss a wide range of platforms. The premise underlying Mentat is that i t is the lack of appropriate abstractions that has kept parallel archi tectures difficult to program and hence made them inaccessible to main stream, production system programmers. The Mentat approach combines a medium-grain, data-driven computation model with the object-oriented p rogramming paradigm. The data-driven computation model supports high d egrees of parallelism, while the use of the object-oriented paradigm p ermits hiding much of the parallel environment from the programmer. Th e Mentat system consists of two components, the Mentat Programming Lan guage (MPL) and the Mentat runtime system. The MPL is an object-orient ed programming language based on C++. The programmer is responsible fo r identifying those classes, called Mentat classes, whose member funct ions are of sufficient computational complexity to allow efficient par allel execution. Instances of Mentat classes are used like C++ classes . The data and control dependencies between Mentat class instances inv olved in invocation, communication, and synchronization are detected a nd managed by the compiler and runtime system without programmer inter vention. Mentat is available via anonymous FTP and has been implemente d on Sun workstations, the Silicon Graphics Iris, the Intel iPSC/2, an d the Intel iPSC/860. This article presents the Mentat programming lan guage, including several examples, the Mentat virtual machine architec ture, and performance results for two applications on two of the suppo rted architectures, a network of Sun 3 workstations. and the Intel iPS C/2.