IJETTCS-2013-06-25-151 by editorijettcs


									   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.Peter’s University, Chennai, TamilNadu, India
                                                  Associate Prof., Dept. Of MCA,
                                 Rajalakshmi Engineering College, Chennai, TamilNadu, India

                                                                  balancing algorithms which supports fault tolerance for
Abstract: A fault tolerant cloud means the ability of the         the cloud environment.
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
                                                                  2. Fault tolerance techniques in cloud
computing, load balancing is required to distribute the           There are various techniques available to provide fault
dynamic local workload evenly across all the nodes. It helps      tolerance. Below given techniques achieve fault tolerance
to achieve a high user satisfaction and resource utilization      by load balancing.
ratio by ensuring an efficient and fair allocation of every
computing resource. The load balancing should be a good           1)Replication-Various task replicas are run on different
fault-tolerant technique. This paper discusses about the load       resources, for the execution to succeed till the entire
balancing algorithms which supports fault tolerance for the         replicated task is not crashed. It can be implemented
cloud.                                                              using tools like HAProxy, Hadoop and AmazonEc2 etc.
Keywords: cloud computing, Load balancing, fault                   2)Job Migration-During failure of any task, it can be
tolerance, performance.                                             migrated to another machine. This technique can be
                                                                    implemented by using HAProxy.
1. Introduction                                                   3)SGuard-It is less disruptive to normal stream
Cloud computing has recently gained significant attention           processing and makes more resources available.SGuard
from both industry and academia. While there are many               is based on rollback recovery[4] and can be
definitions of cloud computing, they all embrace these key          implemented in HADOOP, Amazon EC2.
characteristics: the ability to deliver IT services at a lower    4)Self-Healing- When multiple instances of an
barrier to entry in terms of cost, risk, and expertise, with        application are running on multiple virtual machines, it
higher flexibility and better scaling on-demand.[1]                 automatically handles failure of application instances.

Cloud computing is a style of computing where service is          3. Importance of Load balancing
provided across the Internet using different models and           Load balancing is one of the important factors to heighten
layers of abstraction [2]. It refers to the applications          the working performance of the cloud service provider.
delivered as services [3] to the mass, ranging from the           Balancing the load of virtual machines uniformly means
end-users hosting their personal documents on the                 that anyone of the available machine is not idle or
Internet to enterprises outsourcing their entire IT               partially loaded while others are heavily loaded. One of
infrastructure to external data centers. A simple example         the crucial issue of cloud computing is to divide the
of cloud computing service is Yahoo email or Gmail etc.           workload dynamically.
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                                  Figure 1- Load Balancing
efficient load balancing and identifies some of the load
Volume 2, Issue 3 May – June 2013                                                                                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    In this algorithm [11], A central processor selects the host
the problem of timeouts, response delays and long             for new process. The minimally loaded processor
processing time.                                              depending on the overall load is selected when process is
                                                              created. Load manager selects hosts for new processes so
3.1 Goals of Load Balancing                                   that the processor load confirms to same level as much as
Goals of load balancing as discussed by authors of [6], [7]   possible. From then on hand information on the system
include:                                                      load state central load manager makes the load balancing
      Substantial improvement in performance                 judgment. This information is updated by remote
     Stability maintenance of the system                     processors, which send a message each time the load on
                                                              them changes. This information can depend on waiting of
     Increase flexibility of the system so as to adapt to    parent’s process of completion of its children’s process,
       the modifications.                                     end of parallel execution.
      Build a fault tolerant system by creating backups.               The load manager makes load balancing
3.2 Load Balancing Algorithms                                 decisions based on the system load information, allowing
In this section we have discussed some of the load            the best decision when the process created. High degree of
balancing algorithms which helps to build a fault tolerant    inter-process communication could make the bottleneck
system.                                                       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
Figure 2. Cloud Environment with load balancing.
                                                              requests in the queue, the first such request is removed
                                                              from the queue and the new activity is assigned to it.
3.2.1 Load Balancing strategy for Virtual Storage - H.        When a processor load falls under the threshold, the local
Liu et al. [10] proposed a load balancing virtual storage     load manager sends a request for a new activity to the
strategy (LBVS) that provides a large scale net data          central load manager. The central load manager answers
storage model and Storage as a Service model based on         the request immediately if a ready activity is found in the
Cloud Storage. Storage virtualization is achieved using an    process-request queue, or queues the request until a new
architecture that is three-layered and load balancing is      activity arrives.
achieved using two load balancing modules. It helps in
improving the efficiency of concurrent access by using        3.2.5 Local Queue Algorithm
replica balancing further reducing the response time and      Main feature of this algorithm [12] is dynamic process
enhancing the capacity of disaster recovery. This strategy    migration support. The basic idea of the local queue
also helps in improving the use rate of storage resource,     algorithm is static allocation of all new processes with
flexibility and robustness of the system.                     process migration initiated by a host when its load falls
                                                              under threshold limit, is a user-defined parameter of the
3.2.2 ACCLB (Load Balancing mechanism based on                algorithm. The parameter defines the minimal number of
ant colony and complex network theory) - Z. Zhang et          ready processes the load manager attempts to provide on
al. [9] proposed a load balancing mechanism based on ant      each processor.
colony and complex network theory in an open cloud            Initially, new processes created on the main host are
computing federation. It uses small-world and scale-free      allocated on all under loaded hosts. The number of
characteristics of a complex network to achieve better        parallel activities created by the first parallel construct on
load balancing. This technique overcomes heterogeneity,       the main host is usually sufficient for allocation on all
is adaptive to dynamic environments, is excellent in fault    remote hosts. From then on, all the processes created on
tolerance and has good scalability hence helps in             the main host and all other hosts are allocated locally.
improving the performance of the system.                      When the host gets under loaded, the local load manager
                                                              attempts to get several processes from remote hosts. It
3.2.3Central Manager Algorithm

Volume 2, Issue 3 May – June 2013                                                                               Page 405
   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          [8]Aarti Khetan Vivek Bhushan Subhash Chand Gupta
processes to remote load managers.                                   “A Novel Survey on Load Balancing in Cloud
When a load manager receives such a request, it                      Computing “ International Journal of Engineering
compares the local number of ready processes with the                Research & Technology (IJERT) Vol. 2 Issue 2,
received number. If the former is greater than the latter,           February- 2013 ISSN: 2278-0181
then some of the running processes are transferred to the        [9]Z. Zhang, and X. Zhang, “A Load Balancing
requester and an affirmative confirmation with the                   Mechanism Based on Ant Colony and Complex
number of processes transferred is returned.                         Network Theory in Open Cloud Computing
                                                                     Federation”, Proceedings of 2nd International
4. Performance of Load balancing Algorithm                           Conference on Industrial Mechatronics and
The performance of load balancing algorithms is                      Automation (ICIMA), Wuhan, China, May 2010,
measured by the various parameters like overload                     pages 240- 243.
rejection, fault tolerance, forecasting accuracy, stability,    [10]Zhang Z. and Zhang X. (2010) 2nd International
resource utilization etc.,                                           Conference on Industrial Mechatronics and
The load balancing algorithms discussed in section 3                 Automation, 240-243.
promises to build fault tolerant systems, means that the        [11] P. L. McEntire, J. G. O'Reilly, and R. E. Larson,
algorithm is able to tolerate tortuous faults and continue           Distributed     Computing:       Concepts      and
operating properly in the event of some failure. If the              Implementations. New York: IEEE Press, 1984
performance of algorithm decreases, the decrease is             [12]William Leinberger, George Karypis, Vipin Kumar,
proportional to the seriousness of the failure.                      "Load Balancing Across Near-Homogeneous Multi-
                                                                     Resource Servers", 0-7695-0556- 2/00, 2000 IEEE.
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.

[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. 50–55, 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. 50–58, 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,
[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

To top