10.07.2015 Views

2 Problem 1: A Reliability Calculus - MTC

2 Problem 1: A Reliability Calculus - MTC

2 Problem 1: A Reliability Calculus - MTC

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Problem</strong> Solving in Computer Science · Summer 2007Tom Henzinger2 <strong>Problem</strong> 1: A <strong>Reliability</strong> <strong>Calculus</strong>16. March 2007Let T be a set of tasks.Definition of ComponentA component φ = (I, O, π, ρ) consists of a set I of input variables, a set O of outputvariables, a program π from I to O, and a map ρ: O → [0, 1] that assigns to each outputvariable a desired reliability.A program π = (F, L, R, W, t) from I to O consists of a set F of functions, a set L oflocal variables, a map R: F → 2 I∪L that assigns to each function a set of read variables,a map W : F → 2 O∪L that assigns to each function a set of written variables, and a mapt: F → T that assigns to each function a task. We require that no two functions writeto the same variable, i.e., for all f, g ∈ F , if f ≠ g, then W (f) ∩ W (g) = ∅.Intention: For every output variable o ∈ O, if o depends on the set I ′ ⊆ I of inputvariables, and the mean time to failure for each input variable i ∈ I is m i , then theimplementation of the component φ must ensure that the mean time to failure m o for osatisfies the following reliability constraint:m o≥11 − ρ(o) · ∏i∈I ′(1 − 1 m i)Definition of PlatformA platform s = (P, N, C, δ, λ) consists of a set P of processors, a set N of networks,a map C: N → 2 P that assigns to each network a set of connected processors, a mapδ: P × T → [0, 1] that assigns to each processor and each task a load, and a map λ:P → [0, 1] that assigns to each processor a failure rate.Intention: For each processor p ∈ P , the execution of a task t ∈ T requires fractionδ(p, t) of every time unit. The arrival of failures at processor p is a Poisson process withrate λ(p).Some Questions1. Define an implementation of a component on a platform. To achieve the desiredreliability, a function may be replicated on multiple processors. The implementationis correct if it satisfies the reliability constraints of all output variables. Definecorrectness.1


2. How hard is it to check the correctness of an implementation? To find a correctimplementation? Are there interesting special cases of components and platformsthat can be correctly implemented in polynomial time?3. Can you refine the notion of component to support a compositional proof ruleabout correct implementability?4. Change the semantics of programs from synchronous to dataflow.2

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

Saved successfully!

Ooh no, something went wrong!