Components and Interfaces of a Process Management System for Parallel Programs
Ralph Butler, William Gropp, Ewing Lusk
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 that stdin, stdout, and stderr 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.
Create a lesson
Related papers
Scheduling in Cloud,Fog, and Edge Computing: A Comparative Analysis and Decision Framework for Technique Selection
Rana Ghazali, Douglas G. Down
GPU-resident Execution for Timing-predictable Sensor Processing Systems
Soham Sinha, Rahul Choudhury, Shekhar Dwivedi et al.
CompileMask: Bridging the Gap Between Expressiveness and Efficiency in Attention Masking
Hongzheng Li, Jiacheng Wan, Zhaolong Xing et al.
ShoreKeeper: Accelerating Iterative Data Analytics in the Cloud via Distributed Recovery-Cost-Aware Caching
Jongseop Lee, Minsu Sun, Xinyue Ma et al.
Stacked Intelligent Metasurface-Based MultiModal Feature Fusion for Collaborative Inference in Edge Networks
Yushi Wang, Zhengxin Yu, Guhan Zheng et al.
Taking Tokenization off the Host for Agentic LLM Serving
Mohammad Siavashi, Pascal Schwinte, Ali Banaei et al.