Results 1 - 10
of
11
Components and interfaces of a process management system for parallel programs
- Parallel Computing
, 2001
"... Abstract. Parallel jobs are different from sequential jobs and require a different type of process management. We present here a process management system for parallel programs such as those written using MPI. A primary goal of the system, which we call MPD (for multipurpose daemon), is to be scalab ..."
Abstract
-
Cited by 16 (4 self)
- Add to MetaCart
Abstract. Parallel jobs are different from sequential jobs and require a different type of process management. We present here a process management system for parallel programs such as those written using MPI. A primary goal of the system, which we call MPD (for multipurpose daemon), is to be scalable. By this we mean that startup of interactive parallel jobs comprising thousands of processes is quick, that signals can be quickly delivered to processes, and thatstdin,stdout, andstderr are managed intuitively. Our primary target is parallel machines made up of clusters of SMPs, but the system is also useful in more tightly integrated environments. We describe how MPD enables much faster startup and better runtime management of parallel jobs. We show how close control of stdio can support the easy implementation of a number of convenient system utilities, even a parallel debugger. We describe a simple but general interface that can be used to separate any process manager from a parallel library, which we use to keep MPD separate from MPICH. 1
Policies for swapping MPI processes
- In Proceedings of HPDC-12, the Symposium on High Performance and Distributed Computing
, 2003
"... Despite the enormous amount of research and development work in the area of parallel computing, it is a common observation that simultaneous performance and ease-of-use are elusive. We believe that ease-of-use is critical for many end users, and thus seek performance enhancing techniques that can be ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Despite the enormous amount of research and development work in the area of parallel computing, it is a common observation that simultaneous performance and ease-of-use are elusive. We believe that ease-of-use is critical for many end users, and thus seek performance enhancing techniques that can be easily retrofitted to existing parallel applications. In a previous paper we have presented MPI process swapping, a simple add-on to the MPI programming environment that can improve performance in shared computing environments. MPI process swapping requires as few as three lines of source code change to an existing application. In this paper we explore a question that we had left open in our previous work: based on which policies should processes be swapped for best performance? Our results show that, with adequate swapping policies, MPI process swapping can provide substantial performance benefits with very limited implementation effort. 1.
Mobile pipelines: Parallelizing left-looking algorithms using navigational programming
- In Proc., 12th Int’l Conf. on High Perf. Comp. - HiPC 2005
, 2005
"... Abstract. Parallelizing a sequential algorithm—i.e., manually or automatically converting it into an equivalent parallel distributed algorithm—is an important problem. Ideally, the parallel algorithm should preserve the computational structure of the original sequential algorithm, display a high deg ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Abstract. Parallelizing a sequential algorithm—i.e., manually or automatically converting it into an equivalent parallel distributed algorithm—is an important problem. Ideally, the parallel algorithm should preserve the computational structure of the original sequential algorithm, display a high degree of parallelism, have low communication overhead, and be scalable. The difficulty of accomplishing this for a particular sequential algorithm depends on the nature of the algorithm and the specific model of parallelism under consideration. Generally, the so called “right-looking ” algorithms are easy to parallelize because they tend to have a significant amount of data parallelism. In these algorithms, data is “eagerly ” propagated to and consumed by subsequent computations immediately after it is produced, and so it does not need to be kept in temporary storage for extended periods of time. In this paper we consider the class of “left-looking ” sequential algorithms [1], which cannot be easily parallelized using the message-passing or distributed shared memory models. These algorithms are characterized by “lazy ” propagation of data. We show that these algorithms can be directly parallelized using the Navigational Programming model. We present performance data demonstrating the effectiveness of our approach. 1
A Portable Method for Finding User Errors in the Usage of MPI Collective Operations ∗
"... An MPI profiling library is a standard mechanism for intercepting MPI calls by applications. Profiling libraries are so named because they are commonly used to gather performance data on MPI programs. Here we present a profiling library whose purpose is to detect user errors in the use of MPI’s coll ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
An MPI profiling library is a standard mechanism for intercepting MPI calls by applications. Profiling libraries are so named because they are commonly used to gather performance data on MPI programs. Here we present a profiling library whose purpose is to detect user errors in the use of MPI’s collective operations. While some errors can be detected locally (by a single process), other errors involving the consistency of arguments passed to MPI collective functions must be tested for in a collective fashion. While the idea of using such a profiling library does not originate here, we take the idea further than it has been taken before (we detect more errors, including those involving datatype inconsistencies) and present an open-source library that can be used with any MPI implementation. We describe the tests carried out, provide some details of the implementation, illustrate the usage of the library, and present performance tests.
UNIVERSITY OF CHICAGO
"... Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.6 The globus2 device for Grids by ..."
Abstract
- Add to MetaCart
Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.6 The globus2 device for Grids by
unknown title
"... Version 1.2.3 The ch p4 device for Workstation Networks by William Gropp and Ewing Lusk ..."
Abstract
- Add to MetaCart
Version 1.2.3 The ch p4 device for Workstation Networks by William Gropp and Ewing Lusk
R U E
"... Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.5 The ch p4 device for Workstation Networks by ..."
Abstract
- Add to MetaCart
Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.5 The ch p4 device for Workstation Networks by
R U E
"... Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.4 The globus2 device for Grids by ..."
Abstract
- Add to MetaCart
Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.4 The globus2 device for Grids by
R U E
"... Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.4 The ch shmem device for Shared Memory Processors by ..."
Abstract
- Add to MetaCart
Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.4 The ch shmem device for Shared Memory Processors by
R U E
"... Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.4 The ch p4mpd device for Workstation Networks and Clusters by ..."
Abstract
- Add to MetaCart
Installation and User’s Guide to MPICH, a Portable Implementation of MPI Version 1.2.4 The ch p4mpd device for Workstation Networks and Clusters by

