Charisma: A Component Architecture for Parallel Programming
Publication Information Not Available 2002
Publication Type: Paper
Repository URL:
Building large scale parallel applications mandates composition of independently developed modules that can co-exist and interact efficiently with each other. Several application frameworks have been proposed to alleviate this task. However, integrating components based on these frameworks is difficult and/or inefficient since they are not based on a common component model. In this thesis, we propose a component architecture based on message-driven in-process components. Charisma, our component architecture, has Converse message-driven interoperable runtime system at its core. Converse allows co-existence of in-process components with implicit data-driven control transfers among components. Message-driven objects, based on Charm++, provide encapsulation, and a uniform method of accessing component services. Although, the Charm++ model allows coexistence and composition of independent modules, it is not adequate for independent development of modules. We describe an interface model for Charisma based on the publish-require paradigm. Pure message-driven components lack in expression of control-flow within the components. One way to clarify expression of control flow within a component is by introducing threads. However, overheads associated with threads cause inefficiency. We have developed a notation, Structured Dagger, for building message-driven components that retains the message-driven nature of components efficiently without using threads. Support for legacy codes is vital in the success of any new programming system. We describe how legacy components written using message-passing paradigm could be converted to use Charisma. Our efforts are based on AMPI, our implementation of the MPI library on top of Charm++.
Milind A. Bhandarkar, "Charisma: A Component Architecture for Parallel Programming", Dept. of Computer Science, University of Illinois, 2002.
Research Areas