Project Title

Improving the Usability and Effectiveness of the ACTS Toolkit

Project Homepage

http://acts.nersc.gov

Participants

Objective

The goal of our project is to improve the effectiveness and usability of ACTS tools.

Some of our specific goals are to:

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.
  1. 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.
  2. Increased availability and stability. Where appropriate, NERSC will install and maintain current versions of ACTS components on NERSC platforms, porting when necessary.
  3. 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: 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:

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:

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: 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.