next up previous contents
Next: Contributions of thesis Up: Charisma Approach Previous: Simplifying Component Development   Contents

Migration Path

While it is possible to develop message-driven components that take full advantage of all the services offered by our component model, it is necessary to provide a migration path for existing parallel applications to be ``componentized''. As an illustrating example, we have developed a migration path for converting parallel MPI applications into Charisma components. For this purpose, we have to address two issues. First, an MPI application has to co-exist with other components as an in-process component. Second, they have to interact with other components using our common interface model. Adaptive MPI (AMPI), our thread-based implementation of MPI, originally designed for providing dynamic load balancing for MPI programs, serves the first purpose. Using AMPI, MPI applications are encapsulated into a thread-group with thread-private data. AMPI threads communicate with each other using the standard MPI messaging calls. We have added cross-communicators to AMPI, which allow an MPI application to communicate outside the component using the familiar syntax and semantics of MPI messaging. Cross-communicators allow us to provide a binding to Charisma interface model without introducing alien concepts to MPI. This serves the second purpose in migrating MPI codes to Charisma. AMPI is described in chapter 5.

The summary of the argument of this thesis is pictorially represented in figure 1.2.

Figure 1.2: Pictorial summary of the thesis.
\includegraphics[width=5in]{figures/flow}


next up previous contents
Next: Contributions of thesis Up: Charisma Approach Previous: Simplifying Component Development   Contents
Milind Bhandarkar 2002-06-12