This Article 
 Bibliographic References 
 Add to: 
Load Sharing in Distributed Multimedia-on-Demand Systems
May/June 2000 (vol. 12 no. 3)
pp. 410-428

Abstract—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 high-speed, large-capacity metropolitan area network, which is still not available in many countries. Unfortunately, installing isolated servers could incur very high server costs, as each server requires spare bandwidth to cope with fluctuations in user demand. In this paper, we 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, in the sense that it enables the distributed servers to approximate the performance of a large centralized server.

[1] G.R. Andrews, D.P. Bobkin, and P.J. Downey, “Distributed Allocation with Pools of Servers,” Proc. ACM SIGACT-SIGOPS Symp. Principles of Distributed Computing, Aug. 1982.
[2] Y. Artsy and R. Finkel, “Designing a Process Migration Facility: The Charlotte Experience,” Computer, vol 22, no. 9, Sep. 1989.
[3] R.M. Bryant and R.A. Finkel, “A Stable Distributed Scheduling Algorithm,” Proc. Second Int'l Conf. Distributed Computing Systems, Apr. 1981.
[4] T.L. Casavant and J.G. Kuhl, “Design of a Lossely-Coupled Distributed Multiprocessing Network,” Proc. Int'l Conf. Parallel Processing, Aug. 1984.
[5] T.L. Casavant and J.G. Kuhl,“A taxonomy of scheduling in general-purpose distributed computing systems,” IEEE Trans. on Software Engineering, vol. 14, no. 2. Feb. 1988.
[6] T.C.K. Chou and J.A. Abraham, “Load Balancing in Distributed Systems,” Trans. Software Eng., vol. 8, no. 4, July 1982.
[7] S. Chowdhury, “The Greedy Load Sharing Algorithm,” J. Parallel and Distributed Computing, vol 9, no. 1, May 1990.
[8] W.W. Chu et al., “Task Allocation in Distributed Data Processing,” Computer, vol. 13, no. 11, Nov. 1980.
[9] F. Cristian and C. Fetzer, “Fault-Tolerant External Clock Synchronization,” Proc. 15th Int'l Conf. Distributed Computing Systems, May 1995.
[10] K.W. Doty, P.L. McEntire, and J.G. O'Reilly, “Task Allocation in a Distributed Computer System,” Proc. InfoCom, 1982.
[11] R. Gusella and S. Zatti, “The Accuracy of the Clock Synchronization Achieved by TEMPO in Berkeley UNIX 4. 3BSD,” Trans. Software Eng., vol. 15, no. 7, July 1989.
[12] B. Hamidzedeh and D.J. Lilja, “Dynamic Scheduling Strategies for Shared-Memory Multiprocessors,” Proc. 16th Int'l Conf. Distributed Computing Systems, May 1996.
[13] G.J. Holzmann, Design and Validation of Computer Protocols, Prentice Hall, 1991.
[14] C.J. Hou and K.G. Shin, “Allocation of Periodic Task Modules with Precedence and Deadline Constraints in Distributed Real-Time Systems,” Trans. Computers, vol. 46, no. 12, Dec. 1997.
[15] K. Hwang, W.J. Croft, G.H. Goble, B.W. Wah, F.A. Briggs, W.R. Simmons, and C.L. Coates, “A Unix-Based Local Computer Network with Load Balancing,” Computer, vol. 15, no. 4, Apr. 1982.
[16] P.W. Jardetzky, C.J. Sreenan, and R.M. Needham, “Storage and Synchronization for Distributed Continuous Media,” Proc. ACM Multimedia Systems J., vol. 3, no. 4, Sep. 1995.
[17] D. Kappholz and H.C. Park, “Parallelized Process Scheduling for a Tightly-Coupled MIMD Machine,” Proc. Int'l Conf. Parallel Processing, Aug. 1984.
[18] L. Kleinrock, Queuing Systems, Vol. I: Theory, Wiley-Interscience, 1975.
[19] L. Lamport, "Time, clocks and the ordering of events in a distributed system," Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[20] R. Abbott and H. Garcia-Molina, "Scheduling I/O Requests with Deadlines: A Performance Evaluation," Proc. IEEE Real-Time Systems Symp., pp. 113-124, 1990.
[21] E.D. Lazowska, J. Zahorjan, G.S. Graham, and K.C. Sevcik, Quantitative System Performance, Prentice Hall, pp 64-66, 1984.
[22] I.M. Leslie, D. McAuley, and S.J. Mullender, “Pegasus—Operating System Support for Distributed Multimedia Systems,” Proc. ACM Operating Systems Review, vol. 27, no. 1, Jan. 1993.
[23] C.C. Lin, J. Xiang, and S.K. Chang, “Transformation and Exchange of Multimedia Objects in Distributed Multimedia Systems,” Proc. ACM Multimedia Systems J., vol. 4, no. 1, Feb. 1996.
[24] T. Little and A. Ghafoor, "Synchronization and Storage for Multimedia Objects," IEEE J. Selected Areas in Comm., vol. 8, no. 3, pp. 413-427, Apr. 1990.
[25] T.D.C. Little and D. Venkatesh, “Popularity-Based Assignment of Movies to Storage Devices in a Video-on-Demand System,” Proc. Fourth Int'l Workshop Network and Operating System Support for Digital Audio and Video, Nov. 1993.
[26] M. Litzkow, M. Livny, and M.W. Mutka, “Condor—A Hunter of Idle Workstations,” Proc. Eighth Int'l Conf. Distributed Computing Systems, Jun. 1988.
[27] C. Lu and S.M. Lau, “An Adaptive Load Balancing Algorithm for Heterogeneous Distributed Systems with Multiple Task Classes,” Proc. 16th Int'l Conf. Distributed Computing Systems, May 1996.
[28] F. Matthes and J.W. Schmidt, “System Construction in the Tycoon Environment: Architectures, Interfaces and Gateways,” Proc. Euro-Arch '93 Congress, Oct. 1993.
[29] D.A. Menascé, V.A.F. Almeida, and L.W. Dowdy, Capacity Planning and Performance Modeling: From Mainframes to Client-Server Systems.Englewood Cliffs, N.J.: Prentice Hall, 1994.
[30] C. Nicolaou, “An Architecture for Real-Time Multimedia Communication System,” J. Selected Areas in Comm., vol. 8, no. 3, Apr. 1990.
[31] J. Ousterhout, D. Scelza, and P. Sindhu, “Medusa: An Experiment in Distributed Operating System Structure,” Comm. ACM, vol. 23, no. 2, Feb. 1980.
[32] H.-H. Pang, B. Jose, and M.S. Krishnan, “Resource Scheduling in a High Performance Multimedia Server,” Trans. Knowledge and Data Eng., vol. 11, no. 2, Mar. 1999.
[33] M.J. Pfluegl and D.M. Blough, “A New and Improved Algorithm for Fault-Tolerant Clock Synchronization,” J. Parallel and Distributed Computing, vol. 27, no. 1, May 1995.
[34] K. Ramamritham, J.A. Stankovic, and W. Zhao, “Distributed Scheduling of Tasks with Deadlines and Resource Requirements,” Trans. Computers, vol. 38, no. 8, Aug. 1989.
[35] P. Ramanathan, K.G. Shin, and R.W. Butler, “Fault-Tolerant Clock Synchronization in Distributed Systems,” Computer, vol. 23, no. 10, Oct. 1990.
[36] A. Mueller, “Fast Sequential and Parallel Algorithms for Association Rule Mining: A Comparison,” Technical Report CS-TR-3515, Univ. of Maryland, College Park, Aug. 1995.
[37] P.V. Rangan, H.M. Vin, and S. Ramanathan, “Designing an On-Demand Multimedia Service,” Comm. Magazine, vol. 30, no. 7, Jul. 1992.
[38] P.V. Rangan, H.M. Vin,, and S. Ramanathan,"Communication Architectures and Algorithms for Media Mixing in Multimedia Conferences," IEEE/ACM Trans. Networking, vol. 1, no. 1, Feb. 1993, pp. 20-30.
[39] R. Sargent, “Statistical Analysis of Simulation Output Data,” Proc. Sump. Simulation of Computer Systems, 1976.
[40] H. Schwetman, “SIM Users' Guide,” MCC Technical Report ACT-126-90, Microelectronics and Computer Technology Corp., Mar. 1990.
[41] K.G. Shin and Y.C. Chang, “A Coordinated Location Policy for Local Sharing in Hypercube-Connected Machines,” Trans. Computers, vol. 44, no. 5, May 1995.
[42] N.G. Shivaratri, P. Krueger, and M. Singhal, “Load Distributing for Locally Distributed Systems,” Computer, vol. 25, no. 12, pp. 33-44, Dec. 1992.
[43] J.A. Stankovic and I.S. Sidhu, “An Adaptive Bidding Algorithm for Processes, Clusters and Distributed Groups,” Proc. Fourth Int'l Conf. Distributed Computing Systems, May 1984.
[44] R. Steinmetz,"Synchronization Properties in Multimedia Systems," IEEE J. Selected Areas in Comm., vol. 8, no. 3, Apr. 1990, pp. 401-412.
[45] C. Steketee, W. Zhu, and P. Moseley, “Implementation of Process Migration in Amoeba,” Proc. 14th Int'l Conf. Distributed Computing Systems, June 1994.
[46] H.S. Stone, “Critical Load Factors in Two-Processor Distributed Systems,” Trans. Software Eng., vol. 4, no. 3, May 1978.
[47] K.S. Trivedi, Probability and Statistics with Reliability, Queuing, and Computer Science Applications. Prentice Hall, 1982.
[48] Y.T. Wang and R.J.T. Morris, “Load Sharing in Distributed Systems,” Trans. Computers, vol. 34, no. 3, Mar. 1985.
[49] J.L. Wolf, P.S. Yu, and H. Shachnai, “DASD Dancing: A Disk Load Balancing Optimization Scheme for Video-on-Demand Computer Systems,” Proc. ACM SIGMETRICS Conf., May 1995.
[50] J. Zahorjan, K.C. Sevcik, D.L. Eager, and B.I. Galler, “Balanced Job Bound Analysis of Queueing Networks,” Comm. ACM, vol. 25, no. 2, Feb. 1982.
[51] P.N. Zarros, M.J. Lee, and T.N. Saadawi, “A Synchronization Algorithm for Distributed Multimedia Environments,” ACM Multimedia Systems J., vol. 4, no. 1, Feb. 1996.

Index Terms:
Multimedia-on-demand, distributed servers, load sharing, performance modeling.
Y.c. Tay, HweeHwa Pang, "Load Sharing in Distributed Multimedia-on-Demand Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 12, no. 3, pp. 410-428, May-June 2000, doi:10.1109/69.846293
Usage of this product signifies your acceptance of the Terms of Use.