Communication Efficient BSP Algorithm for All Nearest Smaller Values Problem

We present a BSP (Bulk Synchronous Parallel) algorithm for solving the All Nearest Smaller Values Problem (ANSVP), a fundamental problem in both graph theory and computational geometry. Our algorithm achieves optimal sequential computation time and uses only three communication supersteps. In the worst case, each communication phase takes no more than an (np+p)-relation, where p is the number of the processors. In addition, our average-case analysis shows that, on random inputs, the expected communication requirements for all three steps are bounded above by a p-relation, which is independent of the problem size n. Experiments have been carried out on an SGI Origin 2000 with 32 R10000 processors and a SUN Enterprise 4000 multiprocessing server supporting 8 UltraSPARC processors, using the MPI libraries. The results clearly demonstrate the communication efficiency and load balancing for computation.

[1]  David B. Skillicorn,et al.  Practical barrier synchronisation , 1998, Proceedings of the Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -.

[2]  Zvi Galil,et al.  An Optimal O(log log n) Time Parallel String Matching Algorithm , 1990, SIAM J. Comput..

[3]  Andrew Rau-Chaplin,et al.  Scalable parallel geometric algorithms for coarse grained multicomputers , 1993, SCG '93.

[4]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[5]  Uzi Vishkin,et al.  Optimal Doubly Logarithmic Parallel Algorithms Based on Finding All Nearest Smaller Values , 1993, J. Algorithms.

[6]  Uzi Vishkin,et al.  Finding all nearest neighbors for convex polygons in parallel: A new lower bound technique and a matching algorithm , 1990, Discret. Appl. Math..

[7]  David B. Skillicorn,et al.  Questions and Answers about BSP , 1997, Sci. Program..

[8]  Clyde P. Kruskal,et al.  Searching, Merging, and Sorting in Parallel Computation , 1983, IEEE Transactions on Computers.

[9]  C. Greg Plaxton,et al.  All Nearest Smaller Values on the Hypercube , 1996, IEEE Trans. Parallel Distributed Syst..

[10]  Allan Borodin,et al.  Routing, merging and sorting on parallel models of computation , 1982, STOC '82.

[11]  Michael T. Goodrich,et al.  A bridging model for parallel computation, communication, and I/O , 1996, CSUR.

[12]  William F. McColl,et al.  Scalable Computing , 1995, Computer Science Today.

[13]  Gad M. Landau,et al.  Optimal parallel suffix-prefix matching algorithm and applications , 1989, SPAA '89.

[14]  Gad M. Landau,et al.  Parallel Suffix-Prefix-Matching Algorithm and Applications , 1996, SIAM J. Comput..

[15]  Peter S. Pacheco Parallel programming with MPI , 1996 .

[16]  Torsten Suel,et al.  BSPlib: The BSP programming library , 1998, Parallel Comput..

[17]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[18]  Rob H. Bisseling,et al.  Basic Techniques for Numerical Linear Algebra on Bulk Synchronous Parallel Computers , 1996, WNAA.