Doug Roberts, Richard Crutcher (NCSA), Wes Young, Athol J. Kemball (NRAO)
The parallel group of AIPS++ has been actively pursuing the goal of incorporating parallel processing into the most computationally intensive aspects of AIPS++. We report here the status of the AIPS++ parallelization effort and plans for future development. The biggest success of the past year of AIPS++ parallelization has been the implementation of the parallel algorithm applicator class. Wes Young is leading a demonstration of our first implementation of the algorithm applicator class to carry out spectral line deconvolution. This class implements parallelism using the Message Passing Interface (MPI). MPI is a portable system that allows data and instructions to be sent to remote processors (either on the same machine or on different machines). New classes derived from this parallel base class will carry out parallelization with a minimal effort from application programmers. This solution addresses most embarrassingly parallel problems, notably spectral line processing. We are also investigating tuned libraries (starting with FFT's), notably the Sgi/Cray Scientific Library (SCSL).
Our future goals include parallelizing the AIPS++ SKY application to carry out imaging, (using parallelized gridding and FFT's) and parallel deconvolution. Also, we will be parallelizing a wide-field imaging algorithm (where the assumption that the sky can be represented at a single tangent plane breaks down). Finally, we will be increasing the user support to help astronomers, who need the large computational resources of NCSA, use the parallel AIPS++ system on the Origin2000. The first step of the increased user support has been to increase the network bandwidth from the VLA to NCSA by putting NCSA on the NRAO intranet.
Future projects also include a port of AIPS++ to NT, in order to take advantage of the large NT cluster now available at NCSA and increasingly available to astronomy departments because of their modest prices. We are also preparing to investigate the I/O patterns of AIPS++, with the help of the NCSA Parallel I/O group, headed by UIUC computer science department chair Dan Reed. Their group is helping to instrument our code to identify I/O patterns and statistics. This will be important to show where better performance due to increased I/O would be possible. The next generation of the MPI standard (MPI-2) includes a standard for MPI I/O. The MPI I/O standard is finalized and implementations are now available. We intend to explore its use as a complement to the parallel processing development.