Collaborative Services for Fault Tolerance in Hierarchical Data Grid

Collaborative Services for Fault Tolerance in Hierarchical Data Grid

B. Meroufel (Department of Computer Science, Faculty of Sciences, University of Oran, Es Senia, Algeria) and G. Belalem (Department of Computer Science, Faculty of Sciences, University of Oran, Es Senia, Algeria)
Copyright: © 2014 |Pages: 21
DOI: 10.4018/ijdst.2014010101
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

As fault tolerance is the ability of a system to perform its function correctly even in the presence of faults. Therefore, different fault tolerance techniques are critical for improving the efficient utilization of expensive resources in high performance data grid systems. One of the most popular strategies of fault tolerance is the replication, it creates multiple copies of resources in the system and it has been proved to be an effective way to achieve data availability and system reliability. In this paper the authors propose a new adaptive dynamic replication that combines between a replication based on availability and replication based on popularity. The authors' adaptive dynamic replication uses two types of replicas (primary and ordinary) and two types of placement nodes (best client and best responsible nodes) for the new replicas. In addition to the replication, we used other strategies such as fault detection, fault prediction, dynamicity management, self-stabilization. All these services are grouped in one fault tolerance box named Collaborative Services for Fault Tolerance (CSFT) that structure them in hierarchical services and organize the relationships between them.
Article Preview

Introduction

Grid computing is an important technique to manage computing resources distributed in different geographical locations and appear as a single entity. The current level of technology and the great interest of researchers in this methodology make the data grid an interesting solution to the problems of computing and storage intensive (Antoniu et al., 2004). Data Grids is a type of grid computing that have been adopted as the next-generation platform by many scientific communities that need to share, access, transport, process and manage large data collections distributed worldwide (Antoniu et al., 2004). They combine high-end computing technologies with high-performance networking and wide-area storage management techniques. In the context of Data Grid, we can find generally three types of elements (or nodes) (Meroufel & Belalem, 2011):

  • Storage Elements: They are the nodes that store data;

  • Computing Elements: They are the nodes that execute the jobs and applications;

  • Hybrid Elements: They are the nodes that store data and execute jobs at the same time such as personnel computers.

Each element can send a request or answer it. For example a computing node can send a request to find a specified file that is stored in the storage element.

However, for the rest of this paper and unless otherwise stated, the term node means all thus types of elements (storage, computing and hybrid). But we will focus on nodes that contain data (Storage and hybrid elements). Data Grids require users to share both data and resources, and the management of such a large volume of data sets has posed a challenging problem in how to make the data more approachable and available to the users. A common solution to improve availability and file access time in a Data Grid is to replicate the data (Venugopal et al., 2006). When data is replicated, copies of data files are created at many different sites in the Data Grid. The dynamic behavior of a Grid user, in combination with the large volume of datasets, makes it difficult to make decisions concerning when or when replicating data to meet improve the system performances. In a Data Grid system, there are hundreds of clients across the globe who will submit their job requests, each of which will access multiple files to do some type of analysis. In data-intensive applications, when a job accesses a massive-size file, the unavailability of that file can increase the execution time of jobs. In large-scale data-intensive systems, hundreds of nodes will be involved and any node failure or network outage can cause potential file unavailability. As a result, the fault tolerance and data availability are very important issue in data grid but unfortunately, the majority of the researches focus on one domain such as:

  • Replication defines creating copies of a data file in several nodes can improve availability but when or where creating thus copies is a critical problem;

  • Self-stabilization defines returning to a legitimate state automatically in case of a failure. The legitimate state in our work is the connected hierarchical topology that can be disconnected because the failure. This concept will be detailed in section 4.2.3a);

  • Dynamicity management defines managing the arrival and departure of nodes in the system is important in a dynamic system such as the data grid;

  • Failure detection defines detecting the failed nodes in the system; several strategies are proposed to detect failures in distributed systems using for example Life messages or Ping/Pong messages (Hughes et al., 2002).

So the interaction and the collaboration between thus domains are rarely studied. In this paper, we improve each domain of fault tolerance and we collect them in a new CSFT (Collaborative Services for Fault Tolerance). The CSFT tolerates the faults in transparent and efficient ways using several collaborative services. The services are organized in hierarchical way (services and sub-services) and they are responsible to offer one or more domain of fault tolerance.

Complete Article List

Search this Journal:
Reset
Open Access Articles
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing