Article Preview
TopIntroduction
A Grid is a collection of distributed computing resources which work together and connect by internet to resolve the large parallel computations (Nandhini, 2013; Foster & Kesselman & Nick & Tuecke 2008) however, all that widening and the huge number of the nodes involved has created great challenges to achieve reliability in this large environment (Dabrowski, 2009; Avizienis & Jean-Claude & Brian, 2001; Jafar & J-L., 2004). The probability of the failure is much greater than in traditional distribution platforms (such as which uses local communication network), and the failure of resources leads to stop or deviation of service (Avizienis & Jean-Claude & Brian, 2001). It is, therefore, necessary to investigate the parallel application of fault tolerant techniques.
Fault tolerance is studied to maintain the delivery of correct service in the existence of active faults (Kaur & Singh, 2014). It is generally implemented by error detection and later application recovery. Grid system is exposed to different types of faults, that make the Grid unable to provide its services properly, including permanent faults and transient faults (Gramacho, 2009; Haider & Babar, 2016). A permanent fault will remain in the system until replacement or repair of the disabled component and then recovery the app. On the other hand, a transient fault appears, disappears and will maybe never occurs again in the overall of system lifetime (Gramacho, 2009; Kaur & Singh, 2014; Menychtas & Kleopatra, 2012). The major difference between the two types of faults is that the permanent faults are determined immediately when it occurs, and system will rollback to a correct previous state, while the transient faults can occur and strike the data inside the application without detection. So transient fault could propagates from one system’s component to another, and it remains so until it is activated (once the resource with the error is used by the system to do some computations) (Menychtas & Kleopatra, 2012). Transient fault affect internal processor components, particularly in modern processors that have auxiliary memories and internal buses.
In our research we will addresses to two special types of faults that attack the Grid computing: crash fault (as an example for permanent faults), that shows a constant behavior of system during the work, either failure or work at for a moment (Neocleous & Marios & Paraskevi & Evangelos, 2006).
Silent Data Corruption(SDC) (as an example for transient faults) the most dangerous outcome of a transient faults (Gramacho, 2009), won’t stop any application execution and might only be noticed by the users if the final result generated by the application differs from the expected result.
In our manuscript, we propose that the communications layer is to be protected from those faults, which means that these faults have an effect on the app layer.
To the best of our knowledge, Checkpointing/Recovery(C/R) is the most popular fault tolerance technique (Haider & Babar,2016; Jafar & J-L., 2004). However, in the recent years, researchers have developed this technique to cover all system levels, and used multi-levels of checkpointing (Benoit & Cavelan & Robert & Sun,2018; Di & Bouguerra & Bautista-Gomez & Cappello, 2014; Mohror & Moody & Bronevetsky & Supinski,2013). Each level of checkpointing deal with special fault, where fault rate decreases when we go to higher levels. C/R create a save of a previous correct state in the stable memory at the free-fault period, it recovers from save in case of a system failure (Jafar & J-L., 2004; Kaur & Singh, 2014). This definition is usually used for deal the crash fault. To deal with SDC fault we will study in-memory checkpoints coupled with verification mechanism to detect that error (Benoit & Cavelan & Robert & Sun,2018; Benoit & Cavelan & Robert & Sun,2016), which means not needed to additional cost for stable storage process. We would explain the difference between two types of storage in environment model paragraph.