| OCR Text |
Show 3.3.1 Real Time Checkpoint The checkpoint provides a copy of a process at one point in time. Checkpoints are useful in fault tolerant and other critical applications. Latency is defined as the time that the executor is interrupted during a checkpointing process. For real time systems, it is important that the latency is bounded and as small as possible. Some existing real time algorithms for checkpoints use the paging mechanism to achieve latency on the order of 0.1 seconds [20, 47]. The ability of reverse execution provides real-time checkpoint with a much lower latency. On a multiprocessor with shared memory, checkpoints can be performed concurrently with a minimal suspension of the target process. The algorithm for a real-time checkpoint is simple. At the beginning of the checkpoint at time to, the checkpoint process clears the history of the target process and obtains the internal state of the target processor. The time to obtain the internal state of the processor determines the latency of the algorithm. Then the checkpoint process starts to copy the main memory of the target process to a separate memory, while the target process continues with its execution. During the checkpoint, the history of the target process is saved. After the checkpoint process copies the entire state of the target process, the copy is inconsistent since it contains values from different moments of execution. By applying the elements of the history from the most recent to the oldest, the checkpoint process can recreate the complete state of the target process at the start of the checkpoint at time to. The algorithm makes a checkpoint of the main memory. Depending on the application, the values of internal registers might be required as well. On standard processors, it is estimated that this action can be performed in around 100 instructions for a computer with 32 registers. In this case, the execution time of around 100 instructions represents the latency of the algorithm. 50 |