Optimized Load Balancing for Efficient Resource ... - IEEE Xplore

3 downloads 1493 Views 421KB Size Report
Keywords—Cloud Computing, Load Balancing, Cloud Simula- tion, Data Center, Response Time. I. INTRODUCTION. Cloud computing is a concept of parallel ...
2014 IEEE 2nd International Symposium on Telecommunication Technologies (ISTT), Langkawi, Malaysia (24-26 Nov 2014)

Optimized Load Balancing for Efficient Resource Provisioning in the Cloud Ranesh Kumar Naha Dept. of Comm. Technology and Network Universiti Putra Malaysia 43400 UPM Serdang Selangor Darul Ehsan, Malaysia Email: [email protected]

Mohamed Othman1

Dept. of Comm. Technology and Network1 Lab. of Computational Science & Mathematical Physics2 Inst. for Mathematical Research (INSPEM) Universiti Putra Malaysia 43400 UPM Serdang, Selangor D.E., Malaysia Email: [email protected]

Abstract—Cloud Computing offers on demand provisioning of computing resources to users. Cloud service providers manage a large number of user requests to provide services according to user demands. Allocating and managing user requests to physical hardware is a challenging issue, because there is a need to create a load balance among available system resources. Effective load balancing saves operational costs, improves user satisfaction and leads to accelerate overall performance. In this paper, we propose an algorithm entitled Optimized Load Balancing (OLB), which aims to carry out efficient load balancing by improving processing and response time. We compared our proposed load balancing algorithm with an existing load balancing algorithm. Experimental results show that our proposed algorithm outperforms the existing one. Keywords—Cloud Computing, Load Balancing, Cloud Simulation, Data Center, Response Time.

I.

I NTRODUCTION

Cloud computing is a concept of parallel and distributed computing that provides on demand computing resources, such as the “pay as you use” model. This model is entirely based on the internet and facilitates users to use shared hardware, software, computing and other system resources, based on their needs. Users need not to be concerned about maintenance of physical resources for their computing needs. Users only pay for the duration of the usage of the hardware, software and other computing resources. An agreement between users and providers is maintained through a Service Level Agreement (SLA) to avoid dissatisfaction. In a cloud environment, multiple virtual machines could be allocated in a single server using virtualization technology. These virtual machines act as individual physical machines, along with their individual operating systems and shared system resources. Multiple tasks run on these machines in parallel. When a user submits a request to the cloud, they are normally interested in the minimization of the overall execution time. Cloud service providers are also aware of the proper utilization of available system resources and execution time. There are many issues related to this complex cloud computing system. In this work, we focus on load balancing among data centers and virtual machines. The limitations of efficient cloud load balancing motivates us to develop a new load balancing algorithm. In this paper, we propose a new load balancing algorithm that reduces overall processing and

978-1-4799-5982-2/14/$31.00 ©2014 IEEE

2

442

response time. With this algorithm, task will be allocated to the physical resources in an efficient manner. We reveal how the proposed algorithm works better when compared with a previously proposed algorithm. II.

R ELATED W ORK

The objectives of cloud load balancing are to speedup the execution time of applications. There are numerous studies that have been done on cloud load balancing during the past few years. Fang et al. [1] discussed two level tasks scheduling for high resource utilization. Their proposed application and VM level task scheduling was proven by the CloudSim [5] toolkit simulation framework. However, bandwidth and cost were not considered in their work at the period of load balancing. Randles et al. [2] proposed Biased Random Sampling, Foraging Behavior and Active Clustering load balancing, inspired by the honeybee load balancing technique. Their proposed algorithm was developed for a cloud environment with heterogeneous nodes, but simulated on a small scale system. Round robin and throttling based load balancing was proposed by Wickremasinghe et al. [3]. In their approach, they studied application behavior in a large scale distributed cloud computing environment by the use of simulations. However, load balancing performance could be further enhanced, which is shown in our proposed algorithm. VM resource load balancing uses a genetic algorithm proposed by Hu et al. [4]. This algorithm solves the load imbalance and over migration costs in traditional algorithms. However, a management and monitoring mechanism is still needed for the dynamic changes of VMs. Wang et al. [6] proposed Opportunistic Load Balancing and Load Balance Min-Min, which are static scheduling algorithms for system load balancing. These algorithms were developed for three-level cloud computing networks. Request Manager, Service Manager and Service Node are the three hierarchical components in their framework. Opportunistic Load Balancing attempts to make all systems busy in operation time of load balancing, while Load Balance Min-Min algorithm minimizes execution time. Maguluri et al [7]. proposed a stochastic model for load balancing in cloud computing clusters. They focused on load balancing among servers. They showed that widely used BestFit scheduling is not throughput optimal. Based on various optimization criteria and user constraints, Lucas-Simarro et al. [8]

proposed a load balancing and scheduling algorithm for multiple clouds. They showed cost effectiveness and performance improvement, at the same time, in their proposed algorithms. Another honey bee inspired load balancing algorithm was proposed by Krishna [9]. This algorithm provides load balance across the VMs and maximizes throughput, and the amount of time of queued tasks was minimal, which leads to a significant improvement of average execution time. This work focused on task priority instead of QoS factors. Round robin with server affinity was proposed by Mahajan et al. [10]. Authors improve algorithm functionality by an efficient load balancing algorithm. However, application load for an hour may not lead to be the actual result for these kinds of simulations. This is because it is not possible to realize the effect of peak and off peak hours load balancing without at least a one day workload. Load balancing using the firefly model was proposed by Florence and Shanthi [11]. The simulation of this work was conducted in a very small scale cloud environment. VM assignment algorithms depending on load were proposed by Domanal and Reddy [12]. They are working on determining algorithm response in the case of dynamic and mix workload. III.

L OAD BALANCING IN THE C LOUD

We may use static or dynamic methods for load balancing. A high variation of loads is observed in the case of cloud computing. Thus, static algorithms are not suitable for a cloud computing environment. Dynamic load balancing is successfully used in cloud and dynamic algorithms that can handle changing workload over time. Our proposed Optimized Load Balancing (OLB) algorithm dynamically assigns tasks to idle hosts. It also assigns task to available hosts from a task queue. Following this technique prevents the host to be heavily loaded. On the other hand, a task should not wait for a long time in the queue. When a user makes a request to the cloud system, the cloud controller accepts the request for further processing. The data center controller, service broker and load balancer search for available resources, and allocates the task to an appropriate VM considering request types. In every virtual resource pool, there is a different level of availability of CPU, memory and network bandwidth. On the other hand, each user request has different requirements and constraints. Thus, finding the optimal solution for a user request is considered a complex multi-objective problem. IV.

P ROPOSED L OAD BALANCING ALGORITHM

Our proposed OLB algorithm maintains two different tables based on VM states. When a VM reaches its usage threshold, it is placed in the busy state. However, if it does not reach the usage threshold, it is flagged as in the available state. The data center controller queues user requests and passes them to the load balancer. The load balancer returns specific available VMs from the state table based on user requests. After allocating the request to the VM, it updates the table accordingly. If the data center controller does not find any available VMs, the data center controller queues the request and waits for resource availability. When processing is finished in a specific VM, the load balancer reallocates the VM for another task. The data center randomly checks for available resources for waiting requests. Figure 1 shows the flowchart of proposed OLB algorithm.

443

Fig. 1.

V.

OLB Algorithm Flowchart

S IMULATION S CENARIO AND E XPERIMENTAL S ETUP

We use CloudAnalyst [3] simulator, which is developed based on the CloudSim toolkit core engine. CloudSim is a modern simulation framework for cloud computing that supports large-scale modelling in federated clouds. Figure 2 shows the domain entities and main components of CloudAnalyst simulator. The experiments were conducted on a Dell Optiplex 7010 physical machine, with a Core i5 processor, 3.20 GHz clock speed, 8GB RAM and 500GB storage hardware configuration, and the Windows 7 operating system was installed. User requests are generated from North America, which belongs to one of the six other main regions of the world. User requests are modelled as per Facebook user statistics throughout the world. From the statistics of September 30th, 2013 [13], Facebook had 1.19 billion monthly active users worldwide. About 21.85% of total users worldwide are from North America. We assumed 0.05% and 0.5% as the number of registered users online simultaneously during the off peak and peak hours respectively. It was also assumed that each active user generates a new request every two minutes. The

Fig. 2.

CloudAnalyst domain entities and main components TABLE I.

N O OF VM S FOR DIFFERENT SCENARIOS

Cloud Scenario

EC2. The bandwidth and latency matrix are generated using a Poisson distribution, and only mean values are used. The same technique was used to produce the user base size and interval between user requests.

No of VMs per physical machines

SC1

5

SC2

10

SC3

15

SC4

20

VI.

peak hour of this region is 15:00 to 17:00 GMT. Data center processing time is the total time needs to process user request until send request into the VM. The time necessary to complete a single user request is considered as data center response time. We measured average DC processing time and DC response time. We exhibited a total of seven data centers located in two different regions. One region is where a user base is located. The location for the other data centers was chosen randomly. Every simulated data center consists of five physical machines and variable virtual machines. We have designed four different scenarios by changing the number of VMs. Table I shows the number of VMs in every physical machine for different scenarios. Every physical machine has a capacity power of a 10,000 MIPS quad core processor, 2GB memory, 100 GB storage and 1 Gbps of available bandwidth. All physical machines follow a time shared VM policy for scheduling. The hosts of the data centers are configured with x86 architecture Linux OSs, and Xen is used as the virtual machine monitor. The users and requests are grouped by a factor of 1000 and 100 respectively. The executable instruction length per request is 250. The hourly cost per VM and cost for 1 GB data transfer are US$ 0.10, according to the old pricing scheme of Amazon

444

I NITIAL S IMULATION R ESULTS

We run simulations with the combination of cloud brokering and load balancing algorithms. Service Proximity Based Routing (SPBR), for cloud brokering, and Round Robin (RR), for load balancing, were proposed by Wickremasinghe et al. [3]. Algorithms proposed by Wickremasinghe et al. [3] revisited and evaluated using different algorithm combination by Naha and Othman [15]. In our experiment, we used two different algorithm combinations, which show the improvement of our proposed algorithm. Figure 3 shows the difference of average response time between the existing and the proposed algorithm in four different cloud-based scenarios. According to Figure 3, we found a 20% improvement on response time. From Figure 4, it can be seen that OLB resulted in the lowest value of average DC processing time. Our proposed algorithm shows an overall 40% improvement in the case of DC processing time. Although response time and processing time increase with the increasing number of VMs, our proposed algorithm performs well when compared with prior work. VII.

WORK IN P ROGRESS

Our proposed algorithm shows significant improvement regarding overall processing and response time when compared with the previous algorithm. We are currently working on further improvement of this algorithm. We aim to simulate these algorithms in more complex cloud scenarios. Simulations with the algorithm combination of our proposed brokering

processing and response time for the proposed algorithm. Further research regarding the role of cloud brokering is taken into consideration.



       



ACKNOWLEDGMENT



The authors would like to thank the Malaysian Ministry of Education for provide funding under a Commonwealth Scholarship and Fellowship Plan (CSFP) scholarship. This work is also partially supported by the Malaysian Ministry of Education under the Fundamental Research Grant Scheme FRGS/02/01/12/1143/FR.

    

R EFERENCES [1]

 







  !"# !"#$%"

Fig. 3.

Comparison of Average Response Time (ms)

Fig. 4.

Comparison of Average DC Processing Time (ms)

algorithms [14] is ongoing. We strongly believe that a combination of load balancing algorithms with our proposed cost aware brokering algorithm does not increase operational costs. Applying heuristic based and natural inspired techniques in load balancing is part of our planned future work. VIII.

C ONCLUSION

This paper has investigated the performance of our proposed load balancing algorithm. The main goal of the current study was to improve load balancing performance in the cloud. The results of this investigation show that the performance of the OLB algorithm is greatly improved when compared with existing algorithms in a simulated environment. The findings of this study suggest that efficient load balancing could minimize execution time. Cloud users and providers would benefit from the proposed algorithm. The current study has only examined

445

Y. Fang, F. Wang, and J. Ge, “A task scheduling algorithm based on load balancing in cloud computing,” in Web Information Systems and Mining, ed: Springer, 2010, pp. 271-277. [2] M. Randles, D. Lamb, and A. Taleb-Bendiab, “A comparative study into distributed load balancing algorithms for cloud computing,” in Advanced Information Networking and Applications Workshops (WAINA), 2010 IEEE 24th International Conference on, 2010, pp. 551-556. [3] B. Wickremasinghe, R.N. Calheiros, and R. Buyya, “Cloudanalyst: A cloudsim-based visual modeller for analysing cloud computing environments and applications,” in Advanced Information Networking and Applications (AINA), 2010 24th IEEE International Conference on, 2010, pp. 446-452. [4] J. Hu, J. Gu, G. Sun, and T. Zhao, “A scheduling strategy on load balancing of virtual machine resources in cloud computing environment,” in Parallel Architectures, Algorithms and Programming (PAAP), 2010 Third International Symposium on, 2010, pp. 89-96. [5] R.N. Calheiros, R. Ranjan, A. Beloglazov, C.A. De Rose, and R. Buyya, “CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms,” Software: Practice and Experience, vol. 41, pp. 23-50, 2011. [6] S.-C. Wang, K.-Q. Yan, W.-P. Liao, and S.-S. Wang, “Towards a load balancing in a three-level cloud computing network,” in Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE International Conference on, 2010, pp. 108-113. [7] S.T. Maguluri, R. Srikant, and L. Ying, “Stochastic models of load balancing and scheduling in cloud computing clusters,” in INFOCOM, 2012 Proceedings IEEE, 2012, pp. 702-710. [8] J.L. Lucas-Simarro, R. Moreno-Vozmediano, R.S. Montero, and I.M. Llorente, “Scheduling strategies for optimal service deployment across multiple clouds,” Future Generation Computer Systems, vol. 29, pp. 1431-1441, 2013. [9] P. Venkata Krishna, “Honey bee behavior inspired load balancing of tasks in cloud computing environments,” Applied Soft Computing, vol. 13, pp. 2292-2303, 2013. [10] K. Mahajan, A. Makroo, D. Dahiya, “Round Robin with Server Affinity: A VM Load Balancing Algorithm for Cloud Based Infrastructure,” Journal of Information Processing System, vol. 9, pp. 379-394, 2013. [11] A. P. Florence and V. Shanthi, “A Load Balancing Model Using Firefly Algorithm in Cloud computing,” Journal of Computer Science, vol. 10, no. 7, pp. 1156-1165, 2014. [12] S. G. Domanal and G. R. M. Reddy, “Optimal load balancing in cloud computing by efficient utilization of virtual machines,” in Communication Systems and Networks (COMSNETS), 2014 Sixth International Conference on, 2014, pp. 1-4. [13] http://newsroom.fb.com/Key-Facts, Accessed on: 6 Dec 2013 [14] R.K. Naha and M. Othman, “Evaluation of Cloud Brokering Algorithms in Cloud Based Data Center,” in International Computer Science and Engineering Conference (ICSEC), 2014, pp. 78-82. [15] R.K. Naha and M. Othman, “Brokering and Load-Balancing Mechanism in the Cloud – Revisited,” IETE Technical Review, vol. 31, no. 4, pp. 271-276, 2014.

Suggest Documents