Load Sharing in Distributed Multimedia-on-Demand Systems

Service providers have begun to offer multimedia-on-demand services to residential estates by installing isolated, small-scale multimedia servers at individual estates. Such an arrangement allows the service providers to operate without relying on a highspeed, large-capacity metropolitan area network, which is still not available in many countries. Unfortunately, installing isolated servers can incur very high server costs, as each server requires spare bandwidth to cope with fluctuations in user demand. The authors explore the feasibility of linking up several small multimedia servers to a (limited-capacity) network, and allowing servers with idle retrieval bandwidth to help out servers that are temporarily overloaded; the goal is to minimize the waiting time for service to begin. We identify four characteristics of load sharing in a distributed multimedia system that differentiate it from load balancing in a conventional distributed system. We then introduce a GWQ load sharing algorithm that fits and exploits these characteristics; it puts all servers' pending requests in a global queue, from which a server with idle capacity obtains additional jobs. The performance of the algorithm is captured by an analytical model, which we validate through simulations. Both the analytical and simulation models show that the algorithm vastly reduces wait times at the servers. The analytical model also provides guidelines for capacity planning. Finally, we propose an enhanced GWQ+L algorithm that allows a server to reclaim active local requests that are being serviced remotely. Simulation experiments indicate that the scheduling decisions of GWQ+L are optimal, i.e., it enables the distributed servers to approximate the performance of a large centralized server.

[1]  Thomas D. C. Little,et al.  Probabilistic Assignment of Movies to Storage Devices in a Video-On-Demand System , 1993, NOSSDAV.

[2]  Derek McAuley,et al.  Pegasus—operating system support for distributed multimedia systems , 1993, OPSR.

[3]  Douglas M. Blough,et al.  A New and Improved Algorithm for Fault-Tolerant Clock Synchronization , 1995, J. Parallel Distributed Comput..

[4]  H.M. Vin,et al.  Designing an on-demand multimedia service , 1992, IEEE Communications Magazine.

[5]  Yung-Terng Wang,et al.  Load Sharing in Distributed Systems , 1985, IEEE Transactions on Computers.

[6]  Edward D. Lazowska,et al.  Quantitative System Performance , 1985, Int. CMG Conference.

[7]  Kai Hwang,et al.  A Unix-Based Local Computer Network with Load Balancing , 1982, Computer.

[8]  Cosmos Andrea Nicolaou,et al.  An Architecture for Real-Time Multimedia Communication Systems , 1990, IEEE J. Sel. Areas Commun..

[9]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[10]  John A. Stankovic,et al.  An Adaptive Bidding Algorithm For Processes, Clusters and Distributed Groups , 1984, ICDCS.

[11]  Kang G. Shin,et al.  Allocation of Periodic Task Modules with Precedence and Deadline Constraints , 1997, IEEE Trans. Computers.

[12]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[13]  Florian Matthes,et al.  System Construction in the Tycoon Environment: Architectures, Interfaces and Gateways , 1993 .

[14]  Virgílio A. F. Almeida,et al.  Capacity Planning and Performance Modeling: From Mainframes to Client-Server Systems , 1994 .

[15]  Arif Ghafoor,et al.  Synchronization and Storage Models for Multimedia Objects , 1990, IEEE J. Sel. Areas Commun..

[16]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

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

[18]  Raphael A. Finkel,et al.  Designing a process migration facility: the Charlotte experience , 1989, Computer.

[19]  Sau-Ming Lau,et al.  An adaptive load balancing algorithm for heterogeneous distributed systems with multiple task classes , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[20]  John K. Ousterhout,et al.  Medusa: An experiment in distributed operating system structure (Summary) , 1979, SOSP '79.

[21]  Raphael A. Finkel,et al.  A Stable Distributed Scheduling Algorithm , 1981, IEEE International Conference on Distributed Computing Systems.

[22]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[23]  Weiping Zhu,et al.  Implementation of process migration in Amoeba , 1994, 14th International Conference on Distributed Computing Systems.

[24]  HweeHwa Pang,et al.  Resource Scheduling In A High-Performance Multimedia Server , 1999, IEEE Trans. Knowl. Data Eng..

[25]  John Zahorjan,et al.  Balanced job bound analysis of queueing networks , 1982, CACM.

[26]  Harold S. Stone,et al.  Critical Load Factors in Two-Processor Distributed Systems , 1978, IEEE Transactions on Software Engineering.

[27]  Kang G. Shin,et al.  A Coordinated Location Policy for Load Sharing in Hypercube-Connected Multicomputers , 1995, IEEE Trans. Computers.

[28]  Riccardo Gusella,et al.  The Accuracy of the Clock Synchronization Achieved by TEMPO in Berkeley UNIX 4.3BSD , 1987, IEEE Trans. Software Eng..

[29]  Leslie Lamport Concurrent reading and writing of clocks , 1990, TOCS.

[30]  Philip S. Yu,et al.  DASD dancing: a disk load balancing optimization scheme for video-on-demand computer systems , 1995, SIGMETRICS '95/PERFORMANCE '95.

[31]  Jacob A. Abraham,et al.  Load Balancing in Distributed Systems , 1982, IEEE Transactions on Software Engineering.

[32]  David P. Dobkin,et al.  Distributed allocation with pools of servers , 1982, PODC '82.

[33]  P. Venkat Rangan,et al.  Communication architectures and algorithms for media mixing in multimedia conferences , 1993, TNET.

[34]  P. Venkat Rangan,et al.  Adaptive feedback techniques for synchronized multimedia retrieval over integrated networks , 1993, TNET.

[35]  Wesley W. Chu,et al.  Task Allocation in Distributed Data Processing , 1980, Computer.

[36]  Babak Hamidzadeh,et al.  Dynamic scheduling strategies for shared-memory multiprocessors , 1996, Proceedings of 16th International Conference on Distributed Computing Systems.

[37]  Averill M. Law Statistical Analysis of Simulation Output Data , 1980 .

[38]  Shyamal K. Chowdhury The Greedy Load Sharing Algorithm , 1990, J. Parallel Distributed Comput..

[39]  Kishor S. Trivedi Probability and Statistics with Reliability, Queuing, and Computer Science Applications , 1984 .

[40]  Robert G. Sargent,et al.  Statistical analysis of simulation output data , 1976, SIML.

[41]  Krithi Ramamritham,et al.  Distributed Scheduling of Tasks with Deadlines and Resource Requirements , 1989, IEEE Trans. Computers.

[42]  Flaviu Cristian,et al.  Fault-tolerant external clock synchronization , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[43]  Mukesh Singhal,et al.  Load distributing for locally distributed systems , 1992, Computer.

[44]  Parameswaran Ramanathan,et al.  Fault-tolerant clock synchronization in distributed systems , 1990, Computer.

[45]  Thomas L. Casavant,et al.  A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems , 1988, IEEE Trans. Software Eng..

[46]  Ralf Steinmetz,et al.  Synchronization Properties in Multimedia Systems , 1990, IEEE J. Sel. Areas Commun..