
The Legion project at the University of Virginia is an architecture for designing and building system services that provide the illusion of a single virtual machine to users, a virtual machine that provides both improved response time via parallel execution and greater throughput. Legion targets workstation clusters and larger wide area assem blies of workstations, supercomputers, and parallel super computers. The authors have built a working Legion pro totype called the Campus-Wide Virtual Computer (CWVC). The CWVC extends an existing object-oriented parallel processing system by aggressively incorporating lessons learned in the last 20 years of heterogeneous distributed computing. In this paper, the authors describe the challenges that they overcame to realize a working CWVC and characterize the performance of a production biochemistry application.
Contemporary activities at CSCS/SCSC have resulted in two complementary software systems for practical parallel programming. Both developments are user oriented and application driven, efficiently exploiting and reusing dem onstrated portable technologies at multiple levels that we have proven to scale to systems with large numbers of processors. The Annai parallel application engineering environment supports existing standards for portable pro gram development (HPF, Fortran, C, MPI) and offers con venient program browsing and navigation, execution con trol, and interaction mechanisms. Specific functionality for parallel programming includes high-level language sup port for unstructured computations, interactive source- level symbolic debugging with deadlock detection and deterministic execution replay, SPMD/data-parallel debug ging with distributed breakpoints and array visualization, scalable profile summary displays of execution statistics accumulated at runtime, and detailed program evolution and processor interaction charts. The intelligent program development environment (PDE) is typified by four char acteristics supporting programming at a very abstract level, closer to the scientist's perspective: application- oriented problem description formalisms, the use of design skeletons and templates, an interactive user guidance mechanism, and automatic program synthesis tech niques. Ongoing work aims at the integration and further development of sofar demonstrated results with additional advanced technologies into comprehensive application engineering and problem-solving environments for pro ductive parallel computing with distributed resources.
In applications such as landscape ecology, computer mod eling is used to assess habitat fragmentation and its ecological implications. Maps (two-dimensional grids) of habitat clusters or patches are analyzed to determine the number, location, and sizes of clusters. Recently, improved sequential and parallel implementations of the Hoshen- Kopelman cluster identification algorithm have been designed. These implementations use a finite state ma chine to reduce redundant integer comparisons during the cluster identification process. The sequential implementa tion for large maps performs cluster identification by par titioning the map along row boundaries and merging the results of the partitions. The parallel implementation on a 32-processor Thinking Machines CM-5 provides an effi cient mechanism for performing cluster identification in parallel. Although the sequential implementation achieved promising speed improvements ranging from 1.39 to 2.00 over an existing Hoshen-Kopelman implementation, the parallel implementation achieved a minimum speedup of 5.41 over the improved sequential implementation, exe cuted on a Sun SPARCstation 10.
The computational complexity for parallel implementation of multidomain spectral methods is studied to derive the optimal number of subdomains, q, and spectral order, n, for the numerical solution of hyperbolic problems. The complexity analysis is based on theoretical results that predict error as a function of (q,n) for problems having wavelike solutions. These are combined with a linear communication cost model to study the impact of communication overhead and imposed granularity on the optimal choice of (q,n) as a function of the number of processors. It is shown that, for present-day multicomputers, the impact of communication overhead does not significantly shift (q,n) from the optimal uniprocessor values and that the effects of granularity are more important.
Synthetic aperture radar (SAR) offers the possibility of imaging the earth's surface independent of time of day or weather conditions. SAR images differ from optical images in that they contain speckle, multiplicative noise with a poor signal-to-noise ratio of about 1 to 1. Several routines for noise despeckling and segmentation were ported to distributed memory platforms within the EUROPORT-2 PULSAR project. Excellent parallel speedup was ob served for ANNEAL, the most promising despeckling rou tine. Reasonable but limited parallel performance was obtained on RWSEG, a segmentation routine, because relatively large overlap regions were involved. The nature of these operations means that there is no one correct result to which output images can be compared. However, differences between images obtained from sequential and parallel implementations were encouragingly small.
We present a new C++ library design for linear algebra computations on high performance architectures. The template numerical toolkit (TNT) for linear algebra is a successor to the Lapack++, Sparselib++, and IML++ packages, providing support for direct and iterative solvers. Its goal is to formally integrate these ideas into a generic algorithm library supporting user-defined data types and data neutrality. The design of the core library uses components from the C++ standard template library (STL) and the basic parallel extensions defined in High Performance C++ (HPC++).
The successful completion of the ESPRIT project CAMAS (EP 6756) and its extension to provide a link to the EURO PORT-1 action (EP 8421) (Mierendorff et al., 1995), together with further internal developments, has resulted in the availability of a portable message-passing version of the industrial crashworthiness program PAM-CRASH. This provides code users with an increased range of employment possibilities: effective use of resources through workstation networks, distributed-memory ma chines on which message passing is a necessity, and improved throughput on shared-memory or hybrid sys tems. With crash and safety analysis well established in the automotive design process, the availability of parallel application software enables the take-up of HPC technol ogy to the benefit of industrial design. In this paper, we illustrate the degree of scalability obtained for typical in dustrial applications and the challenges encountered on today's parallel machines.
In this paper, parallel extensions of a complete symmetric eigensolver, proposed by Yau and Lu in 1993, are pre sented. First, an overview of this invariant subspace decomposition method for dense symmetric matrices is given, followed by numerical results. Then, works are exposed in progress on distributed-memory implementa tion. The algorithm's heavy reliance on matrix-matrix mul tiplication, coupled with Fast Fourier Transform (FFT), should yield a highly parallelizable algorithm. Finally, performance results for the dominant computation kernel on the Intel Paragon are presented.
This paper describes the implementation of a parallel solver into the commercial finite element software SAM CEF The method implemented combines a direct solution on subdomains with an iterative solution of the dual prob lem on the global interface (finite element tearing and interconnecting [FETI] method). The presentation is lim ited here to its application in the context of linear statics and modal analysis of structures. The performance of the method is demonstrated through representative examples.
The parallelization of existing/industrial electromagnetic software using the bulk synchronous parallel (BSP) com putation model is presented. The software employs the finite element method with a preconditioned conjugate gradient-type solution for the resulting linear systems of equations. A geometric mesh-partitioning approach is ap plied within the BSP framework for the assembly and solution phases of the finite element computation. This is combined with a nongeometric, data-driven parallel quad rature procedure for the evaluation of right-hand-side terms in applications involving coil fields. A similar parallel decomposition is applied to the parallel calculation of electron beam trajectories required for the design of tube devices. The BSP parallelization approach adopted is fully portable, conceptually simple, and cost-effective, and it can be applied to a wide range of finite element applica tions not necessarily related to electromagnetics.
The use of visualization and computational steering can often assist scientists in analyzing large-scale scientific applications. Fault tolerance to failures is of great impor tance when running on a distributed system. However, the details of implementing these features are complex and tedious, leaving many scientists with inadequate develop ment tools. CUMULVS is a library that enables program mers to easily incorporate interactive visualization and computational steering into existing parallel programs. Built on the PVM virtual machine framework, CUMULVS is portable and interoperable with all the computer archi tectures that PVM works with—a growing list that now stands at about 60 architectures. The CUMULVS library is divided into two pieces: one for the application program and one for the possibly commercial, visualization, and steering front end. Together, these two libraries encom pass all the connection and data protocols needed to dynamically attach multiple, independent viewer front ends to a running parallel application. Viewer programs can also steer one or more user-defined parameters to "close the loop" for computational experiments and analy ses. CUMULVS allows the programmer to specify user- directed checkpoints for saving an important program state in case of failures and also provides a mechanism to migrate tasks across heterogeneous machine architec tures to achieve improved performance. Details of the CUMULVS design goals and compromises as well as future directions are given.
The general-purpose finite element system PERMAS has been ported to parallel computer architectures within the scope of the ESPRIT project EUROPORT-1. The kernel of this 1 M lines of code has been restructured in such a way that parallelism is automatically identified and exploited at runtime. This paper describes the general structure of the approach and the evaluations and models carried out to analyze the potential performance of different algorithms. The study shows the performance bounds of the applica tion, the efficiency of the scheduling algorithms, and the influence of architectural parameters of the target ma chine. The paper also describes some issues of relevance of the approach for such an industrial code. Among them, issues of compatibility with previous versions, reduction of future development, and maintenance costs are addressed.
We report on our experiences in building a computational environment for tomographic image analysis for marine seismologists studying the structure and evolution of mid- ocean ridge volcanism. The computational environment is determined by an evolving set of requirements for this problem domain and includes needs for high performance parallel computing, large data analysis, model visualiza tion, and computation interaction and control. Although these needs are not unique in scientific computing, the integration of techniques for seismic tomography with tools for parallel computing and data analysis into a com putational environment was (and continues to be) an interesting, important learning experience for researchers in both disciplines. For the geologists, the use of the environment led to fundamental geologic discoveries on the East Pacific Rise, the improvement of parallel ray-trac ing algorithms, and a better regard for the use of compu tational steering in aiding model convergence. The com puter scientists received valuable feedback on the use of programming, analysis, and visualization tools in the en vironment. In particular, the tools for parallel program data query (DAQV) and visualization programming (Viz) were demonstrated to be highly adaptable to the problem do main. We discuss the requirements and the components of the environment in detail. Both accomplishments and limitations of our work are presented.
Event tracing provides the detailed data needed to understand the dynamics of interactions among application resource demands and system responses. However, capturing the large volume of dynamic performance data inherent in detailed tracing can perturb program execution and stress secondary storage systems. Moreover, it can overwhelm a user or performance analyst with potentially irrelevant data. Using the Pablo performance environment's support for real-time data analysis, we show that dynamic statistical data clustering can dramatically reduce the volume of captured performance data by identifying and recording event traces only from representative processors. In turn, this makes possible low overhead, interactive visualization, and performance tuning.
Rolling bearing simulations are very computationally in tensive. Serial simulations may take weeks to execute, and there is a need to use the potential of parallel comput ing. The specific structure of the rolling bearing problem is used to develop suitable scheduling strategies. The authors discuss the system of stiff ordinary differential equations arising from a bearing model and show how to numerically solve these ordinary differential equations on parallel computers. Benchmarking results are presented for two test cases on three platforms.
Commercial experiences have shown that involving users in the software design cycle is a cost-effective way of improving both the quality and the acceptability of tool products. This paper addresses the issue of whether users also should be involved in the research activities that lay the foundation for parallel tool design. Integrating users changes the basic nature of the software process in sev eral ways, as illustrated with examples from recent Parallel Tools Consortium projects. Tool designers must invest additional time to prepare example scenarios or proto types for user discussions, identify alternatives that can serve as points of departure for user-derived meta phors or models, and analyze user responses. By iden tifying user suggestions consistently throughout the de sign process, however, the development time for research prototypes is actually shortened.
Fortran 90 is the actual standard in terms of data parallel language for scientific computing. To develop a data parallel algorithm on a distributed memory machine, programmers generally use the High Performance Fortran (HPF) extension of Fortran 90, in particular the data-mapping directives. The goal of the HPF-Builder graphical environment is to free the HPF programmers of all the syntactic constraints due to the data mapping. All the data distribution and alignment are insured in an interactive and visual way. HPF templates and processors become the visual support for alignments of arrays and distributions on grids of processors. HPF-Builder automatically generates the corresponding HPF directives and inserts them in the Fortran 90 source code, which results in an HPF code.
This paper discusses the multiblock (MB)-split load bal ancing tool for structured-grid multiblock Navier-Stokes solvers running on parallel computers of MIMD type. Many load-balancing algorithms and tools are available for com putational fluid dynamics solvers using unstructured meshes. Most load-balancing algorithms for block-struc tured meshes only aim at distributing the initial blocks of the mesh over the processors, without splitting any blocks. A more flexible load-balancing technique uses domain decomposition and splits blocks into smaller blocks. One of the problems with this approach is the complexity of updating block connectivity boundary conditions. The three load-balancing algorithms are implemented and some results for realistic test cases are presented.
The efficient solution of irregular sparse linear systems on a distributed-memory parallel computer is still a major challenge. Direct methods are concerned with unbalanced load processing or data distribution and difficulties pertaining to reusing efficient sequential codes. Iterative methods of the Krylov family are well suited for parallel computing but can provide disappointing convergence for general sparse problems. Therefore, finding efficient parallel preconditioners is often required to obtain acceptable convergence rates. In this paper, we explore the use of a preconditioned conjugate gradient algorithm for the parallel solution of irregular sparse nonsymmetric systems. A first step is the choice of a high-quality algorithm for matrix partitioning. For this purpose, we have selected the Metis package, developed by Karypis and Kumar of the University of Minnesota. A second step is the choice of the preconditioner. We have selected the Block-Jacobi preconditioner for its inherent parallelism and the local dense computation it generates. The iterative method itself is the standard conjugate gradient on the normal equations (known as CGNR). Experimental results are reported involving problems from the Harwell-Boeing collection executed on the Intel Paragon, using the Aztec-distributed iterative library of the Sandia Laboratories.
The Globus system is intended to achieve a vertically integrated treatment of application, middleware, and net work. A low-level toolkit provides basic mechanisms such as communication, authentication, network information, and data access. These mechanisms are used to con struct various higher level metacomputing services, such as parallel programming tools and schedulers. The long- term goal is to build an adaptive wide area resource environment (AWARE), an integrated set of higher level services that enable applications to adapt to heteroge neous and dynamically changing metacomputing environ ments. Preliminary versions of Globus components were deployed successfully as part of the I-WAY networking experiment.