δ Timeliness Carole DelporteGallet LIAFA UMR 7089 Paris VII Stéphane Devismes VERIMAG UMR 5104 Grenoble I Hugues Fauconnier LIAFA UMR 7089 Paris VII LIAFA Motivation ID: 563518
Download Presentation The PPT/PDF document "Approximation of" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Approximation of δ-Timeliness
Carole Delporte-Gallet, LIAFA UMR 7089, Paris VIIStéphane Devismes, VERIMAG UMR 5104, Grenoble IHugues Fauconnier, LIAFA UMR 7089, Paris VII
LIAFASlide2
Motivation
SettingsAsynchronous message-passing distributed system with process crashesProblem ∃t, ∃ P = p, …,q such that ∀t’>t every message sent through P arrives to q in at most δ time unitsOutput all correct processes eventually
agree on such a path
2
SSS'2010
22/09/2010
We want to solve this problem with a general algorithmSlide3
Framework (1/3)
Eventual Property e.g., δ-timeliness of a path: ɸP(t) ⇔ every message sent through P= p,…,q at time t arrives to q in at most δ time unitsPɸ
P ⇔∃t such that ∀t
’>t
, ɸP(
t’) = trueP
ɸP is true ⇔ ɸ
P is eventually forever trueP
ɸP is false ⇔ ɸP
is infinitely often false
Set of predicates
S
P
e.g., {
P
ɸ
P
: P is an elementary path from p to q }If ∃P ∈ SP : P is true in the run, thenAll correct processes eventually agree on P’ such that P’ is true in the run e.g., problem of the previous slide
22/09/2010
SSS'2010
3Slide4
Framework (2/3)
Approximate a property is often too hard !e.g., δ-timeliness of a link (p,q): Proposition: In any algorithm that approximates the δ-timeliness of a (p,q), p must eventually sends messages at every clock tickApproximate (P,Q) P,Q are predicatesP ⇒
Qe.g, (δ-timeliness of
P, Δ
-timeliness of P) with
Δ≥ δSet of pairs of predicates (
P0,Q0), (
P1,Q
1) …Extraction Algorithm If ∃P
i
:
P
i
is true in the run, then
All correct processes eventually agree on
Q
j
such that Qj is true in the run 22/09/2010SSS'20104Slide5
Framework (3/3)Other problems:
Extraction of tree containing at least all correct processes whose all paths from the root are Δ-timelyExtraction of ring among all correct processes whose all links are Δ-timely…22/09/2010SSS'20105Slide6
Outline
ModelApproximation and ExtractionCase-Study: δ-TimelinessApproximation for δ-Timeliness of a linkExtraction of δ-Timeliness graphsConclusion 6SSS'201022/09/2010Slide7
System Settings
Processes: Synchronous (able to take a step at each clock tick → accurately measure the time)Some process crashes (correct / faulty)Communication: Fully connected graphMessagesLinks: Reliable (no message loss)FIFO7SSS'201022/09/2010Slide8
Reliable Broadcast (possible because links are reliable)
Two primitives: Broadcast(m), Deliver(m)Validity: If a correct process invokes Broadcast(m) then it eventually executes Deliver(m) Agreement: If a process executes Deliver(m), then all other correct processes eventually execute Deliver(m)Integrity: For every message m, every process executes Deliver(m) at most once, and only if sender(m) previously invokes Broadcast(m)22/09/2010
SSS'2010
8Slide9
Approximation AlgorithmLet (
P,Q) be a pair of predicates such that P⇒QAn approximation algorithm A for process p of predicates (P,Q) is an algorithm with a variable OutAp such that:If P is true, then OutAp is eventually forever true If Q is false, then Out
Ap is false infinitely often
22/09/2010
SSS'2010
9Slide10
ExampleAn approximation algorithm
A for process q of (Tpq(δ),Tpq(Δ))If (p,q) is δ-timely, then OutAq
is eventually forever true If (p,q) is not (p,q) is
Δ-timely, , then Out
Aq is false infinitely often
Remark: If (p,q) is not
δ-timely but is (p,q) is Δ-timely, nothing to guarantee
22/09/2010
SSS'2010
10Slide11
From local to global approximation
Proposition: If A is an approximation algorithm for p of predicates local to p (P,Q), then for every correct process q there exists an approximation algorithm B for q of predicate (P,Q).Local to p = depend on p only,
e.g:Tpq(δ
) is local to q
Pp is crashed
is local to p
Sketch: Each time p modifies
OutAp
, it (reliably) broadcasts the new valueWhenever a process q (included p
) delivers a message from
p
,
q
updates
Out
B
q
with the new value and, then sets OutBq to true again 22/09/2010SSS'201011Slide12
Composition of approximations
Proposition: If AP,Q and AP’,Q’ are approximation algorithms for correct process p of (P,Q) and for correct process q of predicates (P’,Q’), then for every correct process r there exists an approximation algorithm for r of predicate (P∧
P’,Q∧Q’).
Sketch: Similar to the previous proposition
22/09/2010
SSS'2010
12Slide13
Extraction Algorithm (1/3)Let (
Pi,Qi)i∈I be a set of pairs of predicatesExtraction algorithm Each process p has a variable dpIn each run where ⋁i∈IPi = true, ∃i0∈I:
Eventual Agreement: ∃t: after time t, d
p =
i0 for all correct process p
Validity: Q
i0 is true
22/09/2010
SSS'2010
13Slide14
Extraction Algorithm (2/3)
Proposition: Let (Pi,Qi)i∈I be a set of predicates.. If (Ai)i∈I is a set of approximation algorithms of (Pi,Q
i)i∈I, then there exists an
extraction algorithm for (P
i,Qi
)i∈I
Sketch: Acc[i
] initialized to 0p increments
Acc[i] each time OutAi
p
become false
p
regularly sends
Acc
to all other process
Upon receiving an array
A, a process sets Acc[i] to max(A[i],Acc[i]) for all Ip chooses i0 such that Acc[i0]
is minimum
22/09/2010
SSS'2010
14Slide15
Extraction Algorithm (3/3)
Proposition: Let (Pi,Qi)i∈I be a set of predicates. If (Ai)i∈I is a set of approximation algorithms of (Pi,Q
i)i∈I, then there exists an
communication-efficient extraction algorithm
A for (P
i,Qi
)i∈ICommunication-efficiency
: In each run where ⋁
i∈IPi = true, ∃t
: after time
t
∃
j
∈I
: every process
p
reads only
OutAjpNo message is sent by A 22/09/2010SSS'201015Slide16
Summary22/09/2010
SSS'201016Local approximation of predicateGlobal approximation of predicate
Composition
Extraction Algorithm
Local approximation of predicate
Global approximation of predicateSlide17
Approximation of Link δ-Timeliness (1/3)
Proposition: Without additional assumption on the system, it is not possible to approximate (Tpq(δ) , Tpq(Δ))Sketch: If the links are asynchronous and the local clocks are not synchronized, then it is impossible to evaluate the time to traverse the link (p,q)22/09/2010SSS'2010
17Slide18
Approximation of Link δ-Timeliness (2/3)
Theorem: If processes are equipped of perfectly synchronized clocks, then approximation of (Tpq(δ) , Tpq(δ+K))
is possibleTheorem: If ∃ a
Γ-timely
path from
q to p, then
approximation of (Tpq(δ
) , Tpq
(δ+Γ+K))
is
possible
These
results
can
be generalized for paths(Hence we solve our initial problem) 22/09/2010
SSS'2010
18Slide19
Approximation of Link δ-Timeliness (3/3)
Assume processes are equipped of perfectly synchronized clocksApproximation algorithm of (Tpq(δ) , Tpq(δ+K)) for process q
Every K time, p send to q
a message including its local timeIf a message spends more than
δ time or q
does not receive message from p during δ
+K, thenOutAp
← falseOutA
p is reset to true every n time
22/09/2010
SSS'2010
19Slide20
Approximation of crashed processes
Approximation for every correct process q of (Pp is crashed,Pp is crashed)If p is faulty, then OutAq is eventually forever true If
p is correct, then OutAq
is false infinitely often Algorithm:
OutAp
← falsep regularly sends messages to q
,Upon receiving a message from p:Out
Aq
← falseOutAq
is reset to true every
n
time
22/09/2010
SSS'2010
20Slide21
Extraction of δ-Timeliness graphs
I.e., a graph G(V,E) such thatAll processes in ∏/V is crashedE only contains δ-Timely linksEasy: TGGi ≣⋀e∈Edges(Gi
) Te(δ)
⋀ ⋀ v
∉Nodes(Gi)
Pv
is crashed
22/09/2010
SSS'2010
21Slide22
Properties of the extracted graph (1/2)
Proposition: If Gi is the extracted graph, then (Nodes(Gi[Correct(R)]), Nodes(Gi[Faulty(R)])) is a dicut of Gi(X,Y) is a dicut
of G=(S,E) iff (X,Y) is a partition of S such that there is no (directed) link from Y to X
22/09/2010
SSS'2010
22
Correct
FaultySlide23
Properties of the extracted graph (2/2)
Proposition: If there is at least one correct process and (Gi)i∈I only contains strongly connected graphs, then the extracted graph only contains exactly all the correct processes22/09/2010SSS'2010
23Slide24
Extraction of δ-Timeliness graphs
We can extract:A tree containing at least all correct processes whose all paths from the root are Δ-timelyA ring among all correct processes whose all links are Δ-timely…22/09/2010SSS'2010
24Slide25
ConclusionGeneral
framework to approximate and extract propertiesCase study: δ-TimelinessPerspective: approximate other properties, e.g., general timeliness
22/09/2010SSS'2010
25Slide26
Thank you
22/09/2010SSS'201026