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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
U. Acar, G.E. Blelloch, R.D. Blumofe (2002): The data locality of work stealing. Theory of Computing Systs. 35, 321–347.
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.
J. Agrawal and H.V. Jagadish (1988): Partitioning techniques for large-grained parallelism. IEEE Trans. Computers 37, 1627–1634.
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.
S. Akl (1989): The Design and Analysis of Parallel Algorithms. Prentice-Hall, Englewood Cliffs, NJ.
R. Aleliunas and A.L. Rosenberg (1982): On embedding rectangular grids in square grids. IEEE Trans. Comput., C-31, 907–913.
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.
R.J. Anderson and G.L. Miller (1990): A simple randomized parallel algorithm for list-ranking. Inform. Proc. Lett. 10.
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.
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.
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.
F.S. Annexstein (1994): Embedding hypercubes and related networks into mesh-connected processor arrays. J. Parallel Distr. Comput. 23, 72–79.
F.S. Annexstein, M. Baumslag, A.L. Rosenberg (1990): Group action graphs and parallel architectures. SIAM J. Comput. 19, 544–569.
N.S. Arora, R.D. Blumofe, C.G. Plaxton (2001): Thread scheduling for multiprogrammed multiprocessors. Theory of Computing Syst. 34, 115–144.
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.
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.
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.
A. Bar-Noy and D. Peleg (1991): Square meshes are not always optimal. IEEE Trans. Comput. 40, 196–204.
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).
O. Beaumont, A. Legrand, Y. Robert (2003): The master-slave paradigm with heterogeneous processors. IEEE Trans. Parallel Distr. Syst. 14, 897–908.
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.
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.
V. Bharadwaj, D. Ghose, V. Mani (1995): Multi-installment load distribution in tree networks with delays. IEEE Trans. Aerospace Electron. Syst. 31, 555–567.
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.
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.
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.
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.
S.N. Bhatt and F.T. Leighton (1984): A framework for solving VLSI graph layout problems. J. Comput. Syst. Sci. 28, 300–343.
G. Bilardi, K.T. Herley, A. Pietracaprina, G. Pucci, P. Spirakis (1999): Algorithmica 24, 405–422.
G. Bilardi and A. Nicolau (1989): Adaptive bitonic sorting: An optimal algorithm for shared memory machines. SIAM J. Comput. 18, 216–228.
G. Bilardi and F.P. Preparata (1995): Horizons of parallel computation. J. Parallel Distr. Comput. 27, 172–182.
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).
R.D. Blumofe and C.E. Leiserson (1998): Space-efficient scheduling of multithreaded computations. SIAM J. Comput. 27, 202–229.
R.D. Blumofe and C.E. Leiserson (1999): Scheduling multithreaded computations by work stealing. J. ACM 46, 720–748.
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.
B. Boothe and A.G. Ranade (1992): Improved multithreading techniques for hiding communication latency in multiprocessors. 19th Int. Symp. on Computer Architecture.
R.P. Brent (1974): The parallel evaluation of general arithmetic expressions. J. ACM 21, 201–206.
R.P. Brent and H.T. Kung (1984): Systolic VLSI arrays for polynomial gcd computation. IEEE Trans. Comp., C-33, 731–737.
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.
T.N. Bui, S. Chaudhuri, F.T. Leighton, M. Sipser (1987): Graph bisection algorithms with good average case behavior. Combinatorica 7, 171–191.
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.
Y.C. Cheng and T.G. Robertazzi (1990): Distributed computation for tree networks with communication delays. IEEE Trans. Aerospace Electron. Syst. 26, 511–516.
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.
W. Cirne and K. Marzullo (1999): The Computational Co-op: gathering clusters into a metacomputer. 13th Int. Parallel Processing Symp., pp. 160–166.
M. Cole (1989): Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge, Mass.
R. Cole and U. Vishkin (1986): Deterministic coin tossing with applications to optimal parallel list ranking. Inform. Contr. 70, 32–53.
S.A. Cook (1974): An observation on time-storage tradeoff. J. Comp. Syst. Sci. 9, 308–316.
T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein (1999): Introduction to Algorithms (2nd edition). MIT Press, Cambridge, Mass.
M. Cosnard and M. Tchuente (1988): Designing systolic algorithms by top-down analysis. 3rd Int. Conf. on Supercomputing.
M. Cosnard and D. Trystram (1995): Parallel Algorithms and Architectures. International Thompson Computer Press.
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.
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.
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.
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.
K. Diks, H.N. Djidjev, O. Sykora, I. Vrto (1993): Edge separators of planar and outerplanar graphs with applications. J. Algorithms 14, 258–279.
X. Du and X. Zhang (1997): Coordinating parallel processes on networks of workstations. J. Parallel Distr. Comput. 46, 125–135.
K. Efe (1991): Embedding mesh of trees into the hypercube. J. Parallel Distr. Comput. 11, 222–230.
R. Elsässer, B. Monien, R. Preis (2002): Diffusion schemes for load balancing on heterogeneous networks. Theory of Computing Syst. 35, 305–320.
P. Fatourou and P. Spirakis (2000): Efficient scheduling of strict multithreaded computations. Theory of Computing Syst. 33, 173–232.
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.
S. Fortune and J. Wyllie (1978): Parallelism in random access machines. 10th ACM Symp. on Theory of Computing, pp. 114–118.
I. Foster and C. Kesselman (eds.) (1999): The Grid: Blueprint for a New Computing Infrastructure. Morgan-Kaufmann.
I. Foster, C. Kesselman, S. Tuecke (2001): The anatomy of the Grid: enabling scalable virtual organizations. Intl. J. Supercomput. Appl.
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.
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.
V. Garg and D.E. Schimmel (1998): Hiding communication latency in data parallel applications. 12th IEEE Int. Parallel Processing Symp., pp. 18–25.
A. Gerasoulis, S. Venugopal, T. Yang (1990): Clustering task graphs for message passing architectures. ACM Int. Conf. on Supercomputing, pp. 447–456.
A. Gerasoulis and T. Yang (1992): A comparison of clustering heuristics for scheduling dags on multiprocessors. J. Parallel Distr. Comput. 16, 276–291.
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.
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.
V.C. Hamacher and H. Jiang (1994): Comparison of mesh and hierarchical networks for multiprocessors. Intl. Conf. on Parallel Processing, I:67–71.
C.-T. Ho and S.L. Johnsson (1986): Graph embeddings for maximum bandwidth utilization in hypercubes. Intl. Conf. Vector and Parallel Computing.
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.
Y. Hong and T. Payne (1989): Parallel sorting in a ring network of processors. IEEE Trans. Comput. 38, 458–464.
O.H. Ibarra and S.T. Sohn (1990): On mapping systolic algorithms onto the hypercube. IEEE Trans. Parallel Distr. Syst. 1, 238–249.
The Intel Philanthropic Peer-to-Peer program. <www.intel.com/cure>.
C. Kaklamanis and D. Krizanc (1992): Optimal sorting on mesh-connected processor arrays. 4th ACM Symp. on Parallel Algorithms and Architectures, pp. 50–59.
C. Kaklamanis, D. Krizanc, S.B. Rao (1997): New graph decompositions with applications to emulations. Theory of Computing Syst. 30, 39–49.
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.
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.
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.
B.W. Kernighan and S. Lin (1970): An efficient heuristic procedure for partitioning graphs. Bell Syst. Technol. J. 49, 291–307.
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.
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.
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.
H.T. Kung (1985): Systolic arrays. In McGraw-Hill 1985 Yearbook of Science and Technology.
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.
H.T. Kung and W.T. Lin (1983): An algebra for VLSI algorithm design. Conf. on Elliptic Problem Solvers, Monterey, CA.
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.
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.
H.W. Lang, M. Schimmler, H. Schmeck, H. Schroeder (1985): Systolic sorting on a mesh-connected network. IEEE Trans. Comput., C-34, 652–658.
F.T. Leighton (1985): Tight bounds on the complexity of parallel sorting. IEEE Trans. Comput., C-34, 344–354.
F.T. Leighton (1992): Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann, San Mateo, CA.
F.T. Leighton, B.M. Maggs, S.B. Rao (1994): Packet routing and jobshop scheduling in O(congestion + dilation) steps. Combinatorica 14, 167–186.
F.T. Leighton, B.M. Maggs, A.W. Richa (1999): Fast algorithms for finding O(congestion + dilation) packet routing schedules. Combinatorica 19, 375–401.
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.
G. Lerman and L. Rudolph (1993): Parallel Evolution of Parallel Processors. Plenum Press, New York.
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.
R.J. Lipton and R.E. Tarjan (1980): Applications of a planar separator theorem. SIAM J. Comput. 9, 615–627.
M. Litzkow, M. Livny, M.W. Mutka (1988): Condor — A hunter of idle workstations. 8th Int. Conf. Distr. Computing Syst., pp. 104–111.
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.
G. Malewicz, A.L. Rosenberg M. Yurkewych (2006): Toward a theory for scheduling dags in Internet-based computing. IEEE Trans. Computers, to appear.
D.W. Matula and L.L. Beck (1983): Smallest-last ordering and clustering and graph coloring algorithms. J. ACM 30, 417–427.
W.F. McColl and A. Tiskin (1999): Memory-efficient matrix computations in the BSP model. Algorithmica 24, 287–297.
C. Mead and L. Conway (1980): Introduction to VLSI Systems. Addison-Wesley, Reading, MA.
G.L. Miller, V. Ramachandran, E. Kaltofen (1988): Efficient parallel evaluation of straightline code and arithmetic circuits. SIAM J. Comput. 17, 687–695.
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.
G.L. Miller and J.H. Reif (1991): Parallel tree contraction, Part 2: further applications. SIAM J. Comput. 20, 1128–1147.
W.L. Miranker and A. Winkler (1984): Spacetime representations of computational structures. Computing 32, 93–114.
M. Mitzenmacher (1998): Analyses of load stealing models based on differential equations. 10th ACM Symp. on Parallel Algorithms and Architectures, pp. 212–221.
M. Mitzenmacher (1999): On the analysis of randomized load balancing schemes. Theory of Computing Syst. 32, 361–386.
J.F. Myoupo (1992): Synthesizing linear systolic arrays for dynamic programming problems. Parallel Proc. Lett. 2, 97–110.
I. Niven and H.S. Zuckerman (1980): An Introduction to the Theory of Numbers (4th ed.). J. Wiley & Sons, New York.
B. Obrenić (1994): An approach to emulating separable graphs. Math. Syst. Theory 27, 41–63.
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.
The Olson Laboratory Fight AIDS@Home project. <www.fightaidsathome.org>.
C.H. Papadimitriou and M. Yannakakis (1990): Towards an architecture-independent analysis of parallel algorithms. SIAM J. Comput. 19, 322–328.
M.S. Paterson, C.E. Hewitt (1970): Comparative schematology. Project MAC Conf. on Concurrent Systems and Parallel Computation, ACM Press, pp. 119–127.
G.F. Pfister (1995): In Search of Clusters. Prentice-Hall.
P. Quinton (1984): Automatic synthesis of systolic arrays from uniform recurrence equations. 11th IEEE Intl. Symp. on Computer Architecture, pp. 208–214.
P. Quinton (1988): Mapping recurrences on parallel architectures. 3rd Int. Conf. on Supercomputing.
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.
M.O. Rabin (1989): Efficient dispersal of information for security, load balancing, and fault tolerance. J. ACM 36, 335–348.
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.
J.H. Reif and L.G. Valiant (1987): A logarithmic time sort for linear networks. J. ACM 34, 60–76.
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.
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.
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.
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.
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.
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.
A.L. Rosenberg (2003): Accountable Web-computing. IEEE Trans. Parallel Distr. Syst. 14, 97–106.
A.L. Rosenberg (2004): On scheduling mesh-structured computations on the Internet. IEEE Trans. Comput. 53, 1176–1186.
A.L. Rosenberg and L.S. Heath (2001): Graph Separators, with Applications. Kluwer Academic/Plenum Publishers, New York.
A.L. Rosenberg and I.H. Sudborough (1983): Bandwidth and pebbling. Computing 31, 115–139.
A.L. Rosenberg and M. Yurkewych (2005): Guidelines for scheduling some common computation-dags for Internet-based computing. IEEE Trans. Comput. 54, 428–438.
The RSA Factoring by Web Project. <http://www.npac.syr.edu/factoring> (with Foreword by A. Lenstra). Northeast Parallel Architecture Center.
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.
V. Sarkar (1989): Partitioning and Scheduling Parallel Programs for Multiprocessors. MIT Press, Cambridge, MA.
V. Sarkar and J. Hennessy (1986): Compile-time partitioning and scheduling of parallel programs. SIGPLAN Notices 21(7) 17–26.
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.
E.J. Schwabe (1992): Embedding meshes of trees into de Bruijn graphs. Inform. Proc. Lett. 43, 237–240.
L. Snyder (1985): An inquiry into the benefits of multigauge parallel computation. Intl. Conf. on Parallel Processing, pp. 488–492.
D. Szada, B. Lawson, J. Owen (2003): Hardening functions for large-scale distributed computing. IEEE Security and Privacy Conf.
M.M. Theimer and K.A. Lantz (1989): Finding idle machines in a workstation-based distributed environment. IEEE Trans. Software Eng. 15, 1444–1458.
C.D. Thompson (1979): Area-time complexity for VLSI. 11th ACM Symp. on Theory of Computing, pp. 81–88.
C.D. Thompson (1980): A Complexity Theory for VLSI. Ph.D. Thesis, CMU.
C.D. Thompson and H.T. Kung (1977): Sorting on a mesh-connected parallel computer. C. ACM 20.
J.D. Ullman (1984): Computational Aspects of VLSI. Computer Science Press, Rockville, MD.
L.G. Valiant (1983): Optimality of a two-phase strategy for routing in interconnection networks. IEEE Trans. Comput., C-32, 861–863.
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.
L.G. Valiant (1990): General purpose parallel architectures. In Handbook of Theoretical Computer Science (J. van Leeuwen, ed.). Elsevier Science, Amsterdam, pp. 943–972.
L.G. Valiant (1990): A bridging model for parallel computation. C. ACM 33, 103–111.
L.G. Valiant and G.J. Brebner (1981): Universal schemes for parallel computation. 13th ACM Symp. on Theory of Computing, pp. 263–277.
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.
P.M.B. Vitanyi (1988): Locality, communication and interconnect length in multicomputers. SIAM J. Comput. 17, 659–672.
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.
A.S. Wagner (1989): Embedding arbitrary binary trees in a hypercube. J. Parallel Distr. Comput. 7, 503–520.
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.
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.
A.Y. Wu (1985): Embedding of tree networks into hypercubes. J. Parallel Distr. Comput. 2, 238–249.
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.
Y. Yang and H. Casanova (2003): UMR: A multi-round algorithm for scheduling divisible workloads. 17th Int. Parallel and Distributed Processing Symp. (IPDPS’03).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)