with privacy Vincent Armant Laurent Simon Philippe Dague Outline - - PowerPoint PPT Presentation
with privacy Vincent Armant Laurent Simon Philippe Dague Outline - - PowerPoint PPT Presentation
Distributed tree decomposition with privacy Vincent Armant Laurent Simon Philippe Dague Outline Introduction Distributed tree decomposition Preserve network structure Keep local information local Centralized tree decomp. VS
- Introduction
- Distributed tree decomposition
Preserve network structure Keep local information local
- Centralized tree decomp. VS concurrent approaches
- Token elimination
- Experimental results on small-world graphs
- Conclusion / perspectives
Vinccent Armant CP2012 2
Outline
Primal graph
Vinccent Armant CP2012 3
Introduction
Its primal graph centralized problem description
Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) h l1 a b l2 l3 c l4 g l5 d e l4'
Primal graph
Vinccent Armant CP2012 4
Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) h l1 a b l2 l3 c l4 g l5 d e l4'
- Each variable labels exactly one node
- All variables contained in the scope of a function in the problem description
are neighbors in the primal graph
Introduction
Tree Decomposition
Vinccent Armant CP2012 5
Primal graph A tree decomposition 1) is a tree of clusters 2) preserves variables dependency 3) ensures running intersection
Ct2 Ct4
Ct1
a l2 l3 b h l2 l3 l1 l1 c c l1 l4 l4' d l1 l4 e d l1 g e g l5 d Ct3 Ct5 Ct6 Ct7 h l1 a b l2 l3 c l4 g l5 d e l4' l2 l3 g
Introduction
Vinccent Armant CP2012 6
Tree Decomposition
Ct2 Ct4 a l2 l3 b h l2 l3 l1 c l1 l4 l4' d l1 g e g l5 d Ct3 Ct5 Ct6 Ct7 h l1 a b l2 l3 c l4 g l5 d e l4' Ct1 l1 c d l1 l4 e l2 l3 g
A tree decomposition 1) is a tree of clusters 2) preserves variables dependency 3) ensures running intersection
Introduction
Primal graph
Vinccent Armant CP2012 7
Tree Decomposition
Ct2 Ct4 Ct1 a l2 l3 b h l2 l3 l1 c l1 l4 l4' l1 g g l5 d Ct3 Ct5 Ct6 Ct7 h l1 a b l2 l3 c l4 g l5 d e l4' d e l1 c d l1 l4 e l2 l3 g
A tree decomposition 1) is a tree of clusters 2) preserves variables dependency 3) ensures running intersection
Introduction
Primal graph
Vinccent Armant CP2012 8
Ct2 Ct4 Ct1 a l2 l3 b h l2 l3 l1 l1 c c l1 l4 l4' d l1 l4 e d l1 g e g l5 d Ct3 Ct5 Ct6 Ct7 f5(l3, a, b) f3(l2, a, b) f1(l1, h) f4(l2, h)
f7(l3, h)
f6(l3, c) f10(l5, d , g) f2(l1, d , e, g) f9(l4, e, d) f8(l4, l4', c) Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) l3 l2 g
1) Good points:
- divides the initial problem into sub-problems organized in a tree structure
- allows concurrent resolution and /or backtrack free search
- bounds time and space complexity by the size of the largest cluster ( width )
e.g. allows succinct representation (OBDD, MDD, DNNF, ..) 2) Limitations:
- finding an optimal tree-decomposition is NP-Hard
wCmax(init pb)= O(d13) Cmax ( T decomposed pb) = O(d4)
Introduction Why is it useful ?
- Introduction
- Distributed tree decomposition
Preserve network structure Keep local information local
- Centralized tree decomp. VS concurrent approaches
- Token elimination
- Experimental results on small-world graphs
- Conclusion / perspectives
Vinccent Armant CP2012 9
Outline
Vinccent Armant CP2012 10
Initial problem setting is distributed among a set of peers 1) each peer can only interact with its neighbors by acquaintance links 2) local variables remain local
p2 p4 p1 p5 f1(l1, h ,) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) Pb(p2) : Pb(p3) : Pb(p4) : Pb(p1) : Pb(p5) : Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) p1 p2 p3 p4 p5 p3
acquaintance links of p1
Distributed system
Vinccent Armant CP2012 11
each « li » represents a local variable of pi p2 p4 p1 p5 f1(l1, h ,) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) Pb(p2) : Pb(p3) : Pb(p4) : Pb(p1) : Pb(p5) : Pb : f1(l1, h ) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) p1 p2 p3 p4 p5 p3
Initial setting is distributed among a set of peers 1) each peer can only interact with neighbors by acquaintance links 2) local variables remain local
Distributed system
Vinccent Armant CP2012 12
The classical notion of tree decomposition is not sufficient it does not respect the privacy of local variables it does not preserve the peer acquaintances
a primal graph its tree decomposition
h l1 a b l2 l3 c l4 g l5 d e l4' Ct2 Ct4 Ct1 a l2 l3 b h l2 l3 l1 l1 c l3 c l1 l4 l4' l1 l4 l1 g g l5 d Ct3 Ct5 Ct6 Ct7 d e d e l2 g
How to decompose a distributed system respecting privacy and the peer acquaintances ?
Vinccent Armant CP2012 13
Distributed system
Distributed Tree Decomposition
Acquaintance Graph G((P,V), ACQ) 1) P represents the set of peers 2) V labels each peer by its set of variables 3) ACQ P x P represents is acquaintance links
p4 p5 f1(l1, h ,) f2(l1, d , e, g) f3(l2, a, b) f4(l2, h) f5(l3, a, b) f6(l3, c) f7(l3, h) f8(l4, l4', c) f9(l4, e, d) f10(l5, d , g) Pb(p2) : Pb(p3) : Pb(p4) : Pb(p5) : p3 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p2 p4 p1 p5 p3 p2 p1 Pb(p1) :
Acquaintance Graph
Vinccent Armant CP2012 14
Acquaintance Graph
Distributed Tree Decomposition
Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respectis the privacy of local variables
d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h ct1 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p4 p5 p3 p2 p1 c h c
Vinccent Armant CP2012 15
Distributed Tree Decomposition
a h b l2 l3 b c a c d l4 e g l5 d l4' h ct1 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p4 p5 p3 c h c d g h l1 e p2 p1
Acquaintance Graph Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respectis the privacy of local variables
Vinccent Armant CP2012 16 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h ct1 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p4 p5 p3 c h c
Distributed Tree Decomposition
Acquaintance Graph Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respectis the privacy of local variables
Vinccent Armant CP2012 17
- a cluster is created by one peer
- 2 neighboring clusters come from:
- the same peer
- neighboring peers
d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h h c c ct1 p3 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p2 p4 p1 p5 p3 p2 p1 p1 p1 p4
Distributed Tree Decomposition
Acquaintance Graph Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respects the privacy of local variables
Vinccent Armant CP2012 18
A local variable from pi can only appear in a cluster created by pi
p3 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h h c c ct1 ct3 ct2 ct4 ct5 ct6 d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h p4 p5 p3 p2 p1 p1 p1 p4 p2 p1
Distributed Tree Decomposition
Acquaintance Graph Distributed Tree Decomposition 1) is a tree of clusters 2) preserves the variables dependencies 3) respects the running intersection property 4) preserves the peers acquaintance 5) respects the privacy of local variables
- Introduction
- Distributed tree decomposition
Preserve network structure Keep local information local
- Centralized tree decomp. VS concurrent approaches
- Token elimination
- Experimental results on small-world graphs
- Conclusion / perspectives
Vinccent Armant CP2012 19
Outline
Vinccent Armant CP2012 20
Lesson learned from centralized context
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order
a b d h l5 l1 l2 l4 c e f g l3
1) Choose a variable v 2) Add edges between unconnected neighbors 3) Create a cluster (v neighbors) 4) Eliminate v Elimination process Primal graph Elimination
- rder
Clusters While the graph is not empty l3
It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 21
a b d h l5 l1 l2 l4 c e f g l3
1) Choose a variable v 2) Add edges between unconnected neighbors 3) Create a cluster (v neighbors) 4) Eliminate v Elimination process Primal graph Elimination
- rder
Clusters While the graph is not empty l3
Lesson learned from centralized context
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 22
a b d h l5 l1 l2 l4 c e f g l3
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) Eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty l3
e l3 ctl3
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
It is always possible to build a TD from the clusters induced by Elimination order Finding optimal Tree Decomposition Finding optimal Elimination Order
Vinccent Armant CP2012 23
a b d h l5 l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) Eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty l3
e l3 ctl3
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
It is always possible to build a TD from the clusters induced by Elimination order Finding optimal Tree Decomposition Finding optimal Elimination Order
Vinccent Armant CP2012 24
a b d h l5 l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) Eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty l3 l5
e l3 ctl3
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 25
a b d h l5 l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty
e l3 ctl3
l3 l5
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 26
a b d h l5 l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty
e l3 ctl3 e l3 a
l3 l5
ctl5
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 27
a b d h l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty
e l3 ctl3 e l3 a
l3 l5
ctl5
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 28
a b d h l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) Eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty
e l3 ctl3 e l3 a
l3 l5 a
ctl5
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 29
a b d h l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) Eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty
e l3 ctl3 e l5 a
l3 l5 a
…
ctl5
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 30
a b d h l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) Eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty
e l3 ctl3 e l5 a
l3 l5 a
…
ctl5 cta l1 a b h
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 31
b d h l1 l2 l4 c e f g
1) Choose a variable v 2) Add edges between unconnected neighbors 4) Create a cluster (v neighbors) 3) Eliminate v Elimination process Elimination
- rder
Clusters While the graph is not empty
e l3 ctl3 e l5 a
l3 l5 a
…
ctl5 cta l1 a b h
Lesson learned from centralized context
Primal graph
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 32
e l3 a l5 b l1 b a h
. . . . . . . . . Elimination
- rder
Clusters
e l3 ctl3 a l5 b
l3 l5 a
…
ctl5 cta l1 a b h
. . .
ctl3 ctl5 cta
. . . Tree Decomposition
Lesson learned from centralized context
What are the good tree decomposition techniques? Why?
Finding optimal Tree Decomposition Finding optimal Elimination Order It is always possible to build a TD from the clusters induced by Elimination order
Vinccent Armant CP2012 33
b d h l1 l2 l4 c e f g
Observation: The edge added between l1 and h will increase the size of the cluster induced l1 or h Remark: If we add no edges Perfect elimination Heuristic: Eliminate first the variable that minimizes the number of additional edges : (Min Fill)
a b d h l5 l1 l2 l4 c e f g
3 1 2 2 1 8 4 2 5 1 1 8
l3
3
Idea : Weight each node by the quality of the clusters that the node will produce if it is the next to be eliminated Pb: elimination order cannot be directly applied No privacy, No notion of acquaintance links
Lesson learned from centralized context
Vinccent Armant CP2012 34
Lesson learn from distributed context
Concurrent eliminations can be bad for tree decomposition
Intuition: distributed settings can speed up the elimination process by concurrent eliminations
a b d c
2 3
e
3 3 2
b a d e d c b a b d c
2 3
e
3 3 2
b a d e b d c
2 3 2
d c c b b d
2 2
d b
concurrent eliminations {a, c ,e }
d
1
d c
1
c
width:3 width:2 concurrent eliminations {a, e } concurrent eliminations {b, d }
- Introduction
- Distributed tree decomposition
Preserve network structure Keep local information local
- Centralized tree decomp. VS concurrent approaches
- Token elimination
- Experimental results on small-world graphs
- Conclusion / perspectives
Vinccent Armant CP2012 35
Outline
- Distributed algorithm
– Phase 1: Implicit building of a DTD
- Elimination
- Local elections and votes
- Token passing
– Phase 2: clusters reconnection (acquaintance property).
- Heuristics:
– Min-Cluster: Each peer estimates the size of the cluster that it will produce if it is the next to be eliminated. – Min-Proj : Each peer estimates the size of additional variables that it will add to the token if it is the next to be eliminated.
Vinccent Armant CP2012 36
Token Elimination: Principle
Vinccent Armant CP2012 37
On going Distributed Tree Decomposition
Token Elimination: Min Cluster
d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3
Distributed algorithm
p receives the token
- organizes a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token
Vinccent Armant CP2012 38 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3
5 3 5 4
Token Elimination: Min Cluster
Distributed algorithm
p receives the token
- organizes a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token
On going Distributed Tree Decomposition
Vinccent Armant CP2012 39 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3
5 3 5 4
Token Elimination: Min Cluster
Distributed algorithm
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token
On going Distributed Tree Decomposition
Vinccent Armant CP2012 40 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3
5 3 5 4
Token Elimination: Min Cluster
Distributed algorithm
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token
On going Distributed Tree Decomposition
Vinccent Armant CP2012 41 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3
Token Elimination: Min Cluster
Distributed algorithm
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token
On going Distributed Tree Decomposition
Vinccent Armant CP2012 42 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3
5 5 3
Token Elimination: Min Cluster
Distributed algorithm
p receives the token
- organizes a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token
On going Distributed Tree Decomposition
Vinccent Armant CP2012 43 d g h l1 a h b l2 c d l4 e g l5 d e l4' p2 p4 p1 p5 l3 b c a h p3
5 5 3 p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election sends the token
Token Elimination: Min Cluster
Distributed algorithm On going Distributed Tree Decomposition
Vinccent Armant CP2012 44 d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3
5 5 3
g l5 d ct_p5 ct_p5
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token
Token Elimination: Min Cluster
p5 creates the cluster for l5 (privacy) On going Distributed Tree Decomposition Distributed algorithm
Vinccent Armant CP2012 45
On going Distributed Tree Decomposition
d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }
Distributed algorithm
{ d g }
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token
separator
Token Elimination: Min Cluster
(running intersection)
Vinccent Armant CP2012 46
On going Distributed Tree Decomposition
d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }
Distributed algorithm
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token
{ d g }
6 5 g
Token Elimination: Min Cluster
Vinccent Armant CP2012 47
On going Distributed Tree Decomposition
Token Elimination: Min Cluster
d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }
Distributed algorithm
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token
{ d g }
6 5 l5 d ct_p5
{ d g }
c d l4 e l4' g p4 6 g g
If p4 is the next to be eliminated, it will produce a cluster of 6 variables
Vinccent Armant CP2012 48
On going Distributed Tree Decomposition
Token Elimination: Min Cluster
d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }
Distributed algorithm
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and sends the token
{ d g }
6 5 l5 d ct_p5
{ d g }
c d l4 e l4' g p4 6 g g p1 d g h l1 e
5
{ d g }
l5 d ct_p5 g
Vinccent Armant CP2012 49
On going Distributed Tree Decomposition
Token Elimination: Min Cluster
d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }
Distributed algorithm
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
{ d g }
6 5 g
Vinccent Armant CP2012 50
On going Distributed Tree Decomposition
Token Elimination: Min Cluster
d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }
Distributed algorithm
p receives the token
- organize a local election
- peers vote , p is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
{ d g }
g
Vinccent Armant CP2012 51
On going Distributed Tree Decomposition
d g h l1 a h b l2 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }
Distributed algorithm
p1 receives the token
- organize a local election
- peers vote , p1 is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
{ d g }
g 5 4 6
Token Elimination: Min Cluster
Vinccent Armant CP2012 52
On going Distributed Tree Decomposition
Token Elimination: Min Cluster
d g h l1 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }
Distributed algorithm
p2 receives the token
- organize a local election
- peers vote , p2 is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
{ d g }
5 4 6 5 a h b l2 ct_p2 ct_p2
Vinccent Armant CP2012 53
On going Distributed Tree Decomposition
d g h l1 c d l4 e e l4' p2 p4 p1 p5 l3 b c a h p3 g l5 d ct_p5 ct_p5
{ d g }, { a,b,h }
Distributed algorithm
p2 receives the token
- organize a local election
- peers vote , p2 is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
{ d g }
5 4 6 5 a h b l2 ct_p2 ct_p2
{ a b h }
Token Elimination: Min Cluster
Vinccent Armant CP2012 54
On going Distributed Tree Decomposition
d g h l1 c d l4 e e l4' p2 p4 p1 p5 p3 g l5 d ct_p5 ct_p5
{ d g }, { a,b,h }
Distributed algorithm
p3 receives the token
- organize a local election
- peers vote , p3 is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
{ d g }
4 6 5 a h b l2 ct_p2 ct_p2
{ d g }, { a b h }
l3 b c a h p3 ct_p3 ct_p3
{ d g }, { c h } { a,b,h }
Token Elimination: Min Cluster
Vinccent Armant CP2012 55
On going Distributed Tree Decomposition
d g h l1 c d l4 e e l4' p2 p4 p1 p5 p3 g l5 d ct_p5 ct_p5
{ d g }, { a,b,h }
Distributed algorithm
p3 receives the token
- organize a local election
- peers vote , p3 is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
{ d g }
4 6 5 a h b l2 ct_p2 ct_p2
{ d g }, { a b h }
l3 b c a h p3 ct_p3 ct_p3
{ d g }, { c h } { c,h }
Token Elimination: Min Cluster
Vinccent Armant CP2012 56
On going Distributed Tree Decomposition
Token Elimination: Min Cluster
p2 p4 p1 p5 p3 ct_p5
Distributed algorithm
p3 receives the token
- organize a local election
- peers vote , p3 is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
ct_p2 ct_p3 g l5 d a h b l2 d g h l1 e c d l4 e l4' { d g } { a b h } l3 b c a h { c h } { d c } c ct_p5 ct_p1 ct_p2 ct_p3 ct_p4 ct_p4 ct_p1
Vinccent Armant CP2012 57
On going Distributed Tree Decomposition
p2 p4 p1 p5 p3 ct_p5
Distributed algorithm
p3 receives the token
- organize a local election
- peers vote , p3 is a local minimal ?
. No: sends the token . Yes: eliminates itself, creates a new cluster, adds shared variables to the token, reorganizes local election peers vote and p sends the token
ct_p2 ct_p3 g l5 d a h b l2 d g h l1 e c d l4 e l4' { d g } { a b h } l3 b c a h { c h } { d c } c ct_p5 ct_p1 ct_p2 ct_p3 ct_p4 ct_p4 ct_p1
Pb : link between p3 and p1 does not follow acquaintance link
Token Elimination: Min Cluster
Vinccent Armant CP2012 58
Final Distributed Tree Decomposition Distributed structured network
g l5 d a h b l2 d g h l1 e c d l4 e l4' { d g } { a b h } l3 b c a h { c h } { d c } c ct_p5 ct_p1 ct_p2 ct_p3 ct_p4 c h d g h l1 a h b l2 l3 b c a c d l4 e g l5 d e l4' h h c p2 p3 p1 p5 p4 c
Token Elimination: Min Cluster
- Preliminary: Tree Decomposition
- Problematic: How to decompose a distributed
system respecting privacy and acquaintances
- Distributed Tree Decomposition
- Token Elimination
- Experimental results on small world graph
- Conclusion et perspectives
Vinccent Armant CP2012 59
Outline
- Properties
– low average distance between 2 nodes – heterogeneity (degree distribution follows a power law ) – represents interaction graph of a lot of real world applications
Vinccent Armant CP2012 60
Tree Decomposition of small world graphs
Barabasi and Albert (B.A.) graphs
Vinccent Armant CP2012 61
width of tree decomposed BA Graphs
Vinccent Armant CP2012 62
CPU-Time of the tree decomposed BA Graphs
- Properties
– Short average distance between nodes – Homogenous (degree distribution follows Poisson law) – Represents some applications s.t. ISCAS circuits…
Vinccent Armant CP2012 63
Watts and Strogatz (W.S.) graphs
Vinccent Armant CP2012 64
width of the tree decomposed WS Graphs
Vinccent Armant CP2012 65
CPU time of the tree decomposed de WS graph
Conclusions
- Distributed Tree Decomposition respecting
– privacy (main reason for distributed systems) – preserving network acquaintance
- Token Elimination relying
– elimination – on votes, token passing
- Results: Token Elimination
– outperforms classical distributed decomposition methods – is competitive with centralized methods
- Vinccent Armant CP2012
66
Applications
- Challenge of distributed diagnosis:
How to explain the global behavior of a distributed ? Each peer have only a local view of the system description
- Challenge of DCSP:
How to solve a distributed problem ? Each agent has a strong privacy policy
- Vinccent Armant CP2012
67
Answer: Distributed Tree Decomposition
Thanks for your Attention
– Questions? – vincent.armant@lri.fr
- Vinccent Armant CP2012
68