Abstract
Grid computing is a collection of computer resources from multiple locations assembled to provide computational services, storage, data or application services. Grid computing users gain access to computing resources with little or no knowledge of where those resources are located or what the underlying technologies, hardware, operating system, and so on are. Reliability and performance are among the key challenges to deal with in grid computing environments. Accordingly, grid scheduling algorithms have been proposed to reduce the likelihood of resource failure and to reduce the overhead of recovering from resource failure. Checkpointing is one of the faulttolerance techniques when resources fail. This technique reduces the work lost due to resource faults but can introduce significant runtime overhead. This research provided an enhanced checkpointing technique that extends a recent research and aims at lowering the runtime overhead of checkpoints. The results of the simulation using GridSim showed that keeping the number of resources constant and varying the number of gridlets, improvements of up to 9%, 11%, and 11% on throughput, makespan and turnaround time, respectively, were achieved while varying the number of resources and keeping the number of gridlets constant, improvements of up to 8%, 11%, and 9% on throughput, makespan and turnaround time, respectively, were achieved. These results indicate the potential usefulness of our research contribution to applications in practical grid computing environments.
CHAPTER ONE
INTRODUCTION
1.1 Background of the Study
Grid computing uses a computer network in which each computer's resources are shared with every other computer in the system. In view of this, computing becomes pervasive and individual users (or client applications) gain access to computing resources (processors, storage, data, applications, and so on) as needed with little or no knowledge of where those resources are located or what the underlying technologies, hardware, operating system, and so on are. The main objective in grid scheduling is to finish a job or application as soon as possible(Harshadkumar and Vipul, 2014). Fault tolerance is an important property for large scale computational grid systems, where geographically distributed nodes cooperate to execute a task in order to achieve a high level of reliability and availability. A common approach to guarantee an acceptable level of fault tolerance in scientific computing is to use checkpointing. When a task fails it can be restarted from its most recently checkpointed state rather than from the beginning, which reduces the system loss and ensures reliability (Bakhta and Ghalem, 2014).
1.2 Motivation
The ability to checkpoint a running application and restart it later can provide many useful benefits like fault recovery, advanced resource sharing, dynamic load balancing and improved service availability. A fault-tolerant service is essential to satisfy QoS requirements in grid computing. However, excessive checkpointing results in performance degradation. Thus there is the need to improve the performance by reducing the number of times that checkpointing is invoked.