Вы находитесь на странице: 1из 3

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)

Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 2, Issue 3, May June 2013 ISSN 2278-6856

Achieving Fault Tolerance in Cloud Environment by Efficient Load Balancing


Ms.G.Gayathri1, Dr.N.Prabakaran2
Research Scholar, Dept. Of MCA, St.Peters University, Chennai, TamilNadu, India
2 1

Associate Prof., Dept. Of MCA,

Rajalakshmi Engineering College, Chennai, TamilNadu, India

Abstract: A fault tolerant cloud means the ability of the


system to respond to an unexpected failure. Failures happen due to many factors. One important factor is arbitrary node or link failure which results in denial of service. In cloud computing, load balancing is required to distribute the dynamic local workload evenly across all the nodes. It helps to achieve a high user satisfaction and resource utilization ratio by ensuring an efficient and fair allocation of every computing resource. The load balancing should be a good fault-tolerant technique. This paper discusses about the load balancing algorithms which supports fault tolerance for the cloud.

balancing algorithms which supports fault tolerance for the cloud environment.

2. Fault tolerance techniques in cloud


There are various techniques available to provide fault tolerance. Below given techniques achieve fault tolerance by load balancing. 1)Replication-Various task replicas are run on different resources, for the execution to succeed till the entire replicated task is not crashed. It can be implemented using tools like HAProxy, Hadoop and AmazonEc2 etc. 2)Job Migration-During failure of any task, it can be migrated to another machine. This technique can be implemented by using HAProxy. 3)SGuard-It is less disruptive to normal stream processing and makes more resources available.SGuard is based on rollback recovery[4] and can be implemented in HADOOP, Amazon EC2. 4)Self-Healing- When multiple instances of an application are running on multiple virtual machines, it automatically handles failure of application instances.

Keywords: cloud computing, Load balancing, fault tolerance, performance.

1. Introduction
Cloud computing has recently gained significant attention from both industry and academia. While there are many definitions of cloud computing, they all embrace these key characteristics: the ability to deliver IT services at a lower barrier to entry in terms of cost, risk, and expertise, with higher flexibility and better scaling on-demand.[1] Cloud computing is a style of computing where service is provided across the Internet using different models and layers of abstraction [2]. It refers to the applications delivered as services [3] to the mass, ranging from the end-users hosting their personal documents on the Internet to enterprises outsourcing their entire IT infrastructure to external data centers. A simple example of cloud computing service is Yahoo email or Gmail etc. Although cloud computing has been widely adopted by the industry, still there are many research issues to be fully addressed. Fault tolerance is one of the key issues amongst all. It is concerned with all the techniques necessary to enable a system to tolerate software faults remaining in the system after its development. When a fault occurs, these techniques provide mechanisms to the software system to prevent system failure occurrence [4]. The main benefits of implementing fault tolerance in cloud computing include failure recovery, lower cost, improved performance metrics etc. This paper aims to provide a better understanding of fault tolerance by efficient load balancing and identifies some of the load Volume 2, Issue 3 May June 2013

3. Importance of Load balancing


Load balancing is one of the important factors to heighten the working performance of the cloud service provider. Balancing the load of virtual machines uniformly means that anyone of the available machine is not idle or partially loaded while others are heavily loaded. One of the crucial issue of cloud computing is to divide the workload dynamically.

Figure 1- Load Balancing

Page 404

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 2, Issue 3, May June 2013 ISSN 2278-6856
If this issue is not addressed then the users have to face the problem of timeouts, response delays and long processing time. 3.1 Goals of Load Balancing Goals of load balancing as discussed by authors of [6], [7] include: Substantial improvement in performance Stability maintenance of the system Increase flexibility of the system so as to adapt to the modifications. Build a fault tolerant system by creating backups. 3.2 Load Balancing Algorithms In this section we have discussed some of the load balancing algorithms which helps to build a fault tolerant system. In this algorithm [11], A central processor selects the host for new process. The minimally loaded processor depending on the overall load is selected when process is created. Load manager selects hosts for new processes so that the processor load confirms to same level as much as possible. From then on hand information on the system load state central load manager makes the load balancing judgment. This information is updated by remote processors, which send a message each time the load on them changes. This information can depend on waiting of parents process of completion of its childrens process, end of parallel execution. The load manager makes load balancing decisions based on the system load information, allowing the best decision when the process created. High degree of inter-process communication could make the bottleneck state. This algorithm is expected to perform better than the parallel applications, especially when dynamic activities are created by different hosts. 3.2.4 Central Queue Algorithm Central Queue Algorithm [12] works on the principle of dynamic distribution. It stores new activities and unfulfilled requests as a cyclic FIFO queue on the main host. Each new activity arriving at the queue manage r is inserted into the queue. Then, whenever a request for an activity is received by the queue manager, it removes the first activity from the queue and sends it to the requester. If there are no ready activities in the queue, the request is buffered, until a new activity is available. If a new activity arrives at the queue manager while there are unanswered requests in the queue, the first such request is removed from the queue and the new activity is assigned to it. When a processor load falls under the threshold, the local load manager sends a request for a new activity to the central load manager. The central load manager answers the request immediately if a ready activity is found in the process-request queue, or queues the request until a new activity arrives. 3.2.5 Local Queue Algorithm Main feature of this algorithm [12] is dynamic process migration support. The basic idea of the local queue algorithm is static allocation of all new processes with process migration initiated by a host when its load falls under threshold limit, is a user-defined parameter of the algorithm. The parameter defines the minimal number of ready processes the load manager attempts to provide on each processor. Initially, new processes created on the main host are allocated on all under loaded hosts. The number of parallel activities created by the first parallel construct on the main host is usually sufficient for allocation on all remote hosts. From then on, all the processes created on the main host and all other hosts are allocated locally. When the host gets under loaded, the local load manager attempts to get several processes from remote hosts. It Page 405

Figure 2. Cloud Environment with load balancing. 3.2.1 Load Balancing strategy for Virtual Storage - H. Liu et al. [10] proposed a load balancing virtual storage strategy (LBVS) that provides a large scale net data storage model and Storage as a Service model based on Cloud Storage. Storage virtualization is achieved using an architecture that is three-layered and load balancing is achieved using two load balancing modules. It helps in improving the efficiency of concurrent access by using replica balancing further reducing the response time and enhancing the capacity of disaster recovery. This strategy also helps in improving the use rate of storage resource, flexibility and robustness of the system. 3.2.2 ACCLB (Load Balancing mechanism based on ant colony and complex network theory) - Z. Zhang et al. [9] proposed a load balancing mechanism based on ant colony and complex network theory in an open cloud computing federation. It uses small-world and scale-free characteristics of a complex network to achieve better load balancing. This technique overcomes heterogeneity, is adaptive to dynamic environments, is excellent in fault tolerance and has good scalability hence helps in improving the performance of the system. 3.2.3Central Manager Algorithm Volume 2, Issue 3 May June 2013

International Journal of Emerging Trends & Technology in Computer Science (IJETTCS)


Web Site: www.ijettcs.org Email: editor@ijettcs.org, editorijettcs@gmail.com Volume 2, Issue 3, May June 2013 ISSN 2278-6856
randomly sends requests with the number of local ready processes to remote load managers. When a load manager receives such a request, it compares the local number of ready processes with the received number. If the former is greater than the latter, then some of the running processes are transferred to the requester and an affirmative confirmation with the number of processes transferred is returned. [8]Aarti Khetan Vivek Bhushan Subhash Chand Gupta A Novel Survey on Load Balancing in Cloud Computing International Journal of Engineering Research & Technology (IJERT) Vol. 2 Issue 2, February- 2013 ISSN: 2278-0181 [9]Z. Zhang, and X. Zhang, A Load Balancing Mechanism Based on Ant Colony and Complex Network Theory in Open Cloud Computing Federation, Proceedings of 2nd International Conference on Industrial Mechatronics and Automation (ICIMA), Wuhan, China, May 2010, pages 240- 243. [10]Zhang Z. and Zhang X. (2010) 2nd International Conference on Industrial Mechatronics and Automation, 240-243. [11] P. L. McEntire, J. G. O'Reilly, and R. E. Larson, Distributed Computing: Concepts and Implementations. New York: IEEE Press, 1984 [12]William Leinberger, George Karypis, Vipin Kumar, "Load Balancing Across Near-Homogeneous MultiResource Servers", 0-7695-0556- 2/00, 2000 IEEE.

4. Performance of Load balancing Algorithm


The performance of load balancing algorithms is measured by the various parameters like overload rejection, fault tolerance, forecasting accuracy, stability, resource utilization etc., The load balancing algorithms discussed in section 3 promises to build fault tolerant systems, means that the algorithm is able to tolerate tortuous faults and continue operating properly in the event of some failure. If the performance of algorithm decreases, the decrease is proportional to the seriousness of the failure.

5. Conclusion
Fault tolerance is one of the main challenges in cloud computing. This paper identified some of the load balancing algorithms which distribute workload across multiple computers or a computer cluster, network links, central processing units, disk drives, or other resources, to achieve optimal resource utilization, maximize throughput, minimize response time, and avoid overload. When all these issues are addressed naturally the system becomes a fault tolerant one.

References
[1] Kunwadee Sripanidkulchai, Sambit Sahu, Yaoping Ruan, Anees Shaikh, and Chitra Dorai Are Clouds Ready for Large Distributed Applications? IBM T.J. Watson Research Center. [2]L. M. Vaquero, L. Rodero-Merino, J. Caceres and M. Lindner, A break in the clouds: towards a cloud definition, SIGCOMM Computer Communication Review,vol. 39, pp. 5055, December 2008. [3]M.Armbrust, A.Fox, R. Griffit,et al., A view of cloud computing, Communications of the ACM, vol. 53, no.4, pp. 5058, 2010. [4]Geoffroy Vallee, Kulathep Charoenpornwattana, Christian Engelmann, Anand Tikotekar, Stephen L. Scott, A Framework for Proactive Fault Tolerance. [5]R. Shimonski, Windows 2000 And Windows Server 2003, Clustering and Load Balancing Emeryville, McGrow-Hill Professional Publishing, CA, USA, 2003. [6]David Escalnte and Andrew J. Korty, Cloud Services: Policy and Assessment, EDUCAUSE Review, Vol. 46, July/August 2011. [7] Parin. V. Patel, Hitesh. D. Patel, Pinal. J. Patel, A Survey on Load Balancing in Cloud Computing IJERT, Vol. 1, Issue 9, November 2012. Volume 2, Issue 3 May June 2013 Page 406

Вам также может понравиться