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

Reply via email to