An Adaptable Approach to Fault Tolerance in Cloud Computing

An Adaptable Approach to Fault Tolerance in Cloud Computing

Priti Kumari, Parmeet Kaur
Copyright: © 2023 |Pages: 24
DOI: 10.4018/IJCAC.319032
Article PDF Download
Open access articles are freely available for download

Abstract

Existing fault tolerance approaches in the cloud are broadly based on replication and checkpointing. Each of these approaches has its advantages and limitations. This paper presents an adaptable fault tolerance method for determining which of the two approaches will be appropriate for the successful execution of a task in the given cloud conditions. The proposed method classifies the failure risk of host machines available for task execution based on their failure history. Subsequently, fuzzy logic is used to determine the appropriate fault tolerance approach by considering a host's failure risk, user-defined task's priority, and level of resource redundancy. Setting a task's priority provides a user with control to solicit a desired fault tolerance level while the availability of resources reflects a cloud provider's capability to offer fault tolerance. Simulation experiments have verified that the proactive selection of a fault-tolerance method increases the number of tasks that complete successfully.
Article Preview
Top

1. Introduction

The extensive use of cloud computing services has been a consequence of the possibility of flexible and elastic provisioning of resources based on user requirements in a pay-per-use manner. Users are no longer required to buy, manage, or upgrade their computing resources (Zhou et al., 2017). Instead, they can get various information technology capabilities, such as computing, storage, memory, networks, software, etc., as services at low costs and without the hassles of owning or maintaining the resources. On the other side, cloud service providers benefit due to the scale of their service usage along with the idea of multi-tenancy. A multitenant architecture allows a cloud provider to share resources among multiple users; thereby, incurring a lower cost. It is also possible for a user to request dedicated resources though these will come at an increased cost (Kumari & Kaur, 2020).

Even though cloud computing services are being used for a huge number of applications, there are concerns related to failures and therefore, degradation of performance in the cloud. Failures affect the reliability as well as the availability of services and need to be handled effectively. Therefore, fault tolerance is one of the key elements of Service Level Objectives (SLOs) for cloud services’ users (Buyya et al., 2009). FT is the capability of a device or system to continue its operations in the case where some of its components may have failed (Menychtas & Konstanteli, 2012) (Hasan & Goraya, 2018). Existing approaches to fault tolerance in the cloud are based on traditional distributed computing approaches that fall broadly into two categories: reactive and proactive. Reactive approaches include recovery protocols based on checkpointing and replication protocols and these approaches handle faults after they occur. In contrast, proactive approaches attempt to estimate the occurrence of failures before they occur. Examples include approaches to job migration and self-healing. Of the two categories, reactive approaches have found a wider implementation in cloud computing due to their simplicity and ease of implementation (Kumari & Kaur, 2018) (Saikia & Devi, 2014).

This paper explores the application of the reactive approaches of fault tolerance, i.e., checkpointing and replication, in the Infrastructure as a service (IaaS) cloud. Checkpointing is a well-known technique in which the state of an active virtual machine (VM) is saved periodically during normal execution. In case a failure occurs, the task needs to roll back to the last saved checkpoint instead of restarting; thus, preventing loss in execution. In cloud computing, checkpointing has been widely used to periodically save an active virtual machine’s state for recovery on a physical machine other than the one on which it is hosted (Zhou et al., 2017). The VM can retrieve its last saved error-free state if the failure occurs before its completion. On the other hand, replication of a task or a resource implies maintaining a copy of the same. Here, the copy can be used to replace the primary task or resource in case of failure. Replication is based on the use of redundancy to handle failures and so has been used in cloud computing wherever resources are, in general, available in abundance.

Each of the two approaches, i.e., checkpointing and replication have its own benefits and limitations. Checkpointing uses much lower resources as compared to replication since only the state of a task needs to be saved periodically. However, checkpointing involves overhead at the time of saving checkpoints as well as during recovery (Zhou et al., 2016). Further, a checkpoint allows recovery from a single failure since simultaneous failures of the machines hosting the VM and storing its checkpoint cannot be handled. In comparison, k-replication, i.e., saving k replicas guarantees recovery from up to k-1 failures though it involves the use of k times the actually needed resources. Thus, it is evident that the selection of a fault-tolerance approach needs to be judicious for the best results with minimum resource consumption.

Complete Article List

Search this Journal:
Reset
Volume 14: 1 Issue (2024)
Volume 13: 1 Issue (2023)
Volume 12: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 11: 4 Issues (2021)
Volume 10: 4 Issues (2020)
Volume 9: 4 Issues (2019)
Volume 8: 4 Issues (2018)
Volume 7: 4 Issues (2017)
Volume 6: 4 Issues (2016)
Volume 5: 4 Issues (2015)
Volume 4: 4 Issues (2014)
Volume 3: 4 Issues (2013)
Volume 2: 4 Issues (2012)
Volume 1: 4 Issues (2011)
View Complete Journal Contents Listing