Next: Introduction
Up: Charisma: A Component Architecture
Previous: List of Tables
  Contents
- Overview of Charisma architecture
- Pictorial summary of the thesis.
- Control regimes for parallel programs
- Software Architecture of Converse
- Pseudo-code for scheduler variants
- Converse message-passing performance
- Converse scheduler overhead
- NAMD 2 Architecture
- Chare interface description
- Proxy class to MyChare generated from the
interface description
- Chare Definition
- Invoking a chare's method
- Chare array interface description
- Chare array element Definition
- Invoking chare array's methods
- A sequential wrapper for parallel
components
- Rigid structure imposed on interaction between parallel
components
- Processor-based parallel wrappers promote efficient
interaction among parallel components
- Asynchronous remote service invocation with return results
- Proliferation of interfaces
- A Producer-Consumer Application
- Transformer Component
- Construction of a 2-D array component from
elements
- A Parallel image smoother construction from sub-image smoother
components
- Fluids-Solids interface in a coupled
simulation
- Fluids grid partitioned into
chunks
- Fluids grid partitioned into 4 processors
- Construction of a Particle-Set component from Boxes dynamically
using recursive bisection.
- Dynamic Network Creation
- Sequential partitioner wrapper for METIS
- Parallel processor-based partitioner wrapper for
METIS
- Charisma components lack explicit control-flow
specification.
- Real world components may have complex control flow structures. In
this diagram, solid circles denote computations that are internal to the
component. Dashed circles denote external computations. Solid lines are
dependencies internal to the component, whereas dashed lines denote external
dependencies among computations.
- Charm++ Implementation of ``Compute-Object'' in Molecular
dynamics
- Flow of control in compute-object.
- Multi-threaded Implementation of ``Compute-Object'' in Molecular
dynamics
- Structured Dagger Implementation of ``Compute-Object'' in Molecular
dynamics
- Simplified syntax of a when-block
- Structured Dagger Implementation of the control-flow depicted in
figure 4.2
- Out of order messages
- Harlow-Welch Program
- Spatial Decomposition in Harlow-Welch Scheme
- A Non-Series-Parallel Control-Flow Graph
- Possible Structured Dagger implementations for the Non-Series-Parallel Graph
(Fig. 4.12)
- ``Overhead'' of threaded components
- Performance of Conjugate-Gradient solver on a single
processor.
- Threads impede migration, since references to stack variables may become
invalid upon migration if stacks are dynamically allocated.
- An example of references to stack
variables
- Comparison of context-switching times of stack-copying and
isomalloc-based migrating threads with non-migrating threads.
This experiment was performed on NCSA Origin2000,
with 250 MHz MIPS R10000 processor.
- Address space layout of a typical Unix
process.
- Original MPI program
- Conversion to AMPI: Shared data is aggregated in a
user-defined type.
- Conversion to AMPI: References to shared data are made through
thread-private variables.
- Intermodule communication using AMPI cross-communicators.
- Registration of multiple AMPI modules.
- The throughput (number of iterations per second) for a Jacobi
relaxation application.
(Left) with 1-D decomposition.
(Right) with 3-D decomposition.
- Comparison of AMPI with native MPI.
- AMPI adaptivity on a heterogeneous cluster.
- CSAR integrated rocket simulation code on heterogeneous cluster.
- AMPI components respond to changing machine availability at runtime.
- Dynamic load balancing in irregular and dynamic AMPI components.
Milind Bhandarkar
2002-06-12