International Conference on Computer Systems and Technologies - CompSysTech’06 Parallel Combinatorial Search on Computer Cluster: Sam Loyd’s Puzzle Plamenka Borovska Abstract: The paper investigates the efficiency of parallel branch-and-bound search on multicomputer cluster for the case of parallel solving Sam Loyd’s puzzle. Performance estimation and analysis as well as parallelism profiling have been made for MPI implementation developed on the basis of the manager/workers parallel algorithmic paradigm. The impact of the number of the processors and the computational workload – the board size – over the performance of the parallel system has been investigated. Key words: Combinatorial Search, Parallel Branch and Bound, Cluster Computing, Parallelism Profiling, MPI Programming, Manager/Workers Algorithmic Paradigm, Distributed Load Balancing. INTRODUCTION The increasing demands of greater and available computing power set up a steady modern tendency of constructing computer clusters [1]. The idea of clustering the available computing resources within one ore more buildings and utilizing them as a single computing resource is very attractive and gives the opportunity to solve time-consuming applications in reasonable time [2]. The easiest way to acquire considerable computing power is to construct a slack cluster of multicomputer architecture, integrating the available computers and use the message passing programming model [3]. In order to increase the level of the exploited parallelism in the case of heterogeneous computer platforms we can combine the flat programming model with multithreading to achieve greater speedup [4]. One of the application areas demanding greater computational power and consuming great computational time is combinatorial search [5]. Combinatorial search is the process of finding “one or more optimal or suboptimal solutions in a defined problem space” [6] and has been used for minimizing the layout of VLSI circuits, for minimizing the traveled distance in robot’s motion, proving theorems and playing games. An algorithm that solves an optimization problem must find a solution that is an extreme of an objective function. This paper investigates the opportunities and possible advantages of parallel combinatorial search on a cluster of computers. The specific problem under investigation is solving in parallel Sam Loyd’s puzzle which is an example of the branch-and-bound search technique and may be used as a benchmark for estimating the performance of parallel systems in combinatorial search efficiency. Furthermore, the goal is to explore the correspondence of parallel architectural and algorithmic spaces for combinatorial search problems. THE PROBLEM OF SOLVING SAM LOYD’S PUZZLE The well-known 15-puzzle invented by Sam Loyd [7] consists of 15 tiles, numbered 1 to 15, arranged on a 4x4 board. Fifteen locations contain exactly one tile. The sixteenth location is empty. The goal of the puzzle is to repeatedly fill the hole with a tile adjacent to it in the horizontal or vertical direction until the tiles are in row-major order until the tiles are correctly ordered. From our point of view this is an optimization problem – the aim is to solve the puzzle in the least number of moves. Search problems are represented by state space trees. This state space tree presents the board positions that can be reached from the initial position. Taking into consideration that the goal is to examine as few alternative moves as possible it is a good idea to associate a weight with each state, denoting the minimum number of tile moves made so far needed to solve the puzzle. The weight function adds the number of tile moves made so far to the Manhattan distance between each out-of-place tile and its - II.15-1 -