An MPI implementation of a self-submitting parallel job queue

Research output: Contribution to journalArticle

1 Scopus citations

Abstract

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.

Original languageEnglish (US)
Pages (from-to)443-464
Number of pages22
JournalInternational Journal of Parallel Programming
Volume40
Issue number4
DOIs
StatePublished - Aug 1 2012

    Fingerprint

Keywords

  • Bifurcation
  • Job queue
  • MPI
  • MPQueue
  • Non-attacking queens

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Information Systems

Cite this