Dynamic Future Prediction Load Balancing Algorithm For Virtual Machine Instances In Cloud Foram Kherani Dept of computer engineering LJIET Ahmedabad,India E-mail-kheraniforam@gmail.com Mr. Jignesh Vania Dept of Information Technology LJIET Ahmedabad,India E-mail-jigumy@gmail.com Abstact-Cloud computing is a computing that relies on sharing computing resourcesin general term for anything that involves delivering hosted services over the Internet. These services are broadly divided into three categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service ( PaaS) and Software-as-a-Service (SaaS).It provides on demand services to the users. Cloud provider must provide these services very efficiently and effectively across the internet. But the problem is that if the no of users are increasing on the cloud then it might be lead to poor performance as load is not properly balanced across all nodes.thus load balancing is a major bottleneck in cloud computing. Load balancing has always been a research subject whose motto is to distribute the load evenly and fairly. Here in this paper i have proposed one algorithm named future prediction algorithm which will predict the avaibility of nodes based on past data analysis for better resource utilization. Keywords-cloud computing, load balancing,resource allocation I. INTRODUCTION Cloud Computing or the future of next generation computing provides its clients with a virtualized network access to applications and or services. No matter from wherever the client is accessing the service, he is automatically directed to the available resources. Cloud computing defined as such structured model that defines computing services where resources as well as data are retrieved from cloud service provider via internet through some well-formed webbased tool and application [1]. Itprovides massive flexibility, reliability,scalability and configurability along with high performance.the cost of running an application on the cloud is depends on the computation and the storage resources that are consumed. Nowadays most of all the companies are working on cloud computing. Most hardware and software have provided support to virtualization. Cloud computing being provided many virtualized factors such as IT resources, hardware, software, operating system and net storage. To make the tremendous use of the capabilities of resources balancing of load factor is necessary. Thus load balancing plays a key role in cloud computing for resource utilization. As we know that the no of users are increase on cloud that it become difficult IJIRT 100026 INTERNATIONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 55
to handle all at once if we do not have the efficient load balancing scheme. Thus load balancing always been a research topic. II. LOAD BALANCING Load balancing is a method to distribute workload across one or more servers,network interfaces,harddrives or other computing resources[2]. In these days where the market is very competitive customers service is hugely important or potential customers will move to the competition. Its very tedious to work in a environment which is time consuming or customers/users have to wait for long for the requested resources. Thus Load balancing is a technique to used which ensures that none of your existing resources are idle while others are being utilized. It also ensures that all the computing resources are fairly and equally distributed. When you apply load balancing in runtime then its called as Dynamic load balancing.there are many dynamic as well as static load balancers are available.for example Eucalyptus cloud provider uses the Round Robin (RR) algorithm for the load balancing. However due to highly dynamic heterogeneity of resources on cloud computing platforms, virtual machines must adapt the cloud computing environment dynamically so as to achieve its best performance by efficiently uses its services and resources[1]. In cloud computing if no of users are increasing then more load will be consigned on nodes of cloud which will lead to the poor performance in terms of resource usage. Thus cloud provider must configured with any good mechanism for load balancing and also the capacity of cloud servers weather they utilized resources properly or not. If some good load balancing scheme is implemented then it will divide the load equally and thereby we can maximize the resource utilization and improve the performance. III. RELATED WORK Now a days every organizations are propogating towards cloud computing. With no doubt we can say that within few years there are tons of people on cloud. Thus cloud provider need to configure some good mechanism for load balancing for better performance. There are many static as well as dynamic algorithms are used for load balancing, many research have been made on them. cloud computing but looking at various issues in the different algorithms still some research is to be done to improve the performance and efficiency of the algorithms. For example in Round Robin algorithm it passes each new request to the next server in the queue despite of checking wheather that node is heavily loaded or lightly loaded.round Robin works well in most configurations, but could be more effective if the equipment that we are load balancing is roughly equal in processing speed, connection speed, and/or memory. In Dynamic Round Robin, strategy, weights assignments is based on continuous monitoring of the servers and is therefore constantly changing. In this dynamic load balancing strategy, distributions of connections is done on the basis of server performance analysis such as the current number of instances i.e. connection per node or the response time of a fastest node. This type of an application level connection distribution controlling method is rarelyavailable in a conventional load balancer. In Weighted Round Robin, the circular queue is rebuilt with new IJIRT 100026 INTERNATIONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 56
(dynamic) weights whenever it has been fully traversed [3]. Equally spread current execution: Processes are handled with priority, it randomly distribute load by checking the size and transfer to that node which is lightly loaded or can give maximum throughput in less time.it is spread spectrum technique in which the load balancer spread the load of the job in hand into multiple virtual machines. Throttled: Algorithm based on virtual machine, which first request to the the load balancer to find virtual machine which access that load easily. But problem with this algorithm is that it does not consider the advance load balancing requirements such as processing time for each individual requests. Comparisionof algorithms [1] EXISTING AND PROPOSED ALGORITHM Parameter Dynamic/ static Resource Utilizatio n Fault tolerance Overload rejection IV. Rou nd robi n various TABLE I. COMPARATIVE CHART FOR Thrott led Active VM load balanc er Dynam ic Propo sed algo Stati Dyna Dyna c mic mic Less Less More More No Yes No Yes No No Yes Yes PROPOSED ALGORITHM Below is the scenario how the algorithm is implemented. Figure:working model There are various steps in the algorithm. Node information queue- This queue will contain the information about the nodes parameter like free space(in terms of memory n processor), performance details etc.. A request is send to every nodes in particular interval of time and all the mentioned data above would gather through its response. Queue would be updated dynamically from the available response. Future prediction algorithm:this will measure the information like performance, load on particular server nodes, future load and total space available and it would store all these information in a queue and using these information load balancer would work dynamically for proper allocation of resources which will lead to efficient performance. Here mainly 3 parameters are used namely load on server, performance factor and future load factor. Temporary dynamic queue:stores the information given by the future prediction algorithm dynamically. It store theinformation about the nodes list which would be furtherused for the allocation in the next round of allocation. Permanent Dynamic queue: once the queue is generated after the future prediction algorithm the permanent queue IJIRT 100026 INTERNATIONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 57
will be replaced by temporary queue for the next revolution of algorithm. Thus when the new request comes from the client then it would be assign to the current node pointer in the permanent queue and then next request would go to the next node in the queue and the same procedure will work for allocation. Working of Future prediction algorithm: It mainly focuses on 3 parameters. 1.Load on server 2. Performance factor 3.Future load factor Load on the server: If the node having more space then it can handle more no of requests without degrading the performance. Thus here we are more interesting in free space. Performance of server:a request is send to the node at regular interval of time, and in response performance factor is measured. It may be the case that the responsetime of node may change every time depending on the clientusage of its resources. Future load factor:future load on the server is calculated using the Newton s divided difference methodbased on the historical data which gives the information about load on each server for some predefined time periods. Future load on each server than can be calculated using the mathematical model. The above three parameters are used to build a new queue for further allocation. Thisinformation of the entire node is calculated by amathematical function to count q-parameter value for eachnode. The pseudo code of the algorithm is as under Pseudo Code Step 1: [calculate the load factor Lf] Lf = Total resources Used resources Step 2: [calculate the performance factor Pf] P1 = average (current response time) Pf = P1 (previously calculated P1) Pf = Pf / (previous P1) * 100 // counting p in terms of previously calculated p1 Step 3: [calculate the future load factor FL using the mathematic model based on the historical data] FL(T) = Lf(T0) + (T T0) Lf(T0,T1) + (T T0) (T T1) Lf(T0,T1,T2) +... + (T T0) (T T1)..(T Tn) Lf(T0,T1,T2,,Tn) (Newton s Divided Difference Formulae ) If (FL(T)<0) FL(T) = 0 Step 4: [finding q] q = 7 * [Lf Pf] + 3 * [FL] If (q < 0) Then q = 0; Step 5: [Find minimum of all q except the nodes with q value 0] Min_q= min (all q's) Step 6: [Find min_factor and divide all q by that factor] Min _factor = min _q Q = q / min _factor Step 7: [Generate Dynamic Queue on base of Q] STEPS Step 1 The value of L is calculated by considering the total available resources and allocated resources on the server. The available resources would be calculated using the equation Lf = (Total Resources Used Resources). Once Lf value is calculated for all nodes server then available free load on the servers is obtained from Lf. Step 2 IJIRT 100026 INTERNATIONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 58
Here the performance factor calculates the increase or decrease in performance on the server and the calculated value is stored Pf. Step 3 Time(T) Load(Lf) 1 st 4 8 Lf(T 0 ) difference 12-8/7-4=1.33 Lf(T 0,T 1 ) 7 12 14-12/8-7=2 8 14 2 nd difference 2-1.33/8-4=0.17 Lf(T 0,T 1,T 2 ) Future load is calculated based on the historical data with predictive analysis method. For calculating future load predefined load on each server is stored and by using mathematical model future load of each node can be predicted. Now with using newton s divided difference formula method, FL(T)= = Lf(T 0 ) + (T T 0 ) Lf(T 0,T 1 ) + (T T 0 ) (T T 1 ) Lf(T 0,T 1,T 2 ) +... + (T T 0 ) (T T 1 )..(T T n ) Lf(T 0,T 1,T 2,,T n ) (consider upto 3 rd order of each iteration) FL(9)=8+(9-4)(1.33)+(9-4)(9-7)(0.17) Step 4 =8+6.65+1.7 =16.35 Counting q = 7 * [Lf Pf] + 3 * [FL]. Both calculate value of Lf n Pf are added in q and previous future load FL is also considered. Step 5 Once the q value is calculated then find theminimum of q and store it to min_q variable. No des Lf Fac tor Pf fac tor N1 60 30. 20 N2 80 20. 50 N3 10 30. 80 N4 30 20. 80 N5 50 20. 00 FL Fac tor 30. 50 25. 80 22. 60 34. 42 25. 00 q=7* (L- P)+3 *(F) 117.1 Mi n q Q=q/ min_q 339.1 11 3 7.1 0 0 Step 6 Calculate q value As shown from the above table, N1 has the least value of q. Thus divide all nodes s q value with min_q. Here we get Q 1,3,0,0,2. Step 7 Now N2 has the highest capacity to handle 3 requests at a time so first three req would go to N2 then N2 and then N1. According to it dynamic queue will be generated.node with q value 0 will get 0 as q / min_fact so they can tget any request to handle. N2 N2 N2 N5 N5 N1 So, once the temporary queue and permanent queue will bechanged and accordingly, first 3 requests will go to node 2 than 2 will go to N5 and so on until the end of queue. Oncethe queue is over it will assign next 3 to N2 and so on.in this way the whole algorithm will work and would helpin increasing the performance and improve load balancing. 1 0 0 135 2 IJIRT 100026 INTERNATIONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 59
V. CONCLUSION Cloud computing is a wide area of research and load balancing is always been a key area of it,so here following research is mainly focuses on 3 parameters for better utilization of resources which leads to efficient performance. The factors are load on server nodes, performance factor and future load factor which calculates the future load on nodes with help of predictive analysis method by newton s divided difference formula. VI. FUTURE WORK In future we are going to incorporate this into existing world for better performance. We can also consider some other parameters for fair and efficient utilization of resources like we can consider user base priority, cost etc [2]Amardeep kaur sidhu,supriya Kinger, A Sophisticated Approch For Job Scheduling in Cloud Server,International journal of computer trends and technology,vol 4,7 th July 2013. [3]https://devcentral.f5.com/weblogs/dma cvittie/archive/2009/03/31/introto-loadbalancing-for-developers-ndash-thealgorithms.aspx [4] Venubabu Kunamneni, Dynamic Load Balancing for the Cloud, International Journal of Computer Science and Electrical Engineering (IJCSEE), Vol-1 Iss-1, 2012. [5] Dr Hemant Mahalle,Parag R Kaveri,Dr. Vinay Chavan Load Balancing on Cloud Data Centers, International Journal of advanced Research in Computer Science & Software Engineering, January 2013,Vol 3, issue 1. WEBSITES REFERENCES [1] Jitendra Bhatia, Tirth Patel, Harshal Trivedi, Vishrut Majmudar, HTV Dynamic Load Balancing Algorithm for Virtual Machine Instances in Cloud,18,Dec2 012,Pages 15-20 IEEE. 1. Cloud computingarticle,http://en.wikipedia.or g/wiki/cloud_computing.htm IJIRT 100026 INTERNATIONAL JOURNAL OF INNOVATIVE RESEARCH IN TECHNOLOGY 60