DCNANAApr 19, 2012

An MPI Implementation of a Self-Submitting Parallel Job Queue

arXiv:1204.44751.22 citationsh-index: 15
Originality Synthesis-oriented
AI Analysis

For researchers needing parallel computing without MPI expertise, this library simplifies job queue management, but the approach is incremental.

The paper presents MPQueue, a C++ library implementing self-submitting parallel job queues in MPI, enabling non-experts to solve large problems in parallel. Overhead and scaling experiments demonstrate efficiency and effectiveness.

We present a simple and easy to apply methodology for using high-level self-submitting parallel job queues in an MPI environment. Using C++, we implemented a library of functions, MPQueue, both for testing our concepts and for use in real applications. In particular, we have applied our ideas toward solving computational combinatorics problems and for finding bifurcation diagrams of solutions of partial differential equations (PDE). Our method is general and can be applied in many situations without a lot of programming effort. The key idea is that workers themselves can easily submit new jobs to the currently running job queue. Our applications involve complicated data structures, so we employ serialization to allow data to be effortlessly passed between nodes. Using our library, one can solve large problems in parallel without being an expert in MPI. We demonstrate our methodology and the features of the library with several example programs, and give some results from our current PDE research. We show that our techniques are efficient and effective via overhead and scaling experiments.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes