Skip to main content

Abstract

Technological advances and economic considerations have led to a wide variety of modalities of collaborative computing: the use of multiple computing agents to solve individual computational problems. Each new modality creates new challenges for the algorithm designer. Older “parallel” algorithmic devices no longer work on the newer computing platforms (at least in their original forms) and/or do not address critical problems engendered by the new platforms’ characteristics. In this chapter, the field of collaborative algorithmics is divided into four epochs, representing (one view of) the major evolutionary eras of collaborative computing platforms. The changing challenges encountered in devising algorithms for each epoch are discussed, and some notable sophisticated responses to the challenges are described.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. U. Acar, G.E. Blelloch, R.D. Blumofe (2002): The data locality of work stealing. Theory of Computing Systs. 35, 321–347.

    MathSciNet  Google Scholar 

  2. M. Adler, Y. Gong, A.L. Rosenberg (2003): Optimal sharing of bags of tasks in heterogeneous clusters. 15th ACM Symp. on Parallelism in Algorithms and Architectures (SPAA’ 03), 1–10.

    Google Scholar 

  3. J. Agrawal and H.V. Jagadish (1988): Partitioning techniques for large-grained parallelism. IEEE Trans. Computers 37, 1627–1634.

    Google Scholar 

  4. W. Aiello, S.N. Bhatt, F.R.K. Chung, A.L. Rosenberg, R.K. Sitaraman (2001): Augmented ring networks. IEEE Trans. Parallel and Distr. Systs. 12, 598–609.

    Google Scholar 

  5. S. Akl (1989): The Design and Analysis of Parallel Algorithms. Prentice-Hall, Englewood Cliffs, NJ.

    Google Scholar 

  6. R. Aleliunas and A.L. Rosenberg (1982): On embedding rectangular grids in square grids. IEEE Trans. Comput., C-31, 907–913.

    Google Scholar 

  7. A. Alexandrov, M.I. Ionescu, K.E. Schauser, C. Scheiman (1997): LogGP: incorporating long messages into the LogP model for parallel computation. J. Parallel Distr. Comput. 44, 71–79.

    Google Scholar 

  8. R.J. Anderson and G.L. Miller (1990): A simple randomized parallel algorithm for list-ranking. Inform. Proc. Lett. 10.

    Google Scholar 

  9. T.E. Anderson, D.E. Culler, D.A. Patterson, and the HNOW Team (1995): A case for NOW (networks of workstations). IEEE Micro 15, 54–64.

    Article  Google Scholar 

  10. M. Andrews, F.T. Leighton, P.T. Metaxas, L. Zhang (1996): Improved methods for hiding latency in high bandwidth networks. 8th ACM Symp. on Parallel Algorithms and Architectures, pp. 52–61.

    Google Scholar 

  11. F.S. Annexstein (1991): SIMD-emulations of hypercubes and related networks by linear and ring-connected processor arrays. 3rd IEEE Symp. on Parallel and Distributed Processing, pp. 656–659.

    Google Scholar 

  12. F.S. Annexstein (1994): Embedding hypercubes and related networks into mesh-connected processor arrays. J. Parallel Distr. Comput. 23, 72–79.

    MATH  Google Scholar 

  13. F.S. Annexstein, M. Baumslag, A.L. Rosenberg (1990): Group action graphs and parallel architectures. SIAM J. Comput. 19, 544–569.

    Article  MathSciNet  Google Scholar 

  14. N.S. Arora, R.D. Blumofe, C.G. Plaxton (2001): Thread scheduling for multiprogrammed multiprocessors. Theory of Computing Syst. 34, 115–144.

    MathSciNet  Google Scholar 

  15. M.J. Atallah, C.L. Black, D.C. Marinescu, H.J. Siegel, T.L. Casavant (1992): Models and algorithms for coscheduling compute-intensive tasks on a network of workstations. J. Parallel Distr. Comput. 16, 319–327.

    Google Scholar 

  16. B. Awerbuch, Y. Azar, A. Fiat, F.T. Leighton (1996): Making commitments in the face of uncertainty: how to pick a winner almost every time. 28th ACM Symp. on Theory of Computing, pp. 519–530.

    Google Scholar 

  17. C. Banino, O. Beaumont, L. Carter, J. Ferrante, A. Legrand, Y. Robert (2003): Scheduling strategies for master-slave tasking on heterogeneous processor grids. IEEE Trans. Parallel and Distr. Syst. 15, 319–330.

    Google Scholar 

  18. A. Bar-Noy and D. Peleg (1991): Square meshes are not always optimal. IEEE Trans. Comput. 40, 196–204.

    Article  Google Scholar 

  19. O. Beaumont, L. Carter, J. Ferrante, A. Legrand, Y. Robert (2002): Bandwidth-centric allocation of independent tasks on heterogeneous platforms. Int. Parallel Distr. Processing Symp. (IPDPS’02).

    Google Scholar 

  20. O. Beaumont, A. Legrand, Y. Robert (2003): The master-slave paradigm with heterogeneous processors. IEEE Trans. Parallel Distr. Syst. 14, 897–908.

    Article  Google Scholar 

  21. J.-C. Bermond and C. Peyrat (1989): The de Bruijn and Kautz networks: a competitor for the hypercube? In Hypercube and Distributed Computers (F. Andre and J.P. Verjus, eds.), North-Holland, Amsterdam, pp. 279–293.

    Google Scholar 

  22. V. Bharadwaj, D. Ghose, V. Mani (1994): Optimal sequencing and arrangement in distributed single-level tree networks. IEEE Trans. Parallel Distr. Syst. 5, 968–976.

    Article  Google Scholar 

  23. V. Bharadwaj, D. Ghose, V. Mani (1995): Multi-installment load distribution in tree networks with delays. IEEE Trans. Aerospace Electron. Syst. 31, 555–567.

    Article  Google Scholar 

  24. S.N. Bhatt, F.R.K. Chung, F.T. Leighton, A.L. Rosenberg (1992): Efficient embeddings of trees in hypercubes. SIAM J. Comput. 21, 151–162.

    Article  MathSciNet  Google Scholar 

  25. S.N. Bhatt, F.R.K. Chung, J.-W. Hong, F.T. Leighton, B. Obrenić, A.L. Rosenberg, E.J. Schwabe (1996): Optimal emulations by butterfly-like networks. J. ACM 43, 293–330.

    Article  MathSciNet  Google Scholar 

  26. S.N. Bhatt, F.R.K. Chung, F.T. Leighton, A.L. Rosenberg (1997): On optimal strategies for cycle-stealing in networks of workstations. IEEE Trans. Comput. 46, 545–557.

    Article  MathSciNet  Google Scholar 

  27. S.N. Bhatt, D.S. Greenberg, F.T. Leighton, P. Liu (1999): Tight bounds for on-line tree embeddings. SIAM J. Comput. 29, 474–491.

    Article  MathSciNet  Google Scholar 

  28. S.N. Bhatt and F.T. Leighton (1984): A framework for solving VLSI graph layout problems. J. Comput. Syst. Sci. 28, 300–343.

    MathSciNet  Google Scholar 

  29. G. Bilardi, K.T. Herley, A. Pietracaprina, G. Pucci, P. Spirakis (1999): Algorithmica 24, 405–422.

    MathSciNet  Google Scholar 

  30. G. Bilardi and A. Nicolau (1989): Adaptive bitonic sorting: An optimal algorithm for shared memory machines. SIAM J. Comput. 18, 216–228.

    Article  MathSciNet  Google Scholar 

  31. G. Bilardi and F.P. Preparata (1995): Horizons of parallel computation. J. Parallel Distr. Comput. 27, 172–182.

    Google Scholar 

  32. R.D. Blumofe, C.F. Joerg, B.C. Kuszmaul, C.E. Leiserson, K.H. Randall, Y. Zhou (1995): Cilk: an efficient multithreaded runtime system. 5th ACM SIGPLAN Symp. on Principles and Practices of Parallel Programming (PPoPP’95).

    Google Scholar 

  33. R.D. Blumofe and C.E. Leiserson (1998): Space-efficient scheduling of multithreaded computations. SIAM J. Comput. 27, 202–229.

    Article  MathSciNet  Google Scholar 

  34. R.D. Blumofe and C.E. Leiserson (1999): Scheduling multithreaded computations by work stealing. J. ACM 46, 720–748.

    Article  MathSciNet  Google Scholar 

  35. R.D. Blumofe and D.S. Park (1994): Scheduling large-scale parallel computations on networks of workstations. 3rd Int. Symp. on High-Performance Distributed Computing, pp. 96–105.

    Google Scholar 

  36. B. Boothe and A.G. Ranade (1992): Improved multithreading techniques for hiding communication latency in multiprocessors. 19th Int. Symp. on Computer Architecture.

    Google Scholar 

  37. R.P. Brent (1974): The parallel evaluation of general arithmetic expressions. J. ACM 21, 201–206.

    Article  MATH  MathSciNet  Google Scholar 

  38. R.P. Brent and H.T. Kung (1984): Systolic VLSI arrays for polynomial gcd computation. IEEE Trans. Comp., C-33, 731–737.

    Google Scholar 

  39. R.P. Brent, H.T. Kung, F.T. Luk (1983): Some linear-time algorithms for systolic arrays. In Information Processing 83 (R.E.A. Mason, ed.), North-Holland, Amsterdam, pp. 865–876.

    Google Scholar 

  40. T.N. Bui, S. Chaudhuri, F.T. Leighton, M. Sipser (1987): Graph bisection algorithms with good average case behavior. Combinatorica 7, 171–191.

    MathSciNet  Google Scholar 

  41. F. Cappello, P. Fraigniaud, B. Mans, A.L. Rosenberg (2005): An algorithmic model for heterogenous clusters: Rationale and experience. Intl. J. Foundation of Computer Science 16, 195–216.

    Google Scholar 

  42. Y.C. Cheng and T.G. Robertazzi (1990): Distributed computation for tree networks with communication delays. IEEE Trans. Aerospace Electron. Syst. 26, 511–516.

    Article  Google Scholar 

  43. S. Chingchit, M. Kumar, L.N. Bhuyan (1999): A flexible clustering and scheduling scheme for efficient parallel computation. 13th IEEE Int. Parallel Processing Symp., pp. 500–505.

    Google Scholar 

  44. W. Cirne and K. Marzullo (1999): The Computational Co-op: gathering clusters into a metacomputer. 13th Int. Parallel Processing Symp., pp. 160–166.

    Google Scholar 

  45. M. Cole (1989): Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge, Mass.

    Google Scholar 

  46. R. Cole and U. Vishkin (1986): Deterministic coin tossing with applications to optimal parallel list ranking. Inform. Contr. 70, 32–53.

    Article  MathSciNet  Google Scholar 

  47. S.A. Cook (1974): An observation on time-storage tradeoff. J. Comp. Syst. Sci. 9, 308–316.

    MATH  Google Scholar 

  48. T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein (1999): Introduction to Algorithms (2nd edition). MIT Press, Cambridge, Mass.

    Google Scholar 

  49. M. Cosnard and M. Tchuente (1988): Designing systolic algorithms by top-down analysis. 3rd Int. Conf. on Supercomputing.

    Google Scholar 

  50. M. Cosnard and D. Trystram (1995): Parallel Algorithms and Architectures. International Thompson Computer Press.

    Google Scholar 

  51. D.E. Culler, R.M. Karp, D. Patterson, A. Sahay, K.E. Schauser, E. Santos, R. Subramonian, T. von Eicken (1996): LogP: towards a realistic model of parallel computation. C. ACM 39, 78–85.

    Google Scholar 

  52. R. Cypher and C.G. Plaxton (1993): Deterministic sorting in nearly logarithmic time on the hypercube and related computers. J. Comput. Syst. Sci. 47, 501–548.

    MathSciNet  Google Scholar 

  53. T.D. deRose, L. Snyder, C. Yang (1987): Near-optimal speedup of graphics algorithms using multigauge parallel computers. Int. Conf. on Parallel Processing, 289–294.

    Google Scholar 

  54. M.D. Dikaiakos, K. Steiglitz, A. Rogers (1994): A comparison of techniques for mapping parallel algorithms to message-passing multiprocessors. 6th IEEE Symp. on Parallel and Distributed Processing, pp. 434–442.

    Google Scholar 

  55. K. Diks, H.N. Djidjev, O. Sykora, I. Vrto (1993): Edge separators of planar and outerplanar graphs with applications. J. Algorithms 14, 258–279.

    Article  MathSciNet  Google Scholar 

  56. X. Du and X. Zhang (1997): Coordinating parallel processes on networks of workstations. J. Parallel Distr. Comput. 46, 125–135.

    Google Scholar 

  57. K. Efe (1991): Embedding mesh of trees into the hypercube. J. Parallel Distr. Comput. 11, 222–230.

    Google Scholar 

  58. R. Elsässer, B. Monien, R. Preis (2002): Diffusion schemes for load balancing on heterogeneous networks. Theory of Computing Syst. 35, 305–320.

    Google Scholar 

  59. P. Fatourou and P. Spirakis (2000): Efficient scheduling of strict multithreaded computations. Theory of Computing Syst. 33, 173–232.

    MathSciNet  Google Scholar 

  60. C.M. Fiduccia and R.M. Mattheyses (1982): A linear-time heuristic for improving network partitions. 19th ACM-IEEE Design Automation Conf., pp. 175–181.

    Google Scholar 

  61. S. Fortune and J. Wyllie (1978): Parallelism in random access machines. 10th ACM Symp. on Theory of Computing, pp. 114–118.

    Google Scholar 

  62. I. Foster and C. Kesselman (eds.) (1999): The Grid: Blueprint for a New Computing Infrastructure. Morgan-Kaufmann.

    Google Scholar 

  63. I. Foster, C. Kesselman, S. Tuecke (2001): The anatomy of the Grid: enabling scalable virtual organizations. Intl. J. Supercomput. Appl.

    Google Scholar 

  64. D. Gannon (1980): A note on pipelining a mesh-connected multiprocessor for finite element problems by nested dissection. Intl. Conf. on Parallel Processing, pp. 197–204.

    Google Scholar 

  65. L.-X. Gao, A.L. Rosenberg, R.K. Sitaraman (1999): Optimal clustering of tree-sweep computations for high-latency parallel environments. IEEE Trans. Parallel Distr. Syst. 10, 813–824.

    Google Scholar 

  66. V. Garg and D.E. Schimmel (1998): Hiding communication latency in data parallel applications. 12th IEEE Int. Parallel Processing Symp., pp. 18–25.

    Google Scholar 

  67. A. Gerasoulis, S. Venugopal, T. Yang (1990): Clustering task graphs for message passing architectures. ACM Int. Conf. on Supercomputing, pp. 447–456.

    Google Scholar 

  68. A. Gerasoulis and T. Yang (1992): A comparison of clustering heuristics for scheduling dags on multiprocessors. J. Parallel Distr. Comput. 16, 276–291.

    MathSciNet  Google Scholar 

  69. M.W. Goudreau, K. Lang, S.B. Rao, T. Suel, T. Tsantilas (1999): Portable and efficient parallel computing using the BSP model. IEEE Trans. Comput. 48, 670–689.

    Article  Google Scholar 

  70. D.S. Greenberg, L.S. Heath and A.L. Rosenberg (1990): Optimal embeddings of butterfly-like graphs in the hypercube. Math. Syst. Theory 23, 61–77.

    Article  MathSciNet  Google Scholar 

  71. V.C. Hamacher and H. Jiang (1994): Comparison of mesh and hierarchical networks for multiprocessors. Intl. Conf. on Parallel Processing, I:67–71.

    Google Scholar 

  72. C.-T. Ho and S.L. Johnsson (1986): Graph embeddings for maximum bandwidth utilization in hypercubes. Intl. Conf. Vector and Parallel Computing.

    Google Scholar 

  73. J.-W. Hong and H.T. Kung (1981): I/O complexity: the red-blue pebble game. 13th ACM Symp. on Theory of Computing, pp. 326–333.

    Google Scholar 

  74. Y. Hong and T. Payne (1989): Parallel sorting in a ring network of processors. IEEE Trans. Comput. 38, 458–464.

    Google Scholar 

  75. O.H. Ibarra and S.T. Sohn (1990): On mapping systolic algorithms onto the hypercube. IEEE Trans. Parallel Distr. Syst. 1, 238–249.

    Article  Google Scholar 

  76. The Intel Philanthropic Peer-to-Peer program. <www.intel.com/cure>.

    Google Scholar 

  77. C. Kaklamanis and D. Krizanc (1992): Optimal sorting on mesh-connected processor arrays. 4th ACM Symp. on Parallel Algorithms and Architectures, pp. 50–59.

    Google Scholar 

  78. C. Kaklamanis, D. Krizanc, S.B. Rao (1997): New graph decompositions with applications to emulations. Theory of Computing Syst. 30, 39–49.

    MathSciNet  Google Scholar 

  79. R.M. Karp and R.E. Miller (1966): Properties of a model for parallel computations: determinacy, termination, queueing. SIAM J. Appl. Math. 14, 1390–1411.

    Article  MathSciNet  Google Scholar 

  80. R.M. Karp and V. Ramachandran (1990): A survey of parallel algorithms for sharedmemory machines. In Handbook of Theoretical Computer Science, vol. A (J. van Leeuwen, ed.). Elsevier Science, Amsterdam, pp. 869–941.

    Google Scholar 

  81. R.M. Karp, A. Sahay, E. Santos, K.E. Schauser (1993): Optimal broadcast and summation in the logP model. 5th ACM Symp. on Parallel Algorithms and Architectures, pp. 142–153.

    Google Scholar 

  82. B.W. Kernighan and S. Lin (1970): An efficient heuristic procedure for partitioning graphs. Bell Syst. Technol. J. 49, 291–307.

    Google Scholar 

  83. S.J. Kim and J.C. Browne (1988): A general approach to mapping of parallel computations upon multiprocessor architectures. Int. Conf. on Parallel Processing, III:1–8.

    Google Scholar 

  84. R. Koch, F.T. Leighton, B.M. Maggs, S.B. Rao, A.L. Rosenberg, E.J. Schwabe (1997): Work-preserving emulations of fixed-connection networks. J. ACM 44, 104–147.

    Article  MathSciNet  Google Scholar 

  85. E. Korpela, D. Werthimer, D. Anderson, J. Cobb, M. Lebofsky (2000): SETI@home: massively distributed computing for SETI. In Computing in Science and Engineering (P.F. Dubois, ed.). IEEE Computer Soc. Press, Los Alamitos, CA.

    Google Scholar 

  86. H.T. Kung (1985): Systolic arrays. In McGraw-Hill 1985 Yearbook of Science and Technology.

    Google Scholar 

  87. H.T. Kung and C.E. Leiserson (1980): Systolic arrays (for VLSI). In C. Mead and L. Conway, Introduction to VLSI Systems, Chapter 8. Addison-Wesley, Reading, MA.

    Google Scholar 

  88. H.T. Kung and W.T. Lin (1983): An algebra for VLSI algorithm design. Conf. on Elliptic Problem Solvers, Monterey, CA.

    Google Scholar 

  89. H.T. Kung and R.L. Picard (1984): One-dimensional systolic arrays for multidimensional convolution and resampling. In VLSI for Pattern Recognition and Image Processing, Springer-Verlag, Berlin, pp. 9–24.

    Google Scholar 

  90. C. Lam, H. Jiang, V.C. Hamacher (1995): Design and analysis of hierarchical ring networks for shared-memory multiprocessors. Intl. Conf. on Parallel Processing, I:46–50.

    Google Scholar 

  91. H.W. Lang, M. Schimmler, H. Schmeck, H. Schroeder (1985): Systolic sorting on a mesh-connected network. IEEE Trans. Comput., C-34, 652–658.

    Google Scholar 

  92. F.T. Leighton (1985): Tight bounds on the complexity of parallel sorting. IEEE Trans. Comput., C-34, 344–354.

    MathSciNet  Google Scholar 

  93. F.T. Leighton (1992): Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann, San Mateo, CA.

    Google Scholar 

  94. F.T. Leighton, B.M. Maggs, S.B. Rao (1994): Packet routing and jobshop scheduling in O(congestion + dilation) steps. Combinatorica 14, 167–186.

    Article  MathSciNet  Google Scholar 

  95. F.T. Leighton, B.M. Maggs, A.W. Richa (1999): Fast algorithms for finding O(congestion + dilation) packet routing schedules. Combinatorica 19, 375–401.

    Article  MathSciNet  Google Scholar 

  96. F.T. Leighton, M.J. Newman, A.G. Ranade, E.J. Schwabe (1992): Dynamic tree embeddings in butterflies and hypercubes. SIAM J. Comput. 21, 639–654.

    Article  MathSciNet  Google Scholar 

  97. G. Lerman and L. Rudolph (1993): Parallel Evolution of Parallel Processors. Plenum Press, New York.

    Google Scholar 

  98. K. Li and J. Dorband (1999): Asymptotically optimal probabilistic embedding algorithms for supporting tree structured computations in hypercubes. 7th Symp. on Frontiers of Massively Parallel Computation.

    Google Scholar 

  99. R.J. Lipton and R.E. Tarjan (1980): Applications of a planar separator theorem. SIAM J. Comput. 9, 615–627.

    Article  MathSciNet  Google Scholar 

  100. M. Litzkow, M. Livny, M.W. Mutka (1988): Condor — A hunter of idle workstations. 8th Int. Conf. Distr. Computing Syst., pp. 104–111.

    Google Scholar 

  101. B.M. Maggs, F. Meyer auf der Heide, B. Vöcking, M. Westermann (1997): Exploiting locality for data management in systems of limited bandwidth. 38th IEEE Symp. on Foundations of Computer Science, pp. 284–293.

    Google Scholar 

  102. G. Malewicz, A.L. Rosenberg M. Yurkewych (2006): Toward a theory for scheduling dags in Internet-based computing. IEEE Trans. Computers, to appear.

    Google Scholar 

  103. D.W. Matula and L.L. Beck (1983): Smallest-last ordering and clustering and graph coloring algorithms. J. ACM 30, 417–427.

    Article  MathSciNet  Google Scholar 

  104. W.F. McColl and A. Tiskin (1999): Memory-efficient matrix computations in the BSP model. Algorithmica 24, 287–297.

    MathSciNet  Google Scholar 

  105. C. Mead and L. Conway (1980): Introduction to VLSI Systems. Addison-Wesley, Reading, MA.

    Google Scholar 

  106. G.L. Miller, V. Ramachandran, E. Kaltofen (1988): Efficient parallel evaluation of straightline code and arithmetic circuits. SIAM J. Comput. 17, 687–695.

    MathSciNet  Google Scholar 

  107. G.L. Miller and J.H. Reif (1989): Parallel tree contraction, Part 1: fundamentals. In Randomness and Computation, vol. 5 (S. Micali, ed.), JAI Press, Greenwich, CT, 47–72.

    Google Scholar 

  108. G.L. Miller and J.H. Reif (1991): Parallel tree contraction, Part 2: further applications. SIAM J. Comput. 20, 1128–1147.

    Article  MathSciNet  Google Scholar 

  109. W.L. Miranker and A. Winkler (1984): Spacetime representations of computational structures. Computing 32, 93–114.

    Article  MathSciNet  Google Scholar 

  110. M. Mitzenmacher (1998): Analyses of load stealing models based on differential equations. 10th ACM Symp. on Parallel Algorithms and Architectures, pp. 212–221.

    Google Scholar 

  111. M. Mitzenmacher (1999): On the analysis of randomized load balancing schemes. Theory of Computing Syst. 32, 361–386.

    MATH  MathSciNet  Google Scholar 

  112. J.F. Myoupo (1992): Synthesizing linear systolic arrays for dynamic programming problems. Parallel Proc. Lett. 2, 97–110.

    Google Scholar 

  113. I. Niven and H.S. Zuckerman (1980): An Introduction to the Theory of Numbers (4th ed.). J. Wiley & Sons, New York.

    Google Scholar 

  114. B. Obrenić (1994): An approach to emulating separable graphs. Math. Syst. Theory 27, 41–63.

    Google Scholar 

  115. B. Obrenić, M.C. Herbordt, A.L. Rosenberg, C.C. Weems (1999): Using emulations to enhance the performance of parallel architectures. IEEE Trans. Parallel Distr. Syst. 10, 1067–1081.

    Google Scholar 

  116. The Olson Laboratory Fight AIDS@Home project. <www.fightaidsathome.org>.

    Google Scholar 

  117. C.H. Papadimitriou and M. Yannakakis (1990): Towards an architecture-independent analysis of parallel algorithms. SIAM J. Comput. 19, 322–328.

    Article  MathSciNet  Google Scholar 

  118. M.S. Paterson, C.E. Hewitt (1970): Comparative schematology. Project MAC Conf. on Concurrent Systems and Parallel Computation, ACM Press, pp. 119–127.

    Google Scholar 

  119. G.F. Pfister (1995): In Search of Clusters. Prentice-Hall.

    Google Scholar 

  120. P. Quinton (1984): Automatic synthesis of systolic arrays from uniform recurrence equations. 11th IEEE Intl. Symp. on Computer Architecture, pp. 208–214.

    Google Scholar 

  121. P. Quinton (1988): Mapping recurrences on parallel architectures. 3rd Int. Conf. on Supercomputing.

    Google Scholar 

  122. P. Quinton, B. Joinnault, P. Gachet (1986): A new matrix multiplication systolic array. Parallel Algorithms and Architectures (M. Cosnard et al., eds.) North-Holland, Amsterdam, pp. 259–268.

    Google Scholar 

  123. M.O. Rabin (1989): Efficient dispersal of information for security, load balancing, and fault tolerance. J. ACM 36, 335–348.

    Article  MATH  MathSciNet  Google Scholar 

  124. A.G. Ranade (1993): A framework for analyzing locality and portability issues in parallel computing. In Parallel Architectures and Their Efficient Use: The 1st Heinz-Nixdorf Symp., Paderborn, Germany (F. Meyer auf der Heide, B. Monien, A.L. Rosenberg, eds.) Lecture Notes in Computer Science 678, Springer-Verlag, Berlin, pp. 185–194.

    Google Scholar 

  125. J.H. Reif and L.G. Valiant (1987): A logarithmic time sort for linear networks. J. ACM 34, 60–76.

    Article  MathSciNet  Google Scholar 

  126. A.L. Rosenberg (1981): Issues in the study of graph embeddings. In Graph-Theoretic Concepts in Computer Science: Proc. Int. Wkshp. WG80 (H. Noltemeier, ed.) Lecture Notes in Computer Science 100, Springer-Verlag, Berlin, pp. 150–176.

    Google Scholar 

  127. A.L. Rosenberg (1994): Needed: a theoretical basis for heterogeneous parallel computing. In Developing a Computer Science Agenda for High-Performance Computing (U. Vishkin, ed.) ACM Press, New York, pp. 137–142.

    Google Scholar 

  128. A.L. Rosenberg (1999): Guidelines for data-parallel cycle-stealing in networks of workstations, I: on maximizing expected output. J. Parallel Distr. Comput. 59, 31–53.

    Google Scholar 

  129. A.L. Rosenberg (2000): Guidelines for data-parallel cycle-stealing in networks of workstations, II: on maximizing guaranteed output. Int. J. Foundations Comput. Sci. 11, 183–204.

    Google Scholar 

  130. A.L. Rosenberg (2001): On sharing bags of tasks in heterogeneous networks of workstations: greedier is not better. 3rd IEEE Int. Conf. on Cluster Computing (Cluster’01), pp. 124–131.

    Google Scholar 

  131. A.L. Rosenberg (2002): Optimal schedules for cycle-stealing in a network of workstations with a bag-of-tasks workload. IEEE Trans. Parallel Distr. Syst. 13, 179–191.

    Article  Google Scholar 

  132. A.L. Rosenberg (2003): Accountable Web-computing. IEEE Trans. Parallel Distr. Syst. 14, 97–106.

    Article  Google Scholar 

  133. A.L. Rosenberg (2004): On scheduling mesh-structured computations on the Internet. IEEE Trans. Comput. 53, 1176–1186.

    Article  Google Scholar 

  134. A.L. Rosenberg and L.S. Heath (2001): Graph Separators, with Applications. Kluwer Academic/Plenum Publishers, New York.

    Google Scholar 

  135. A.L. Rosenberg and I.H. Sudborough (1983): Bandwidth and pebbling. Computing 31, 115–139.

    Article  MathSciNet  Google Scholar 

  136. A.L. Rosenberg and M. Yurkewych (2005): Guidelines for scheduling some common computation-dags for Internet-based computing. IEEE Trans. Comput. 54, 428–438.

    Article  Google Scholar 

  137. The RSA Factoring by Web Project. <http://www.npac.syr.edu/factoring> (with Foreword by A. Lenstra). Northeast Parallel Architecture Center.

    Google Scholar 

  138. L. Rudolph, M. Slivkin, E. Upfal (1991): A simple load balancing scheme for task allocation in parallel machines. 3rd ACM Symp. on Parallel Algorithms and Architectures, pp. 237–244.

    Google Scholar 

  139. V. Sarkar (1989): Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, Cambridge, MA.

    Google Scholar 

  140. V. Sarkar and J. Hennessy (1986): Compile-time partitioning and scheduling of parallel programs. SIGPLAN Notices 21(7) 17–26.

    Google Scholar 

  141. C.P. Schnorr and A. Shamir (1986): An optimal sorting algorithm for mesh connected computers. 18th ACM Symp. on Theory of Computing, pp. 255–263.

    Google Scholar 

  142. E.J. Schwabe (1992): Embedding meshes of trees into de Bruijn graphs. Inform. Proc. Lett. 43, 237–240.

    Article  MATH  MathSciNet  Google Scholar 

  143. L. Snyder (1985): An inquiry into the benefits of multigauge parallel computation. Intl. Conf. on Parallel Processing, pp. 488–492.

    Google Scholar 

  144. D. Szada, B. Lawson, J. Owen (2003): Hardening functions for large-scale distributed computing. IEEE Security and Privacy Conf.

    Google Scholar 

  145. M.M. Theimer and K.A. Lantz (1989): Finding idle machines in a workstation-based distributed environment. IEEE Trans. Software Eng. 15, 1444–1458.

    Article  Google Scholar 

  146. C.D. Thompson (1979): Area-time complexity for VLSI. 11th ACM Symp. on Theory of Computing, pp. 81–88.

    Google Scholar 

  147. C.D. Thompson (1980): A Complexity Theory for VLSI. Ph.D. Thesis, CMU.

    Google Scholar 

  148. C.D. Thompson and H.T. Kung (1977): Sorting on a mesh-connected parallel computer. C. ACM 20.

    Google Scholar 

  149. J.D. Ullman (1984): Computational Aspects of VLSI. Computer Science Press, Rockville, MD.

    Google Scholar 

  150. L.G. Valiant (1983): Optimality of a two-phase strategy for routing in interconnection networks. IEEE Trans. Comput., C-32, 861–863.

    Google Scholar 

  151. L.G. Valiant (1989): Bulk-synchronous parallel computers. In Parallel Processing and Artificial Intelligence (M. Reeve and S.E. Zenith, eds.) J. Wiley and Sons, New York, pp. 15–22.

    Google Scholar 

  152. L.G. Valiant (1990): General purpose parallel architectures. In Handbook of Theoretical Computer Science (J. van Leeuwen, ed.). Elsevier Science, Amsterdam, pp. 943–972.

    Google Scholar 

  153. L.G. Valiant (1990): A bridging model for parallel computation. C. ACM 33, 103–111.

    Google Scholar 

  154. L.G. Valiant and G.J. Brebner (1981): Universal schemes for parallel computation. 13th ACM Symp. on Theory of Computing, pp. 263–277.

    Google Scholar 

  155. P.M.B. Vitanyi (1986): Nonsequential computation and laws of nature. VLSI Algorithms and Architectures (Aegean Wkshp. on Computing), Lecture Notes in Computer Science 227, Springer-Verlag, Berlin, pp. 108–120.

    Google Scholar 

  156. P.M.B. Vitanyi (1988): Locality, communication and interconnect length in multicomputers. SIAM J. Comput. 17, 659–672.

    MATH  MathSciNet  Google Scholar 

  157. P.M.B. Vitanyi (1988): A modest proposal for communication costs in multicomputers. In Concurrent Computations: Algorithms, Architecture, and Technology (S.K. Tewksbury, B.W. Dickinson, S.C. Schwartz, eds.). Plenum Press, New York, pp. 203–216.

    Google Scholar 

  158. A.S. Wagner (1989): Embedding arbitrary binary trees in a hypercube. J. Parallel Distr. Comput. 7, 503–520.

    Google Scholar 

  159. C. Weth, U. Kraus, J. Freuer, M. Ruder, R. Dannecker, P. Schneider, M. Konold, H. Ruder (2000): XPulsar@home-schools help scientists. Typescript, University of Tübingen.

    Google Scholar 

  160. S.W. White and D.C. Torney (1993): Use of a workstation cluster for the physical mapping of chromosomes. SIAM NEWS, March, 1993, pp. 14–17.

    Google Scholar 

  161. A.Y. Wu (1985): Embedding of tree networks into hypercubes. J. Parallel Distr. Comput. 2, 238–249.

    Google Scholar 

  162. T. Yang and A. Gerasoulis (1992): PYRROS: static task scheduling and code generation for message passing multiprocessors. 6th ACM Conf. on Supercomputing, pp. 428–437.

    Google Scholar 

  163. Y. Yang and H. Casanova (2003): UMR: A multi-round algorithm for scheduling divisible workloads. 17th Int. Parallel and Distributed Processing Symp. (IPDPS’03).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer Science+Business Media, Inc.

About this chapter

Cite this chapter

Rosenberg, A.L. (2006). Changing Challenges for Collaborative Algorithmics. In: Zomaya, A.Y. (eds) Handbook of Nature-Inspired and Innovative Computing. Springer, Boston, MA. https://doi.org/10.1007/0-387-27705-6_1

Download citation

  • DOI: https://doi.org/10.1007/0-387-27705-6_1

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-387-40532-2

  • Online ISBN: 978-0-387-27705-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics