next up previous contents
Next: Common Language Runtime Up: Introduction Previous: Limitations of Current Component   Contents

Charisma Approach

Figure 1.1: Overview of Charisma architecture
\includegraphics[width=4in]{figures/overview}

Our approach of ``in-process components'' eliminates the inefficiency resulting from separate application processes. Charisma does not require the data exchange to be serialized and control-transfer between components is close in efficiency to a procedure call. It maintains the independence of the individual components, while providing uniformity of data exchange.

An overview of Charisma architecture is shown in figure 1.1. At the core of Charisma is Converse, a message-driven interoperable parallel runtime system that allows parallel software components based on a variety of programming paradigms to co-exist in a single application. Along with common component services such as dynamic load balancing, computational steering, and performance profiling and analysis, Converse provides a common language runtime (CLR) for Charisma. The common interface model of Charisma is based on data-driven control transfer, and allows independent development of reusable components. Charm++ [44] adds encapsulation and object-virtualization to the message-driven programming model of Converse. However, intra-component control-flow expression is complicated for message-driven components written in Charm++. Control-flow expression is simplified by implementing a coordination language, Structured Dagger on top of Charm++. Another method to express control-flow is by using threaded message passing. Adaptive MPI implements threaded message-passing using familiar MPI syntax. Reusable Charisma components can be built using any of these languages. Adaptive MPI also provides a migration path for converting existing MPI codes to Charisma components. In the following sections, we summarize the building blocks that make up Charisma.



Subsections
next up previous contents
Next: Common Language Runtime Up: Introduction Previous: Limitations of Current Component   Contents
Milind Bhandarkar 2002-06-12