An autonomic parallel strategy for exhaustive search tree algorithms on shared or heterogeneous systems - Passos, Fernanda G. O.; Rebello, Vinod E. F. (Concurrency and computation, 2024)
Summary Backtracking branch‐and‐prune (BP) algorithms and their variants are exhaustive search tree techniques widely employed to solve optimization problems in many scientific areas. However, they characteristically often demand significant amounts of computing power for problem sizes representative of real‐world scenarios. Given that their search domains can often be partitioned, these algorithms are frequently designed to execute in parallel by harnessing distributed computing systems. However, to achieve efficient parallel execution times, an effective strategy is required to balance the nonuniform partition workloads across the available resources. Furthermore, with the increasing integration of servers with heterogeneous resources and the adoption of resource sharing, balancing workloads is becoming complex. This paper proposes a strategy to execute parallel BP algorithms more efficiently on even shared or heterogeneous distributed systems. The approach integrates a self‐adjusting dynamic partitioning method in the BP algorithm with a dynamic scheduler, provided by an application middleware, which manages the parallel execution while addressing any issues of imbalance. Empirical results indicate better scalability with efficiencies above 90% for instances of an application case study for the discretizable molecular distance geometry problem (DMDGP). Improvements of up to 38% were obtained in execution speed‐ups compared to a more traditional parallel BP implementation for DMDGP.