  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.
