I'm currently working on a project that utilizes MPI in order to distribute the calculating of a game tree across multiple MPI nodes. In order to do this, we require the use of a backtracking algorithm. We've yet to find any that support the parallelism of MPI and are wondering if there exists any before we look towards implementing our own.
In essence, our code does the following: RecursiveCall(GameTreeNode) Create a set, S, of GameTreeNodes based on GameTreeNode (i.e. expand the game tree) For each GameTreeNode, N, in S Find an idle processor Execute RecursiveCall(N) on the selected processor End If there are no idle processors Do calculation on current processor End End We've reviewed "DIB - A Distributed Implementation of Backtracking" by Raphael Finkel & Udi Manber, but that paper uses BSD sockets and we couldn't easily see a way to reimplement it within MPI. We are wondering if there exists a similar backtracking method that is already MPI-compatible. Thanks. Cheers, Josh Vega Computer Science, B.S., 2019 New Jersey Institute of Technology