Title
Message-Passing Program Development by Ensemble
Abstract
We present Ensemble, a message -passing implementation methodology, applied to PVM. Ensemble overcomes problems and complexities in developing applications in message - passing environments (MPE). Applications are specified by scripts, which represent Process Communication Graphs (PCG) annotated with information specific for an MPE, and by reusable executable components. A loader program interprets the scripts and composes applications from reusable components. 1 Motivation The design and implementation of parallel message passing applications (MPA) have been recognized as demanding tasks. PVM (5) and MPI (6) Message Passing Environments (MPE) have improved the situation, as they permit the implementation of applications independently of the underlying architecture, but the step from application design to implementatio n remains, in general, a demanding task. The implementation does not only require the programming of sequential code solving a problem or providing a service, but also requires the explicit programming of process management, e.g. process creation, process topologies and their mapping onto the architecture. As MPEs differ significantly in the way they manage processes, message passing program implementation presents a number of difficulties. MPEs impose on application implementation their own structure to such a degree, that implementations of the same application design (even a simple ring topology) on different MPEs, using the same language for the sequential computations, look very different. The implementation difficulty does not depend only on the complexity of the design, but also on the particular MPE used. Some applications are more easily implemented on some MPEs than on others. For example, a general tree topology is easy to implement on PVM, but difficult on MPI. The difficulty arises from the process management model each MPE uses. Often, the original application design is obscured in the implementation by the required process management programming. Consequently, implementation requires special techniques and skills, different for each MPE. There are no methodologies for implementing applications on PVM or MPI. Programmers have to implement relying on their experience, quite often in an ad hoc way, developing programs that are difficult to debug, extend and modify. Important aspects of parallel programming, such as scalability, reusability are often neglected. Scalability is programmed only when the design has some regularity, as expressed by some function; the degree of difficulty for programming scalability also depends on th e MPE used. Reusability of executables is limited as process management (creation, topology, mapping, etc.) is encoded in them; processes are programmed to operate in a fixed topology of known processes. We have developed a message passing program implementation methodology, called Ensemble, for overcoming the above problems. The original design is maintained in the implementation, programs implementing the same designs in different MPEs look similar, are easily maintainable, scalable, reusable and portable to other MPEs.
Year
DOI
Venue
1997
10.1007/3-540-63697-8_91
PVM/MPI
Keywords
Field
DocType
message-passing program development,process management,message passing
Graph,Process communication,Programming language,Virtual machine,Computer science,Program development,Loader,Message passing,Distributed computing,Executable,Scripting language
Conference
Volume
ISSN
ISBN
1332
0302-9743
3-540-63697-8
Citations 
PageRank 
References 
10
1.17
6
Authors
1
Name
Order
Citations
PageRank
John Yiannis Cotronis13910.67