Providing high performance distributed computing through scalable computation servers

Distributed applications spanning multiple nodes should he capable of providing fast response. Computation servers equipped with powerful processors and large memories can improve performance by better utilising system resources such as offloading overloaded nodes. A computation service may comprise all the nodes of the system (in case all are equipped with the required resources) or a small subset such as provided by a pool of computation servers (as in Amoeba). In both cases there can be a large number of service providers (compute servers). A server selection service is required to choose the most suitable server to provide the service. This paper is concerned with the design of adaptive computation server selection with scale recognised as a primary design and implementation factor. Adaptive system partitioning into domains is advocated as a key design principle for scalability. The model is demonstrated with compute-server selection using adaptive partitioning compared to the same service using random selection and probing.<<ETX>>

[1]  Mahadev Satyanarayanan,et al.  The Influence of Scale on Distributed File System Design , 1992, IEEE Trans. Software Eng..

[2]  A. Wolisz,et al.  Service provider selection in an open services environment , 1990, [1990] Proceedings. Second IEEE Workshop on Future Trends of Distributed Computing Systems.

[3]  Arif Ghafoor,et al.  Semi-Distributed Load Balancing For Massively Parallel Multicomputer Systems , 1991, IEEE Trans. Software Eng..

[4]  Amnon Barak,et al.  Design Principles of Operating Systems for Large Scale Multicomputers , 1987, Experiences with Distributed Systems.

[5]  Thomas J. LeBlanc,et al.  HPC: A model of structure and change in distributed systems , 1985, IEEE Transactions on Computers.

[6]  S. Zhou,et al.  A Trace-Driven Simulation Study of Dynamic Load Balancing , 1987, IEEE Trans. Software Eng..

[7]  Jeff Magee,et al.  Scalable, adaptive load sharing for distributed systems , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[8]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[9]  Jeff Kramer,et al.  Methodical Analysis of Adaptive Load Sharing Algorithms , 1992, IEEE Trans. Parallel Distributed Syst..

[10]  Jeff Kramer Configuration programming-a framework for the development of distributable systems , 1990, COMPEURO'90: Proceedings of the 1990 IEEE International Conference on Computer Systems and Software Engineering@m_Systems Engineering Aspects of Complex Computerized Systems.

[11]  Yechiam Yemini,et al.  NEST: a network simulation and prototyping testbed , 1990, CACM.

[12]  Morris Sloman,et al.  Constructing Distributed Systems in Conic , 1989, IEEE Trans. Software Eng..

[13]  Anant Agarwal,et al.  Scalability of parallel machines , 1991, CACM.

[14]  Robbert van Renesse,et al.  Amoeba A Distributed Operating System for the 1990 s Sape , 1990 .

[15]  Kevin P. Twidle,et al.  Constructing distributed Unix utilities in Regis , 1994, Proceedings of 2nd International Workshop on Configurable Distributed Systems.

[16]  Michael Stumm,et al.  Designing a Scalable Operating System for Shared Memory Multiprocessors , 1992, USENIX Workshop on Microkernels and Other Kernel Architectures.

[17]  Mahadev Satyanarayanan,et al.  Scale and performance in a distributed file system , 1988, TOCS.

[18]  Douglas B. Terry Caching Hints in Distributed Systems , 1987, IEEE Transactions on Software Engineering.

[19]  Roger M. Needham,et al.  Experience with Grapevine: the growth of a distributed system , 1984, TOCS.