Study of Load Balancing Schemes over a Video on Demand System

Similar documents
An Efficient Storage Mechanism to Distribute Disk Load in a VoD Server

Dynamic Load balancing for I/O- and Memory- Intensive workload in Clusters using a Feedback Control Mechanism

ADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT

Adaptive Real-time Monitoring Mechanism for Replicated Distributed Video Player Systems

DISTRIBUTED HIGH-SPEED COMPUTING OF MULTIMEDIA DATA

CHAPTER 7 CONCLUSION AND FUTURE SCOPE

Load Balancing Algorithm over a Distributed Cloud Network

Performance of Multihop Communications Using Logical Topologies on Optical Torus Networks

PROXIMITY AWARE LOAD BALANCING FOR HETEROGENEOUS NODES Mrs. Yogita A. Dalvi Dr. R. Shankar Mr. Atesh Kumar

Network Load Balancing Methods: Experimental Comparisons and Improvement

Load Balancing in Distributed System through Task Migration

An Enhanced Binning Algorithm for Distributed Web Clusters

Prof. Darshika Lothe Assistant Professor, Imperial College of Engineering & Research, Pune, Maharashtra

Load Balancing with Minimal Flow Remapping for Network Processors

Designing Issues For Distributed Computing System: An Empirical View

BIG DATA AND HADOOP ON THE ZFS STORAGE APPLIANCE

CSMA based Medium Access Control for Wireless Sensor Network

6.2 DATA DISTRIBUTION AND EXPERIMENT DETAILS

The Improvement and Implementation of the High Concurrency Web Server Based on Nginx Baiqi Wang1, a, Jiayue Liu2,b and Zhiyi Fang 3,*

Selection of a Scheduler (Dispatcher) within a Datacenter using Enhanced Equally Spread Current Execution (EESCE)

New Optimal Load Allocation for Scheduling Divisible Data Grid Applications

MediaTek CorePilot 2.0. Delivering extreme compute performance with maximum power efficiency

Resource Allocation for Video Transcoding in the Multimedia Cloud

A priority based dynamic bandwidth scheduling in SDN networks 1

Mitigating Data Skew Using Map Reduce Application

Probability Admission Control in Class-based Video-on-Demand System

A Thesis Report. Roll No: May 2009

Using implicit fitness functions for genetic algorithm-based agent scheduling

CHAPTER 6 ENERGY AWARE SCHEDULING ALGORITHMS IN CLOUD ENVIRONMENT

Co-operative Scheduled Energy Aware Load-Balancing technique for an Efficient Computational Cloud

Latency on a Switched Ethernet Network

ANALYSIS OF A DYNAMIC LOAD BALANCING IN MULTIPROCESSOR SYSTEM

Performance Analysis of Load Balancing Algorithms

International Journal of Advanced Research in Computer Science and Software Engineering

Modelling a Video-on-Demand Service over an Interconnected LAN and ATM Networks

Improving VoD System Efficiency with Multicast and Caching

Quality of Service II

Multimedia Systems 2011/2012

Distributed Face Recognition Using Hadoop

Maximizing the Number of Users in an Interactive Video-on-Demand System

A Semi-Distributed Load Balancing Algorithm Using Clustered Approach

C3PO: Computation Congestion Control (PrOactive)

Virtual Machine Placement in Cloud Computing

Achieving Distributed Buffering in Multi-path Routing using Fair Allocation

Dynamic Data Placement Strategy in MapReduce-styled Data Processing Platform Hua-Ci WANG 1,a,*, Cai CHEN 2,b,*, Yi LIANG 3,c

Randomized Data Allocation in Scalable Streaming Architectures

Distributed Computing: PVM, MPI, and MOSIX. Multiple Processor Systems. Dr. Shaaban. Judd E.N. Jenne

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

An Optimized Virtual Machine Migration Algorithm for Energy Efficient Data Centers

Chapter 3. Design of Grid Scheduler. 3.1 Introduction

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

The Load Balancing Research of SDN based on Ant Colony Algorithm with Job Classification Wucai Lin1,a, Lichen Zhang2,b

Traffic and Congestion Control in ATM Networks Using Neuro-Fuzzy Approach

A Comparative Study of Load Balancing Algorithms: A Review Paper

Scaling Internet Routers Using Optics Producing a 100TB/s Router. Ashley Green and Brad Rosen February 16, 2004

Effective Load Metric and Efficient Initial Job Placement for Dynamic Load Balancing in Cluster

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

To address these challenges, extensive research has been conducted and have introduced six key areas of streaming video, namely: video compression,

Adaptive Memory Allocations in Clusters to Handle Unexpectedly Large Data-Intensive Jobs

Latency on a Switched Ethernet Network

Power and Locality Aware Request Distribution Technical Report Heungki Lee, Gopinath Vageesan and Eun Jung Kim Texas A&M University College Station

Transaction Processing in Mobile Database Systems

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

WIRELESS/MOBILE networking is one of the strongest

CS370 Operating Systems

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2)

Distributed Video Systems Chapter 7 Parallel Video Servers Part 1 - Introduction and Overview

Research on Load Balancing in Task Allocation Process in Heterogeneous Hadoop Cluster

Disks and I/O Hakan Uraz - File Organization 1

Incorporating Data Movement into Grid Task Scheduling

Scheduling Algorithms to Minimize Session Delays

Introduction: Two motivating examples for the analytical approach

Performance and Scalability with Griddable.io

Ambry: LinkedIn s Scalable Geo- Distributed Object Store

Load Balancing Algorithms for Internet Vhdeo and Audio Server

LECTURE 3:CPU SCHEDULING

Joint Optimization of Content Replication and Server Selection for Video-On-Demand

Cloud Computing CS

Operating Systems Unit 3

Lecture 9: Load Balancing & Resource Allocation

Mohammad Hossein Manshaei 1393

Traffic-aware Virtual Machine Placement without Power Consumption Increment in Cloud Data Center

Adaptive replica consistency policy for Kafka

Designing a Server Array System for Multimedia World-Wide-Web Services

A Scalable Multiprocessor for Real-time Signal Processing

Adaptive Resync in vsan 6.7 First Published On: Last Updated On:

Dr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication

End-To-End Delay Optimization in Wireless Sensor Network (WSN)

Efficient Technique for Allocation of Processing Elements to Virtual Machines in Cloud Environment

Various Strategies of Load Balancing Techniques and Challenges in Distributed Systems

Cloud Computing Architecture

Verification and Validation of X-Sim: A Trace-Based Simulator

Performance Extrapolation for Load Testing Results of Mixture of Applications

Unit 2 Packet Switching Networks - II

A Process Scheduling Algorithm Based on Threshold for the Cloud Computing Environment

Quality of Service (QoS)

Lecture 13. Quality of Service II CM0256

Scheduling of Multiple Applications in Wireless Sensor Networks Using Knowledge of Applications and Network

Network-on-Chip Architecture

Transcription:

Study of Load Balancing Schemes over a Video on Demand System Priyank Singhal Ashish Chhabria Nupur Bansal Nataasha Raul Research Scholar, Computer Department Abstract: Load balancing algorithms on Video on Demand systems very significantly on considering different requests which may differ in structure as I/O intensive or CPU/Memory intensive, due to which the performance of the algorithm varies. However, statistically a large number of tasks are I/O intensive rather than CPU or memory intensive. CPU requirements of the system are minimum. The goal of this proposed algorithm is to balance loads evenly across the entire cluster factoring in the CPU as well as I/O requirements, while at the same time trying to achieve an optimum completion time for each task. An assumption is made to not consider pre-emptive migration of tasks. A transaction in our model can be defined as the time difference in the acceptance and fulfilment of requirements of a task by the system. Task requirements in general for a video-on-demand system are video files stored on the server end on a secondary storage device which is to be streamed continuously to the request initiator. The proposed algorithm called CPU-Memory-I/O Load Balancing (CMIOLB) is compared to a couple of other scheduling and allocation policies namely the First Come First Serve (FCFS) and the Random distribution. We have mathematically shown that the proposed algorithm performs better than the other policies. Keywords - Video on demand, I/O, intensive task, Load balancing I. INTRODUCTION Video-On-Demand commonly called VOD service has been possible due to availability of a number of new and developed technologies such as ADSL (Asymmetric Digital subscribers Line), MPEG (Moving Picture Expert Group), ATM (Asynchronous Transfer Mode). An important challenge involved is in storing a large amount of video objects such that each video stream can be accessed and transmitted to the client in real time. Multimedia servers have become more essential since the demand for multimedia (such as text, audio, image and video) has risen. Content-based retrieval of multimedia data faces 3 major problems. Firstly, the content is subjective; this needs a powerful set of search routines including keywords, sounds, texture, colour, spatial information and motion. Secondly, if a processing technique is designed and developed for one type of feature, it's usually not applicable for others. For instance, a technique designed for indexing audio data may not be usable for image data or, a method developed for a colour may not be useful for a texture in image and video content. Thirdly, the usual huge size of multimedia data requires an exhaustive search. Video-on-Demand systems can be grouped as a single server or multi server architecture. Multi-server architecture proves to be better since it processes client's requests more efficiently while an isolated server cannot handle the traffic efficiently. A video on demand system is generally comprised of a distributed cluster of computing nodes. These nodes may be homogenous or heterogeneous. In the past, many problems have been addressed in designing a VOD system, such as data placement, disk scheduling, admission control, syncing, resource management, and tolerance. However the problem about dynamic load balancing among the servers is rarely looked at. Although previous studies have explored the load balancing issue, most are applied to general tasks, not to video tasks. Furthermore, the data placement policies above can be used to achieve load balancing in the servers, but, they are static. This is not good enough. One of the most common data placement methods is to strip video objects across all the disk servers on the system, thus, avoid the imbalance. However, the approach suffers from the quite a few drawbacks. It results in additional complexity such as types of synchronization in delivering a single video object from multiple disks/servers. Secondly, it is not entirely practicable to assume that a system must be constructed using homogeneous disks. Third, as client demand and/or data grows, the system requires one or more servers, thus resulting in restriping of all video data objects. Another data architecture strategy is to replicate popular video content among the disks. This too, has some problems such as requiring extra storage space and deciding the time to perform reverse of replication. Certain models are distributed VOD servers, completely different from clusters of VOD servers.

II. SYSTEM ARCHITECTURE The model of Video on Demand system is shown in Fig 1. All servers in the system are connected with a highreliability network, such as an ATM switch, a fast Ethernet panel, or a crossbar switch. Fig 1. System Architecture Every server has its CPU, memory, and I/O, but they do not have the same capacity. This means that the system could achieve good scalability. When a client issues a request, a specific server known as dispatcher will filter the above request. It then transfers it to the destination server with the requested object. Then the destination server then delivers the video stream to the client at a given rate through the external network until the display of the stream is finished. VOD system is disk-bounded. The network bandwidth from servers to clients is fast enough to deliver video streams and it is also fault free. The VOD clusters can be modelled by the queuing theory showed in Fig 2. Here, the cluster is connected to the web by the network which provides a two-way path, for the requests to the cluster, and the response. We assume a constant arrival rate that is Poisson's distribution. The nodes are heterogeneous, thus they have different service rates denoted by {S1, S2, S3... Sn}. The requests arrive from the user via the web to the dispatcher. The dispatcher allocates requests to the different nodes. This then generates the response back to the user. III. ALGORITHM OF DYNAMIC LOAD DISTRIBUTION The proposed CMIOLB algorithm is meant to be suited for a wide variety of versatile workloads that may be either I/O intensive or CPU intensive. However, is in the general case, in our paper we have considered CPUintensive tasks to be at the minimum as most requests coming to the server end are video retrieval tasks which require low CPU but high I/O consumption. Our proposed algorithm has the goal to balance requests across a

cluster of servers taking into consideration various parameters of each task and the resources (CPU, IO and Memory) available on each server such that the response time is minimum at the same time considering even task distribution. Here, pre-emptive task migrations are assumed to be negligible in magnitude and overhead and not considered. A typical turn-around time of a request on our system can be defined as the time difference of the user submitting the request and the request being fulfilled. The requirements are usually to live-stream video files stored on secondary storage on the server end. Proposed Algorithm: For each request made to the cluster: 1. Estimate or compute the expected amount of resources required to service the task (CPU/Memory or IO) 2. As in the expected case, if I/O requirement is the maximum of the three, do the following: 3. Choose the set of nodes with maximum unused I/O resources and capability, while fulfilling CPU and Memory requirements for the task. 4. Assign the task to the node which is expected to produce lowest turn-around time. 5. Else if the memory requirement of the task is the maximum of all three, do the following: 6. Choose the set of nodes with maximum unused memory resources and capability, while fulfilling CPU and I/O requirements for the task. 7. Assign the task to the node which is expected to produce lowest turn-around time. 8. Else if the CPU requirement of the task is the maximum of all three, do the following: 9. Choose the set of nodes with maximum unused CPU resources and capability, while fulfilling Memory and I/O requirements for the task. 10. Assign the task to the node which is expected to produce lowest turn-around time. 11. Update status of the particular node indicating it is busy on the particular task. This proposed algorithm can be used to schedule tasks across multiple heterogeneous servers. The following three load status indices are introduced with respect to CPU, Memory or I/O intensive: To decide whether a CPU of a node is loaded, we refer to the waiting queue for tasks on the node. Memory loading of a node is defined as the total amount of memory allocated to all tasks currently running on the node. I/O load can be either implicit or explicit. Implicit I/O can arise from page faults and secondary memory accesses for the node. Explicit I/O is used to service tasks with streaming video. The pseudo code of our algorithm is shown above. We now describe our algorithm. When a set of independent tasks are submitted to the load manager of the cluster, our algorithm tries to balance the total cluster load among its nodes by distributing each task to a node where its response time is minimised. The first two steps are responsible to decide to admit the task into the system and predict the CPU, Memory and I/O requirements it would need. All this computation is done centrally at the dispatcher node. Step 3 is also performed at the dispatcher. Step 3 decides whether the task is CPU, Memory or I/O intensive. This step produces a result which jumps to either: (a) Step 3 -if the I/O requirement of the task is maximum. (b) Step 5 - if the memory requirement of the task is maximum. (c) Step 9 - if the CPU requirement of the task is maximum. Furthermore, at each of the 3 conditions, two more sub-conditions need to be satisfied that is, the non-maximum parameters for the resource allocation still to satisfy the node availability. Also, when selecting a node, we choose the node whose response time is estimated to be minimum for the node. When a node is finally selected, the dispatcher dispatches the job to the node. IV. PROOF OF CONCEPT The video-on-demand system is a group of nodes. Here, we select a main node whose job is as follows. The main node also called as head node in the cluster. This is responsible for load balancing and monitoring the resources available at the concerned node. The head node processes all tasks in First Come First Serve (FCFS) manner. The computing nodes in the cluster depend completely on the information available with the head node doing the job of deciding the allocation. Tasks that are to be executed in the cluster arrive at the head node. We assume that the rate of arrival is constant in nature. After allocation by the head node, the tasks are dispatched to the best suited nodes for execution. Each of these nodes have a queue themselves, which executes these tasks in parallel. A. Performance of the System The model that we have used for simulating results, has been verified by the graph in Figure 3, which has been generated by plotting time taken to execute a group of tasks by using the number of servers involved. As shown below, the time of execution time for the tasks decreases as we increase the number of servers. But it is noted

that a certain threshold value is reached after a while and the execution time becomes constant. This clearly shows a saturation value for the completion of tasks. Fig 3. Performance model of the system From the Figure 3, we can prove that for a given group of tasks, changing number of servers from up to twenty, we realize that our system reaches a saturation point i.e. the execution time doesn't improve any more. Thus, our model is successful. B. Performance Comparison of IOCMLB For simulation and comparison purposes, two more allocation policies, namely the FCFS (First Come First Serve) and the random allocation policy are considered. By this experiment, we aim to compare how various allocation schemes perform when we consider a constant arrival of tasks. To assist the observations, the standard deviations of the load balancing of the servers are shown in the graphs. The lower the standard deviation is, the better the policy is considered to be. 1. FCFS: In the First Come First Serve allocation policy, the tasks are assigned to nodes in a liner fashion in the order in which they arrive. The graph obtained is shown as follows: 2. Random Allocation: Random allocation policy simply randomly distributes tasks to any node irrespective of the order or arrival of tasks. This policy helps to balance load evenly and equally among all nodes. The graph obtained for such an allocation scheme is shown as follows: 3. CMIOLB Algorithm: Using the proposed CPU-Memory-I/O Load Balancing algorithm, the graph obtained is as such: Fig 4. Performance of the algorithms

The comparative graph obtained in Fig.7 shows that the proposed CMOILB algorithm performs better under heavy as well as light server loads of video-on-demand clusters. Furthermore, as observed from the other graphs, the performance of other allocation schemes deteriorates with increase in load. It should be thus noted that the algorithm will have a certain threshold as to the number of tasks it can balance well before the computation overhead for the algorithm exceeds the benefits. V. CONCLUSION In any video-on-demand system, it is essential to reduce the average response time. At the same time, supporting a growing number of clients is equally critical. The study has focused primarily on the dynamic allocation schemes for load balancing in video-on-demand servers to achieve these goals. Cluster computing has become an essential component due to development of technology and availability of cheaper, high performance processors and high end, reliable networks. This along with the development of tools for high performance distributed computing has supported the growing need of computational power. There are many different schemes available for load balancing on video-on-demand system, however, there overall efficiency depends upon the topology of the communication network between these nodes. The research has proposed an algorithm for I/O intensive tasks. It uses a method to calculate the load at the individual nodes, thus helping in load balancing. The algorithm strives to achieve the goal of effective global disk resources usage, especially in the VOD cluster. This can help to minimize the slowing down of parallel tasks running on the cluster and hence, reduces the average response time. We have compared our algorithm to some other common strategies, namely FCFS and Random. It is thus seen that we get better overall average results using our algorithm. REFERENCES [1] Yin-Fu Huang,Chih-Chiang Fang,Load balancing for clusters ofvod servers, Information Sciences 164 (2004), pp.113-138. [2] Xiao Qin, Performance comparisons of load balancing algorithms for IO-intensive workloads on clusters, Journal of Network and computer applications(2006). [3] B. Berson, S. Ghandeharizadeh, R. Muntz, X. Ju, Staggered stripping in multimedia information systems, Proceedings of the ACM International Conference on Management of Data, 1994, pp. 79-90. [4] D. N. Sujatha K. Girish,An Integrated Quality-of-Service Model for Video-on-Demand Application, IAENG International Journal of Computer Science. [5] Xiao Qin,Dynamic Load Balancing for IO-Intensive Tasks on Heterogeneous Clusters, Proceeding of the 2003 International Conference on High Performance Computing(HiPC03). [6] Xiao Qin,Hong Jiang,Yifeng Zhu, David R. Swanson,A Dynamic Load Balancing Scheme for IO-Intensive Applications in Distributed Systems, Proceeding of 2003 international conference on Parallel processing Workshop(ICPP 2003 Workshop). [7] Paul Werstein,Hailing Situ and Zhiyi Huang, Load balancing in cluster computer, Proceeding of the seventh international conference on Parallel and Distributed Computing, Applications and Technology (PDCAT'06). [8] Xiao Qin, H.Jiang, Y.Zhu and D.swanson, Toward load balancing support for I/O intensive parallel jobs in a cluster of workstation, Poco Of the 5th IEEE international conference cluster computing( cluster 2003),Hong Kong,Dec.1-4,2003. [9] Kumar K. Goswami, Murthy Devarakonda and Ravishankar K. Iyer, Prediction-baesd dynamic load-sharing heuristics, IEEE transaction on parallel and distributed systems, VOL.4, No.6, June 1993.