Application Checkpointing Technique for Self-Healing From Failures in Mobile Grid Computing

Application Checkpointing Technique for Self-Healing From Failures in Mobile Grid Computing

Amit Sadanand Savyanavar (Dr. D.Y. Patil College of Engineering and Technology, Shivaji University, Kolhapur, India) and Vijay Ram Ghorpade (Bharati Vidyapeeth's College of Engineering, Kolhapur, India)
Copyright: © 2019 |Pages: 13
DOI: 10.4018/IJGHPC.2019040103

Abstract

A mobile grid (MG) consists of interconnected mobile devices which are used for high performance computing. Fault tolerance is an important property of mobile computational grid systems for achieving superior arrangement reliability and faster recovery from failures. Since the failure of the resources affects task execution fatally, fault tolerance service is essential to achieve QoS requirement in MG. The faults which occur in MG are link failure, node failure, task failure, limited bandwidth etc. Detecting these failures can help in better utilisation of the resources and timely notification to the user in a MG environment. These failures result in loss of computational results and data. Many algorithms or techniques were proposed for failure handling in traditional grids. The authors propose a checkpointing based failure handling technique which will improve arrangement reliability and failure recovery time for the MG network. Experimentation was conducted by creating a grid of ubiquitously available Android-based mobile phones.
Article Preview
Top

1. Introduction

Recent advances in the computing power of mobile devices has made it feasible to generate a true mobile grid (MG) (Savyanavar et al., 2013) consisting of only mobile devices for high performance computations. Collaborative computing using MG involves a number of mobile devices like laptop, cell phones, PDA, wearable computing devices and mobile robotic systems. MG provides a framework for numerous real-life applications in the areas of healthcare, disaster management and military applications. Addressing failure of nodes is more critical in MG than conventional wired grids due to host mobility, dynamicity, less reliable wireless links and frequent disconnections in mobile systems. Mobility (Savyanavar et al., 2015) of the nodes aggravates the reliability issue in MG. MG follows peer-to-peer computing architecture (Tung et al., 2012). Due to peer volatility, peer failure is a critical issue in peer-to-peer computing. In such networks, a peer may leave unpredictably. This peer may be executing a subtask, which would fail abruptly and hence affect the overall execution of the application. An efficient fault tolerance mechanism is pivotal for successful execution of the application. Replication and rollback (Treaster et al., 2005) are two failure handling techniques, which can be deployed to achieve robustness. Replication creates a copy called replica at one or multiple sites by storing on a stable storage. If original copy fails, replica can be used by the application to progress. In the case of a rollback recovery technique, when a failure occurs the system is restored to a previous stable state which was preserved.

MG should ideally self-heal (H. Viswanathan et al., 2012) itself from failures without any manual intervention and resume its computations. One viable solution to recover from failure is via checkpointing (Alshareef et al., 2017). It is a method or practice of saving a process state to a stable storage periodically. So, whenever a fault occurs, we don't have to restart the failed task. Rather we use the last saved state to recover from the failure occurrence. These saved states are called checkpoints. Checkpointing approach is a fault tolerance approach that incorporates two aspects, i.e., checkpoint storage and rollback recovery. The modus operandi of checkpointing strategy is as shown in Figure 1. It depicts that the periodically saved state can be used to rollback and resume the execution of the failed task from the last checkpoint.

Figure 1.

Concept of checkpointing (Rajwinder Singh et al., 2013)

IJGHPC.2019040103.f01

Traditionally available checkpointing approaches cannot be directly applied to MG. There are different categories (Nandhini et al., 2017) of checkpointing which are based on the requirements of the application. Following attributes can aid in deciding the kind of checkpointing required: abstraction level, message coordination, initiator, granularity, scope and storage space. Checkpointing in MG involves identifying an appropriate node where intermediate computed data can be stored for recovery if failure occurs. A challenging issue is the identification of a node which can potentially be paired for storing the checkpointed data and the ability to resume execution if required. This is termed as checkpointing arrangement. Static arrangement is possible when we have a wired grid but for MGs dynamic arrangement is the only option because of the dynamicity involved. A node which has less mobility, high storage space, strong connectivity and high battery level is an ideal candidate for pairing. These aspects will help improve the stability of the determined arrangement.

Due to limited storage space on mobile nodes, a decentralized checkpointing approach is to be adopted where each node participates in the pairing arrangement. A centralized or coordinated approach is futile since failure of mobile nodes is common and also it will result in an increased communication cost. Each node will initiate the search for its partner based on the choices that it has in its locality. The approach must concentrate on finding a local optima instead of a global one.

An application with computationally intensive tasks is a good candidate for checkpointing since these tasks require substantial time and resources for execution. Trivial tasks need not be checkpointed rather a better option would be to re-execute them.

Checkpointing issues in resource constrained mobile devices pose serious challenges like:

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 12: 4 Issues (2020): 1 Released, 3 Forthcoming
Volume 11: 4 Issues (2019)
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing