29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Adaptive Checkpointing with Dynamic Voltage Scaling 453<br />

is given by<br />

from which it follows that<br />

To <strong>de</strong>crease the checkpointing cost, we set the checkpointing<br />

interval to in our adaptive scheme.<br />

A similar threshold on the execution time can easily be calculated <strong>for</strong> the<br />

k-fault-tolerant scheme. In or<strong>de</strong>r to satisfy the k-fault-tolerant requirement,<br />

the worst-case re-execution time is incorporated. The following inequality<br />

must hold:<br />

This implies the following<br />

threshold on E:<br />

If the execution time E exceeds the k-fault-tolerant checkpointing<br />

scheme cannot provi<strong>de</strong> a <strong>de</strong>terministic guarantee to tolerate k faults.<br />

3.1. Checkpointing algorithm<br />

The adaptive checkpointing algorithm attempts to maximize the probability<br />

that the task completes be<strong>for</strong>e its <strong>de</strong>adline <strong>de</strong>spite the arrival of faults as a<br />

Poisson process with rate A secondary goal is to tolerate, as <strong>for</strong> a possible,<br />

up to k faults. In this way, the algorithm accommodates a pre-<strong>de</strong>fined faulttolerance<br />

requirement (handle up to k faults) as well as dynamic fault arrivals<br />

mo<strong>de</strong>led by the Poisson process. We list below some notation that we use in<br />

our <strong>de</strong>scription of the algorithm:<br />

1.<br />

<strong>de</strong>notes the checkpointing interval <strong>for</strong> the Poisson-arrival<br />

approach.<br />

2.<br />

<strong>de</strong>notes the checkpointing interval <strong>for</strong> the k-faulttolerant<br />

approach.<br />

3.<br />

<strong>de</strong>notes the checkpointing interval<br />

if the Poisson-arrival approach is not feasible <strong>for</strong> timely task completion.<br />

4. <strong>de</strong>notes the remaining execution time. It is obtained by subtracting from<br />

E the amount of time the task has executed (not including checkpointing<br />

and recovery).<br />

5. <strong>de</strong>notes the time left be<strong>for</strong>e the <strong>de</strong>adline. It is obtained by subtracting<br />

the current time from D.<br />

6. <strong>de</strong>notes an upper bound on the remaining number of faults that must be<br />

7.<br />

tolerated.<br />

The threshold is obtained by replacing D with in (1).<br />

8. The threshold is obtained by replacing D with and k with<br />

in (2).<br />

The procedure interval<br />

<strong>for</strong> calculating the checkpointing<br />

interval is <strong>de</strong>scribed in Figure 33-2(a), and the adaptive checkpointing scheme<br />

adapchp(D, E, C, k, is <strong>de</strong>scribed in Figure 33-2(b). The adaptive checkpointing<br />

procedure is event-driven and the checkpointing interval is adjusted<br />

when a fault occurs and rollback recovery is per<strong>for</strong>med.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!