Charisma: A Component Architecture for Parallel Programming
Publication Information Not Available 2002
Publication Type: Paper
Repository URL:
Abstract
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++.
TextRef
Milind A. Bhandarkar, "Charisma: A Component Architecture for Parallel Programming",
Dept. of Computer Science, University of Illinois, 2002.
People
Research Areas