Writing distributed programs is significantly more difficult than writing sequential programs. DIB is a software package aimed at enabling novice programmers to write distributed programs in a basically sequential manner. The application area of the package is backtracking or, in other words, tree searching. The package may be implemented on networks of machines that communicate by message passing. It supports dynamic load balancing and allows the setting of global bounds to restrict the search space dynamically. The only requirement on the computation is that searches in subtrees are independent. The user of the package has to provide three procedures: one to generate the root, one to generate (roots of) subtrees, and one to distill the answers.
An interesting feature of the package is its capability for fault tolerance; machines that are idle duplicate the computations of other machines. The paper reports the results of experiments in applying the traveling salesperson and the eight queens problem, using moderately sized networks (fewer than 16 machines).