Algorithms for Parallel Processing This IMA Volume in Mathematics and its Applications ALGORITHMS FOR PARALLEL PROCESSING is based on the proceedings of a workshop that was an integral part of the 1996 97 IMA program on MATHEMATICS IN HIGH PERFORMANCE COMPUTING. The workshop brought together algorithm developers from theory combinatorics and scientific computing. The topics ranged over models linear algebra sorting randomization and graph algorithms and their analysis. We thank Michael T. Heath of University of lllinois at Urbana (Com­ puter Science) Abhiram Ranade of the Indian Institute of Technology (Computer Science and Engineering) and Robert S. Schreiber of Hewlett­ Packard Laboratories for their excellent work in organizing the workshop and editing the proceedings. We also take this opportunity to thank the National Science Founda­ tion (NSF) and the Army Research Office (ARO) whose financial support made the workshop possible. A vner Friedman Robert Gulliver v PREFACE The Workshop on Algorithms for Parallel Processing was held at the IMA September 16 20 1996; it was the first workshop of the IMA year dedicated to the mathematics of high performance computing. The work­ shop organizers were Abhiram Ranade of The Indian Institute of Tech­ nology Bombay Michael Heath of the University of Illinois and Robert Schreiber of Hewlett Packard Laboratories. Our idea was to bring together researchers who do innovative exciting parallel algorithms research on a wide range of topics and by sharing insights problems tools and methods to learn something of value from one another. Models and Mechanisms in Parallel Computation A general purpose shared memory model for parallel computation Supporting a coherent shared address space across SMP nodes: An application driven investigation Single message vs. batch communication Some simple and practical strategies for parallelism Discrete and Combinatorial Algorithms Locality in computing connected components Routing in optical and wireless networks Transparent parallel transactions on replicated autonomous databases Mathematics of Parallelizing Compilers Mathematical tools for loop transformations: From systems of uniform recurrence equations to the polytope model Numerical Algorithms The scalability of mesh improvement algorithms Data parallel performance optimizations using array aliasing Coarsening sampling and smoothing: Elements of the multilevel method Some methods of parallel pseudorandom number generation Performance of parallel sparse triangular solution Determining an out of core FFT decomposition strategy for parallel disks by dynamic programming Parallel Computer Systems and Software Enabling department scale supercomputing Providing uniform dynamic access to numerical software.