Project Title
-
Improving the Usability and Effectiveness of the ACTS Toolkit
Project Homepage
-
http://acts.nersc.gov
Participants
-
Osni Marques
-
Bill Saphir
-
Brent Milne (emeritus)
-
John Wu (emeritus)
Objective
The goal of our project is to improve the effectiveness and usability of
ACTS
tools.
Some of our specific goals are to:
-
Provide effective and uniform support. By increasing the quality of support
and the quality of information about the ACTS tools, and in particular
by increasing the number of ACTS success stories, we will increase the
credibility of the tools.
-
Increase tool visibility. The strategic placement of on-line literature
will make more potential users aware of ACTS and its capabilities.
-
Provide reviews of ACTS components. By providing quality reviews, we will
increase user confidence in and understanding of the tools.
-
Contribute to a user-oriented perspective to new development efforts, such
as the Common Component Architecture (CCA) and Equation Solver Interface
(ESI) groups.
-
Reduce the risk of using ACTS tools. By providing direct and aggressive
support for the tools, we can allay concerns about committing to use a
tool.
-
Provide a buffer between users and developers. Lack of such a buffer is
a fundamental barrier to growth. NERSC is in a position to provide support
to a larger number of users and ease the burden on developers.
Approach
This ongoing project extends the role of NERSC to include special support
of ACTS and other experimental software. The NERSC effort is concentrated
in three areas.
-
Technical support. NERSC facilitates the use of ACTS components
by providing specialized consulting services for new and advanced users,
providing documentation and training for ACTS components, identifying potential
ACTS users and promoting ACTS tools where appropriate.
-
Increased availability and stability. Where appropriate, NERSC will
install and maintain current versions of ACTS components on NERSC platforms,
porting when necessary.
-
Evaluation. NERSC evaluates the performance, robustness, functionality,
and overall usability of ACTS components. NERSC then provides the evaluation
results to users, so that they make informed choices, and to developers,
so that they can improve the tools. As an independent third party to most
of the tools, NERSC is in a position to provide "consumer reports" style
information.
The NERSC effort takes on pro-active as well as advisory roles in its interactions
with both users and developers. Actively working with application programmers
to use toolkit components is critical to NERSC's ability to accurately
judge tool effectiveness. Such work is also critical to our role in the
cycle of tool development, use, feedback, and improvement. NERSC also seeks
to work actively with developers to improve or extend tools to meet application
and hardware specific needs that arise within the NERSC user community.
A key element in NERSC's advisory activities is its maintenance of a
centralized ACTS information site on the World Wide Web. All information
(documentation, evaluation, etc.) made available to NERSC users is placed
on the Web so that it is accessible outside of NERSC. This includes information
about how to obtain and install the software.
In a natural extension to these efforts, NERSC will also track continuing
developments on toolkit wide infrastructure and interoperability efforts
(such as those of the CCA and ESI groups) and provide input to these development
groups to reflect the needs of the NERSC user community.
Accomplishments
Online ACTS Information Center
As the centerpiece of our support effort, we have put together the ACTS
Information Center at http://acts.nersc.gov/.
This site contains overviews, introductory information about each tool,
preliminary evaluations, and instructions on where to get software and
technical assistance.
The ACTS web site is responsible for about 4% of the hits on the NERSC
web server.
Training
We have given eight tutorials on the ACTS Toolkit and ACTS components at
NERSC training sessions and user group meetings, both at LBNL and remote
sites. In addition, we have sponsored user or developer talks on Globus,
PETSc, CUMULVS, ScaLAPACK, Global Arrays, PVODE and TAU. Most training
material is available on the web at http://hpcf.nersc.gov/training/classes/past.index.html.
Tool Support
Four ACTS Tools are now officially installed and supported on the main
NERSC production system, a 692-processor Cray T3E. Aztec,
PETSc,
ScaLAPACK
and
Tau. We have also obtained a Vampir
site license to support Tau. Others that have been used on the T3E but
not yet advanced to the level of "official support" include Global Arrays,
CUMULVS, Globus, POOMA, and PVODE.
Several tools have also been installed on the NERSC PC Cluster testbed,
and will be part of a plug-and-play cluster environment distributed by
NERSC to NERSC users and other researchers.
The next large NERSC system, an IBM SP, will become available to early
users in February 2000. All ACTS tools supported on the NERSC T3E will
be supported on the SP.
We plan to add support for new tools in the next year. (See plans
below).
User Interaction
Direct user support for ACTS tools is the most difficult part of the support
effort, reflecting the following facts of tool use:
-
Only a subset of applications can benefit significantly from tool use,
because application requirements are often very specialized.
-
The intertia of "existing code that works" is difficult to overcome.
This is not to say that it is hopeless to try to increase tool use, only
that it is a long and tedious process with few immediate successes.
Direct user support for ACTS tools includes:
-
Answering user questions.
-
Proactively identifying potential new users who may benefit from
tool use and contacting them to discuss the possible benefits of ACTS tools.
-
Working with users to incorporate tools into their codes.
-
Contacting tool users to learn about their experiences with the
tool.
These activities are described below.
Answering user questions. There are several avenues through which
users can ask questions. The first is through a mailing list acts-support@nersc.gov,
which is available to anyone. The second is through NERSC consulting, which
can be reached with an 800 number or at consult@nersc.gov,
and is available to NERSC users. ACTS-related questions are forwarded by
NERSC consulting to the ACTS group. The third is that the ACTS group monitors
certain related mailing lists and responds as appropriate and as time permits.
For example, we have provided information in response to several questions
on the Beowulf (PC Cluster) mailing list.
Our policy is to respond to the first two types of questions within
24 hours. The rate of such questions is fairly low -- on the order of a
half dozen per month -- reflecting the fact that there are relatively few
current users of ACTS tools and that existing users are relatively self-sufficient.
Identifying potential new users. NERSC supports several hundred
active users on its production systems. These users obtain computer time
through a review process known as ERCAP. Each year when new time is awarded,
the ACTS team reviews the projects to see if any might be good candidates
to use ACTS tools or are already using ACTS tools. Potential candidates
are contacted. To date, approximately twenty such candidates have been
identified and contacted. Of the ten or so that were not previously using
ACTS tools, none of these contacts have panned out into a major use of
the tools. However, we believe that the key to increasing tool use is longer-term
awareness and education. The users who have been contacted directly, while
not yet using the tools, are now aware of their existence and of support
for the tools. We believe this activity will have a long-term payoff.
Working with users.When users require more in-depth help using
tools, we are available to help them. We have provided such support to
users of PETSc, Aztec, PVODE, CUMULVS, and Globus. One of the most ambitious
support projects was support we provided to parallelize a legacy fluidized
reactor bed code (MFIX). PETSc and Aztec allowed us to quickly do study
the potential speedup to be gained by parallelization. Ultimately these
studies showed that starting with parallelization would not be the best
approach to improving the efficiency of this legacy code. So while this
project did not result in a new application using ACTS tools, the tools
saved a considerable amount of time in the evaluation.
Contacting tool users. Supported tools on the T3E are installed
using the modules utility, which allows us to do some logging to
identify tool users. Most the approximately two dozen projects that use
ACTS tools on the T3E have recently been polled to find out how they are
using the tools. We are in the process of evaluating this information and
turning it into feedback to developers. Some examples of the information
obtained from this poll are:
-
Aztec is the most widely used tool. Approximately 1/2 of the non-accidental
loads were from users who are using it actively. These users were pleased
by the short learning curve, performance, and choice of methods. The other
half are users who decided not to use it, mostly because of frustration
with the usability of the interface (indeed, even the active users complained
about the interface), but also for specific reasons like licensing concerns
and lack of ability to do complex matrices.
-
PETSc, the second most-used tool, was reported to provide a good choice
of methods, a steeper learning curve than Aztec, but fewer complaints from
users who had surmounted the learning curve.
-
Although POOMA is not officially supported on the T3E, we found interest
in POOMA when inquiring about other tool use. As a result, we are planning
to add support for POOMA.
Evaluation
An important component of the ACTS support project is evaluation of tools.
Evaluations give the users a 3rd-party opinion on the usability and effectiveness
of a tool. So far we have done evaluations of PETSc, CUMULVS, Aztec, and
Globus. These evaluations are available on the ACTS web site. A comparison
of sparse linear algebra solvers (including PETSc and Aztec) is in the
final stages of preparation and will be available soon.
Other efforts
We have worked directly with both the Globus development team and a group
of NERSC users to evaluate the suitability of Globus to provide transparent
remote access to the NERSC T3E. As part of this effort, ported the Globus
gatekeeper to the NERSC T3E/Unicos production environment. A demonstration
at the SC'98 demonstrated the possibility of using Globus to transparently
start remote T3E jobs.
The Globus team has expressed interest in making globus a supported
service on production NERSC systems. We have spent a fair amount of effort
to understand the impact this would have on production operations, particularly
security implications, and to wrestle with security quirks in Cray Unicos
that make it problematic to install priviliged software. To jumpstart this
process, one of the Globus co-PIs was recently invited to give a Globus
tutorial to NERSC staff. This well-attended tutorial has increased awareness
of Globus capabilities and NERSC is now developing a plan to introduce
grid services at the center.
Responding to user interest, we investigated the CUMULVS tool and other
issues (scheduling, security, machine management) related to remote steering
and management of T3E jobs.
We have begun to participate in the Common Component Architecture (CCA)
and Equation Solver Interface (ESI) groups. These efforts are likely to
lead to the next generation of parallel tools, and will be the direct descendants
of ACTS efforts.
While the bulk of CCA/ESI efforts has focused on defining the interfaces,
we believe it is important to consider applications early in the process.
To this end, we instigated a project to use emerging CCA technology with
a real accelerator physics application at SC '99. The ultimate goal was
to connect the application to an AVS visualization and steering interface
through a CCA-enhanced version of CUMULVS. Ultimately this effort did not
succeed (essentially, we were slightly too early in the CCA development
process), but it gave us some insight into using CCA with real applications.
Plans
We will continue to maintain the baseline support for ACTS tools that has
been established at NERSC, adding to this baseline where appropriate. This
will include:
-
Ongoing maintenance and enhancement of the basic support infrastructure,
including the tracking and possible inclusion of new tool developments.
-
Systematically identifying and evaluating new candidate user applications
and working with these users to integrate ACTS tools into their codes.
-
Perform more evaluations (we are currently finishing evaluations of iterative
linear solvers and Cumulvs).
-
Add support for Pooma and SuperLU. Add support for other tools as motivated
by user demand.
-
Continue to provide and sponsor ACTS training.
-
In corporate ACTS tools into the Berkeley Lab Distribution of cluster software,
making them more readily available to the cluster community.
-
Two tools, Phipac and Atlas, have attracted significant attention in the
Beowulf community. We will investigate these tools further to see what
we can do to help support this community.
-
NERSC-III, the IBM SP that is the third generation of distributed memory
parallel computers at NERSC, should become available for general use in
the first half of 2000. We will support on this machine the tools that
are currently supported on the T3E, providing continuity for users.
In order to increase the opportunities to interact with scientific users,
the ACTS support project is moving from the NERSC Future Technologies Group
to the Scientific Computing Group. This group is composed of computational
scientists, many of whom have established collaborations with users of
NERSC systems.
We plan to increase our interaction with development teams of the more
experimental tools in order to identify NERSC applications that could potentially
benefit from the use of their tool, and to explore those benefits through
active collaborations. For example, now that CCA is becoming concrete,
a natural role for the ACTS support project will be to spearhead early
integration of real applications with CCA components.
Finally, we will also look into ways for improving the gallery of ACTS
applications on our web site as a means to encourage potential users, and
make ACTS more "visible" at the NERSC web site.