Parallel Algorithmic Techniques: PRAM algorithms and PRAM simulations

Acknowledgments First, I would like to thank my advisor Friedhelm Meyer auf der Heide. He was a great advisor, collaborator, who greatly innuenced my research in Paderborn. I would like to thank Wojciech Rytter, my rst advisor during my stay in Warsaw, who took care through rst years of my research. He built basis for my research and advised me to work on parallel algorithms. I would like to thank Volker Stemann. We spent a lot of time on joint discussions and (fascinating) joint research. Special thanks to Leszek G asieniec. He always innuenced me by his fresh ideas and I beneeted greatly from many hours of joint discussions. Endre Szemer edi was always ready to discuss and to explain me the beauty of mathematics and theoretical computer science. His innuence is much beyond this what one can nd in the thesis. It was Krzysztof Diks who rst suggested to think about algorithms and computer science. He was always ready to discuss with me. Special thanks to Alan Gibbons for valuable discussions and his hospitality during my stay in Warwick. It was two and half year ago when Mirek Kutyy lowski suggested me to apply for studies in Paderborn. Since then we spent a lot of time discussing about research, Germany, and many other not less important aspects of life. I would like to thank my colleagues with whom I did the research: Bog-Most of all, I would like to thank my wife and daughter. Without their constant support, help and persistence I would never be able to nish the thesis.

[1]  Larry Carter,et al.  Universal Classes of Hash Functions , 1979, J. Comput. Syst. Sci..

[2]  T. C. Hu,et al.  Computation of Matrix Chain Products. Part I , 1982, SIAM J. Comput..

[3]  Friedhelm Meyer auf der Heide,et al.  Transforming Comparison Model Lower Bounds to the Parallel-Random-Access-Machine , 1997, Inf. Process. Lett..

[4]  Frances F. Yao,et al.  Speed-Up in Dynamic Programming , 1982 .

[5]  Jonathan S. Turner,et al.  Approximation Algorithms for the Shortest Common Superstring Problem , 1989, Inf. Comput..

[6]  Philip D. MacKenzie Lower Bounds for Randomized Exclusive Write PRAMs , 1995, SPAA '95.

[7]  Zvi Galil Optimal Parallel Algorithms for String Matching , 1985, Inf. Control..

[8]  Mihalis Yannakakis,et al.  Optimization, approximation, and complexity classes , 1991, STOC '88.

[9]  F. Frances Yao,et al.  Approximating shortest superstrings , 1997, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[10]  Friedhelm Meyer auf der Heide,et al.  Simple, efficient shared memory simulations , 1993, SPAA '93.

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

[12]  Eli Upfal,et al.  How to share memory in a distributed system , 1984, JACM.

[13]  Clifford Stein,et al.  A 2 2 3 {approximation Algorithm for the Shortest Superstring Problem , 1995 .

[14]  Andrew Hume,et al.  Fast string searching , 1991, USENIX Summer.

[15]  Zvi Galil,et al.  Time-Space-Optimal String Matching , 1983, J. Comput. Syst. Sci..

[16]  Y. Matias,et al.  Optimal parallel approximation algorithms for prefix sums and integer sorting , 1994 .

[17]  Zvi Galil,et al.  Parallel Algorithms for Dynamic Programming Recurrences with More than O(1) Dependency , 1994, J. Parallel Distributed Comput..

[18]  Tao Jiang,et al.  Linear approximation of shortest superstrings , 1991, STOC '91.

[19]  Katsuyuki Kaneko,et al.  VLSI Parallel Computer with Data Transfer Network: ADENA , 1989, ICPP.

[20]  Robert W. Irving,et al.  Approximation Algorithms for the Shortest Common Supersequence , 1995, Nord. J. Comput..

[21]  Prabhakar Ragde,et al.  The Parallel Simplicity of Compaction and Chaining , 1990, J. Algorithms.

[22]  Richard Cole,et al.  Approximate and exact parallel scheduling with applications to list, tree and graph problems , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[23]  Carsten Lund,et al.  Proof verification and hardness of approximation problems , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[24]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[25]  Robert S. Boyer,et al.  A fast string searching algorithm , 1977, CACM.

[26]  Sartaj Sahni,et al.  Parallel permutation and sorting algorithms and a new generalized connection network , 1982, JACM.

[27]  Daniel J. Kleitman,et al.  An Almost Linear Time Algorithm for Generalized Matrix Searching , 1990, SIAM J. Discret. Math..

[28]  R.M. Karp, M. Luby, F. Meyer auf der Hei Efficient PRAM simulation on a distributed memory machine , 1996 .

[29]  Leslie G. Valiant,et al.  Fast Parallel Computation of Polynomials Using Few Processors , 1983, SIAM J. Comput..

[30]  Gen-Huey Chen,et al.  Two-Dimensional Processor Array with a Reconfigurable Bus System is at Least as Powerful as CRCW Model , 1990, Inf. Process. Lett..

[31]  Zvi Galil,et al.  A lower bound for parallel string matching , 1991, STOC '91.

[32]  A. Tsarpalias,et al.  A Combinatorial Theorem , 1981, J. Comb. Theory, Ser. A.

[33]  C. Greg Plaxton,et al.  A (fairly) simple circuit that (usually) sorts , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[34]  A. Wigderson,et al.  THE PARALLEL COMPLEXITY OF ELEMENT DISTINCTNESS IS f ( x / logn ) * , 1988 .

[35]  Ming Li,et al.  Towards a DNA sequencing theory (learning a string) , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[36]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[37]  Friedhelm Meyer auf der Heide,et al.  How to distribute a dictionary in a complete network , 1990, STOC '90.

[38]  Uzi Vishkin,et al.  Deterministic sampling—a new technique for fast pattern matching , 1990, STOC '90.

[39]  T. Okamoto,et al.  Parallel computer ADENART—its architecture and application , 1991, ICS '91.

[40]  Bonnie Berger,et al.  Efficient NC Algorithms for Set Cover with Applications to Learning and Geometry , 1994, J. Comput. Syst. Sci..

[41]  Dan Gusfield Faster Implementation of a Shortest Superstring Approximation , 1994, Inf. Process. Lett..

[42]  Leslie G. Valiant,et al.  Parallelism in Comparison Problems , 1975, SIAM J. Comput..

[43]  E T. Leighton,et al.  Introduction to parallel algorithms and architectures , 1991 .

[44]  Wojciech Rytter,et al.  Efficient Sublinear Time Parallel Algorithms for Dynamic Programming and Context-Free Recognition , 1992, STACS.

[45]  Friedhelm Meyer auf der Heide,et al.  Dynamic perfect hashing: upper and lower bounds , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[46]  Uzi Vishkin,et al.  Optimal Parallel Pattern Matching in Strings , 2017, Inf. Control..

[47]  Bogdan S. Chlebus,et al.  Optimal Pattern Matching on Meshes , 1994, STACS.

[48]  Friedhelm Meyer auf der Heide,et al.  Hashing Strategies for Simulating Shared Memory on Distributed Memory Machines , 1992, Heinz Nixdorf Symposium.

[49]  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..

[50]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[51]  Wojciech Rytter,et al.  Text Algorithms , 1994 .

[52]  Alberto Apostolico,et al.  An Optimal O(log log N)-Time Parallel Algorithm for Detecting All Squares in a String , 1996, SIAM J. Comput..

[53]  Friedhelm Meyer auf der Heide,et al.  Shared Memory Simulations with Triple-Logarithmic Delay , 1995, ESA.

[54]  David Maier,et al.  On Finding Minimal Length Superstrings , 1980, J. Comput. Syst. Sci..

[55]  Amos Israeli,et al.  An Improved Parallel Algorithm for Maximal Matching , 1986, Inf. Process. Lett..

[56]  Yijie Han,et al.  : Parallel Algorithms for Bucket Sorting and the Data Dependent Prefix Problem , 1986, ICPP.

[57]  Torben Hagerup,et al.  Fast Parallel Space Allocation, Estimation and Integer Sorting , 1995, Inf. Comput..

[58]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[59]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[60]  Stephan Olariu,et al.  Applications of Reconfigurable Meshes to Constant-Time Computations , 1993, Parallel Comput..

[61]  Wojciech Plandowski,et al.  Work-time-optimal parallel algorithms for string problems , 1995, STOC '95.

[62]  John H. Reif,et al.  Synthesis of Parallel Algorithms , 1993 .

[63]  Uzi Vishkin,et al.  Towards a theory of nearly constant time parallel algorithms , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[64]  Uzi Vishkin,et al.  Recursive Star-Tree Parallel Data Structure , 1993, SIAM J. Comput..

[65]  H. James Hoover,et al.  A Compendium of Problems Complete for P , 1991 .

[66]  Hans Söderlund,et al.  Algorithms for Some String Matching Problems Arising in Molecular Genetics , 1983, IFIP Congress.

[67]  Torben Hagerup,et al.  The Log-Star Revolution , 1992, STACS.

[68]  T. Nogi ADENA computer III , 1989 .

[69]  Frank Thomson Leighton,et al.  Methods for message routing in parallel machines , 1992, STOC '92.

[70]  Friedhelm Meyer auf der Heide,et al.  Improved optimal shared memory simulations, and the power of reconsideration , 1995, Proceedings Third Israel Symposium on the Theory of Computing and Systems.

[71]  James A. Storer,et al.  Data Compression: Methods and Theory , 1987 .

[72]  Carsten Lund,et al.  On the hardness of approximating minimization problems , 1994, JACM.

[73]  Wojciech Rytter,et al.  On Efficient Parallel Computations for some Dynamic Programming Problems , 1988, Theor. Comput. Sci..

[74]  Artur Czumaj,et al.  Parallel Algorithm for the Matrix Chain Product Problem , 1992 .

[75]  Artur Czumaj,et al.  Lower Bound for String Matching on PRAM , 1995 .

[76]  Eli Upfal,et al.  Parallel hashing: an efficient implementation of shared memory , 1988, JACM.

[77]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[78]  Zvi Galil,et al.  A constant-time optimal parallel string-matching algorithm , 1992, STOC '92.

[79]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[80]  Yossi Matias,et al.  An optical simulation of shared memory , 1994, SPAA '94.

[81]  Artur Czumaj Parallel Algorithm for the Matrix Chain Product and the Optimal Triangulation Problems Stacs'93 Version , 1993 .

[82]  Philip D. MacKenzie Lower Bounds for Randomized Exclusive Write PRAMs , 1995, SPAA.

[83]  Michael Luby,et al.  A simple parallel algorithm for the maximal independent set problem , 1985, STOC '85.

[84]  Friedhelm Meyer auf der Heide,et al.  The complexity of parallel sorting , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[85]  Phillip G. Bradford,et al.  Matrix Chain Ordering in Polylog Time with n = lg n Processors , 1992 .

[86]  Hillel Gazit,et al.  Optimal EREW parallel algorithms for connectivity, ear decomposition and st-numbering of planar graphs , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

[87]  Esko Ukkonen,et al.  A Greedy Approximation Algorithm for Constructing Shortest Common Superstrings , 1988, Theor. Comput. Sci..

[88]  Wojciech Rytter,et al.  Parallel and Sequential Approximations of Shortest Superstrings , 1994, SWAT.

[89]  Ravi B. Boppana,et al.  Optimal separations between concurrent-write parallel machines , 1989, STOC '89.

[90]  Zvi Galil,et al.  Optimal parallel algorithms for string matching , 1984, STOC '84.

[91]  Richard M. Karp,et al.  A Survey of Parallel Algorithms for Shared-Memory Machines , 1988 .

[92]  Man-Tak Shing,et al.  Computation of Matrix Chain Products. Part II , 1984, SIAM J. Comput..

[93]  Wojciech Rytter,et al.  Optimally fast parallel algorithms for preprocessing and pattern matching in one and two dimensions , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[94]  Wojciech Plandowski,et al.  Parallel Alternating-Direction Access Machine , 1996, MFCS.

[95]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[96]  Wojciech Rytter,et al.  An Optimal Sublinear Time Parallel Algorithm for Some Dynamic Programming Problems , 1994, Inf. Process. Lett..

[97]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

[98]  Artur Czumaj An Optimal Parallel Algorithm for Computing a Near-Optimal Order of Matrix Multiplications , 1992, SWAT.

[99]  Friedhelm Meyer auf der Heide,et al.  Exploiting Storage Redundancy to Speed up Randomized Shared Memory Simulations , 1995, Theor. Comput. Sci..

[100]  Toshiyuki IMAMURA,et al.  NAS Parallel Benchmark Results on ADENART , 1994 .

[101]  Uzi Vishkin,et al.  A Case for the PRAM As a Standard Programmer's Model , 1992, Heinz Nixdorf Symposium.

[102]  Wojciech Rytter,et al.  Sequential and Parallel Approximation of Shortest Superstrings , 1997, J. Algorithms.

[103]  Alan Siegel,et al.  On universal classes of fast high performance hash functions, their time-space tradeoff, and their applications , 1989, 30th Annual Symposium on Foundations of Computer Science.