\section{Further Information}

\subsection{Related Publications}
\label{publications}

For starters, see the publications and reports as well
as related manuals that can be found on the Parallel Programming
Laboratory website: \texttt{http://charm.cs.uiuc.edu/}. 

\subsection{Associated Tools and Libraries}

Several tools and libraries are provided for \charmpp{}. \projections{} 
is an automatic performance analysis tool which provides
the user with information about the parallel behavior of \charmpp\ programs. 
The purpose of implementing \charmpp{} standard
libraries is to reduce the time needed to develop parallel
applications with the help of a set of efficient and re-usable modules.
Most of the libraries have been described in a separate manual.

\subsubsection{\projections}

\projections{} is a performance visualization and feedback tool. The system has
a much more refined understanding of user computation than is possible in
traditional tools.

\projections{} displays information about the request for creation and the
actual creation of tasks in \charmpp\ programs. Projections also provides the
function of post-mortem clock synchronization. Additionally, it can also
automatically partition the execution of the running program into logically
separate units, and automatically analyzes each individual partition. 

Future versions will be able to provide recommendations/suggestions for
improving performance as well.

\subsubsection{Communication}

Communication optimizations tend to be specific to a particular architecture or
an application. To improve portability and to reduce the cost of developing
parallel applications a mechanism to integrate these different optimizations
was needed. Moreover, it was needed to automatically adapt the strategy to the
situation at hand. The collective communication library integrates the
different strategies to perform each-to-many multicast, including tree-based
multicast, grid -based multicast and hypercube-based (dimensional exchange)
schemes. The framework provided is flexible enough to absorb new strategies and
communication patterns. It also provides the capability to do dynamic switching
of strategies. This helps the library to adapt itself to the existing
environment.

\subsection{Contacts}
\label{Distribution}

While we can promise neither bug-free software nor immediate solutions   
to all problems, \charmpp\ is a stable system and it is our intention to
keep it as up-to-date and usable as our resources will allow
by responding quickly to questions and bug reports.  To that
end, there are mechanisms in place for contacting Charm users
and developers. 

Our software is made available for research use and evaluation.
For the latest software distribution, further information about
\converse{}/\charmpp\ and information on how to contact the Parallel
Programming laboratory, see our website at \texttt{http://charm.cs.uiuc.edu/}.
The software is also available by
anonymous ftp, from a.cs.uiuc.edu, under the directory
pub/research-groups/CHARM.  

If retrieval of a publication via these channels is not possible,
please send electronic mail to \texttt{kale@cs.uiuc.edu} or postal mail to:

\begin{alltt}
   Laxmikant Kale
   Department of Computer Science 
   University of Illinois 
   1304 West Springfield Avenue 
   Urbana, IL 61801 
\end{alltt}
