mts: A light framework for parallelizing tree search codes
David Avis, Charles Jordan

TL;DR
The paper introduces mts, a flexible C-based framework utilizing MPI for parallelizing various tree search algorithms, enabling efficient multi-processor execution with minimal code modifications.
Contribution
It generalizes parallelization techniques for tree search algorithms, supporting information sharing and easy integration into existing single-processor programs.
Findings
Achieved parallelization of multiple reverse search applications.
Demonstrated improved performance over non-parallel codes.
Supported applications include satisfiability testing and branch-and-bound.
Abstract
We describe mts, a generic framework for parallelizing certain types of tree search programs including reverse search, backtracking, branch and bound and satisfiability testing. It abstracts and generalizes the ideas used in parallelizing lrs, a reverse search code for vertex enumeration. mts supports sharing information between processes which is important for applications such as satisfiability testing and branch-and-bound. No parallelization is implemented in the legacy single processor programs minimizing the changes needed and simplying debugging. mts is written in C, uses MPI for parallelization and can be used on a network of computers. We give four examples of reverse search codes parallelized by using mts: topological sorts, spanning trees, triangulations and Galton-Watson trees. We also give a parallelization of two codes for satisfiability testing. We give experimental…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
