Computing with Time-Varying Data: Sequential Complexity and Parallel Speed-Up

We discuss the design of sequential and parallel algorithms working on a time-increasing data set, within two paradigms of computation. In Paradigm 1 the process terminates when all the data currently arrived have been treated, independently of future arrivals. In Paradigm 2 an endless process is divided in stages, and in each stage the computation is carried out on the data set updated up to the previous stage. A problem may be unsolvable because no algorithm is fast enough to cope with the increasing data set. The computational cost of succeeding algorithms is studied in a new perspective, in the sequential RAM and parallel PRAM models, with the running time possibly tending to infinity for proper values of the parameters. It is shown that the traditional time bounds of parallel versus sequential computation (i.e., speed-up and slow-down under the so-called Brent's principle) do not hold, and new bounds are provided. Several problems are examined in the new paradigms, and the new algorithms are compared with the known ones designed for time-invariant data. Optimal sequential and parallel algorithms are also defined, and given whenever possible. In particular it is shown that some problems do not gain anything from a parallel solution, while others can be practically solved only in parallel. Paradigm 1 is the most innovative, and the relative results on parallel speed-up and scaling are probably unexpected. Paradigm 2 opens a new perspective in dynamic algorithms, because processing batches of data may be more efficient than processing single incoming data on-line.

[1]  Zvi Galil,et al.  Improved Sparsification , 1993 .

[2]  Bowen Alpern,et al.  A model for hierarchical memory , 1987, STOC.

[3]  Jeffrey Scott Vitter,et al.  New Classes for Parallel Complexity: A Study of Unification and Other Complete Problems for P , 1986, IEEE Transactions on Computers.

[4]  Leonard Kleinrock,et al.  Theory, Volume 1, Queueing Systems , 1975 .

[5]  Fabrizio Luccio,et al.  The p-shovelers problem-computing with time-varying data , 1992, [1992] Proceedings of the Fourth IEEE Symposium on Parallel and Distributed Processing.

[6]  Burnham Sarle Walker Introduction to computer engineering , 1967 .

[7]  Uzi Vishkin,et al.  Can parallel algorithms enhance serial implementation? , 1994, Proceedings of 8th International Parallel Processing Symposium.

[8]  David Eppstein,et al.  Sparsification-a technique for speeding up dynamic graph algorithms , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[9]  Richard M. Karp,et al.  On-Line Algorithms Versus Off-Line Algorithms: How Much is it Worth to Know the Future? , 1992, IFIP Congress.

[10]  Selim G. Akl,et al.  Data-Movement-Intensive Problems: Two Folk Theorems in Parallel Computation Revisited , 1992, Theor. Comput. Sci..

[11]  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).

[12]  Alok Aggarwal,et al.  Hierarchical memory with block transfer , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[13]  Dana S. Richards,et al.  Studies of self-organizing placement algorithms for linear and finger lists , 1992, Inf. Sci..

[14]  Uzi Vishkin,et al.  Parallel Dictionaries in 2-3 Trees , 1983, ICALP.

[15]  Jeffrey Scott Vitter,et al.  Large-scale sorting in parallel memories (extended abstract) , 1991, SPAA '91.

[16]  Stephen A. Cook,et al.  Upper and Lower Time Bounds for Parallel Random Access Machines without Simultaneous Writes , 1986, SIAM J. Comput..

[17]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.