Results 1 -
4 of
4
MPICH-V: Toward a Scalable Fault Tolerant MPI for Volatile Nodes
- In Supercomputing
, 2002
"... Global Computing platforms, large scale clusters and future TeraGRID systems gather thousands of nodes for computing parallel scientific applications. At this scale, node failures or disconnections are frequent events. This Volatility reduces the MTBF of the whole system in the range of hours or min ..."
Abstract
-
Cited by 93 (10 self)
- Add to MetaCart
Global Computing platforms, large scale clusters and future TeraGRID systems gather thousands of nodes for computing parallel scientific applications. At this scale, node failures or disconnections are frequent events. This Volatility reduces the MTBF of the whole system in the range of hours or minutes.
The Interoperable Message Passing Interface (IMPI) Extensions to LAM/MPI
- MPI Developer's Conference, Ithica
, 2000
"... Interoperable MPI (IMPI) is a protocol specification to allow multiple MPI implementations to cooperate on a single MPI job. Unlike portable MPI implementations, an IMPI-connected parallel job allows the use of vendor-tuned message passing libraries on given target architectures, thus potentially al ..."
Abstract
-
Cited by 21 (1 self)
- Add to MetaCart
Interoperable MPI (IMPI) is a protocol specification to allow multiple MPI implementations to cooperate on a single MPI job. Unlike portable MPI implementations, an IMPI-connected parallel job allows the use of vendor-tuned message passing libraries on given target architectures, thus potentially allowing higher levels of performance than previously possible. Additionally, the IMPI protocol uses a low number of connections, which may be suitable for parallel computations across WAN distances. The IMPI specification defines a low-level wireline protocol that MPI implementations use to communicate with each other; each point-to-point and collective function in MPI-1 automatically uses this low-level protocol when communicating with remote a MPI implementation. When running IMPI jobs, the only change visible to the user is the sequence of steps necessary to run the job; any correct MPI program will run correctly under IMPI. In this paper, we provide an overview of IMPI, describe its incor...
IMPI: Making MPI Interoperable
- Journal of Research of the National Institute of Standards and Technology
, 2000
"... The Message Passing Interface (MPI) is the de facto standard for writing parallel scientific applications in the message passing programming paradigm. Implementations of MPI were not designed to interoperate, thereby limiting the environments in which parallel jobs could be run. We briefly describe ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The Message Passing Interface (MPI) is the de facto standard for writing parallel scientific applications in the message passing programming paradigm. Implementations of MPI were not designed to interoperate, thereby limiting the environments in which parallel jobs could be run. We briefly describe a set of protocols, designed by a steering committee of current implementors of MPI, that enable two or more implementations of MPI to interoperate within a single application. Specifically, we introduce the set of protocols collectively called Interoperable MPI (IMPI). These protocols make use of novel techniques to handle difficult requirements such as maintaining interoperability among all IMPI implementations while also allowing for the independent evolution of the collective communication algorithms used in IMPI. Our contribution to this effort has been as a facilitator for meetings, editor of the IMPI Specification document, and as an early testbed for implementations of IMPI. This tes...
The potential of Java for high performance applications
- In The First International Conference on the Practical Application of Java
, 1999
"... Java has enjoyed a remarkable rise in popularity as the language of choice in a wide range of IT applications. High Performance and Data Intensive Computing has gone through a period of intense change as software environments have struggled to match the pace of developments in high performance hardw ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Java has enjoyed a remarkable rise in popularity as the language of choice in a wide range of IT applications. High Performance and Data Intensive Computing has gone through a period of intense change as software environments have struggled to match the pace of developments in high performance hardware. There are now suggestions that Java may be able to meet the needs of the high performance community where other languages have failed. Java clearly has many advantages. In addition to being simple, object-oriented, portable, robust and extensible, its firm foundation on a thread-based execution model maps naturally onto parallel platforms. However, in most cases Java is much slower than traditional languages and there are specific features of the language which limit its performance. In this paper we review activities aimed at developing the potential of Java for use in high performance applications, both as a pure vehicle and as a component in multi-language environments. We conclude that although there is still some way to go before Java matures into a high-performance and fully functional language for technical and scientific applications, there is considerable benefit in using Java in a multi-language environment, in which Java is used for its portability and standardization and C, C++ and Fortran are used for their technical and scientific capabilities.

