Algorithms for Algebraic Path Properties in Concurrent ...
Transcript of Algorithms for Algebraic Path Properties in Concurrent ...
Algorithms for Algebraic Path Properties inConcurrent Systems of Constant Treewidth
Components
Krishnendu Chatterjee, Amir Kafshdar Goharshady,Rasmus Ibsen-Jensen, Andreas Pavlogiannis
POPL 2016
Typical Program Analysis Paradigm
A typical paradigm in program analysis is to reduce the problem to astandard graph problem P:Input: Program
1 Extract control flow graph G
2 Annotate G
3 Run best general graph algorithm for P on G
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 2
Typical Program Analysis Paradigm
A typical paradigm in program analysis is to reduce the problem to astandard graph problem P:Input: Program
1 Extract control flow graph G
2 Annotate G3 Run best general graph algorithm for P on G
by exploiting special structure of CFGs
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 2
Static Analysis of Concurrent Programs
Static dataflow/quantitative analysis of concurrent systems
System consists of CFGs of local threads + sync vars
A node of the concurrent system specifies the local state of eachthread (+ sync)
System transitions wrt interleaving semantics
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 3
Algebraic Paths in Static Analysis
Concurrent system annotated with a (complete, closed) semiring.
Variety of properties expressible
(Generalized) reachabilityDistributive dataflow analysis problemsQuantitative problems (quality measures / quantitative verification)Algebraic relaxations for interprocedural analysis
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 4
Algebraic Paths in Static Analysis
Concurrent system annotated with a (complete, closed) semiring.
Variety of properties expressible
(Generalized) reachabilityDistributive dataflow analysis problemsQuantitative problems (quality measures / quantitative verification)Algebraic relaxations for interprocedural analysis
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 4
Formal Setting
Complete, closed semiring S = (Σ,⊕,⊗, 0, 1)
k local graphs Gi = (Vi ,Ei ), |Vi | ≤ n
Compose a concurrent system G = (V ,E ,wt)
Nodes of the form v = 〈v1, . . . , vk〉E ⊆ product(E1, . . . ,Ek)
i.e. (〈u1, . . . , uk 〉, 〈v1, . . . , vk 〉) ∈ E
Global weight function wt : E → Σ
Weight of a path P : x1, x2, . . . , xm:
⊗(P) = wt(x1, x2)⊗ wt(x2, x3) · · · ⊗ wt(xk−1, xm)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 5
Formal Setting
Complete, closed semiring S = (Σ,⊕,⊗, 0, 1)
k local graphs Gi = (Vi ,Ei ), |Vi | ≤ n
Compose a concurrent system G = (V ,E ,wt)
Nodes of the form v = 〈v1, . . . , vk〉E ⊆ product(E1, . . . ,Ek)
i.e. (〈u1, . . . , uk 〉, 〈v1, . . . , vk 〉) ∈ E
Global weight function wt : E → Σ
Weight of a path P : x1, x2, . . . , xm:
⊗(P) = wt(x1, x2)⊗ wt(x2, x3) · · · ⊗ wt(xk−1, xm)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 5
Formal Setting
Complete, closed semiring S = (Σ,⊕,⊗, 0, 1)
k local graphs Gi = (Vi ,Ei ), |Vi | ≤ n
Compose a concurrent system G = (V ,E ,wt)
Nodes of the form v = 〈v1, . . . , vk〉E ⊆ product(E1, . . . ,Ek)
i.e. (〈u1, . . . , uk 〉, 〈v1, . . . , vk 〉) ∈ E
Global weight function wt : E → Σ
Weight of a path P : x1, x2, . . . , xm:
⊗(P) = wt(x1, x2)⊗ wt(x2, x3) · · · ⊗ wt(xk−1, xm)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 5
Graph Problem: Semiring Distances
Weight of a path P : x1, x2, . . . , xm:
⊗(P) = wt(x1, x2)⊗ wt(x2, x3) · · · ⊗ wt(xk−1, xm)
Semiring distance from u to v :
d(u, v) =⊕
P:u v
⊗(P)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 6
Method 1: Thread 11 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
Method 2: Thread 21 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
1
2 3
4
5
6 7
8
9
1
2 3
4
5
6 7
8
9
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 7
Nodes V : 〈2, 7〉
Method 1: Thread 11 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
Method 2: Thread 21 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
1
2 3
4
5
6 7
8
9
1
2 3
4
5
6 7
8
9
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 7
Nodes V : 〈2, 7〉
Edges E : (〈2, 7〉, 〈6, 8〉)
Method 1: Thread 11 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
Method 2: Thread 21 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
1
2 3
4
5
6 7
8
9
1
2 3
4
5
6 7
8
9
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 7
Nodes V : 〈2, 7〉
Edges E : (〈2, 7〉, 〈6, 8〉)
Weights wt : E → Σ : wt(〈2, 7〉, 〈6, 8〉) = α
Method 1: Thread 11 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
Method 2: Thread 21 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
1
2 3
4
5
6 7
8
9
1
2 3
4
5
6 7
8
9
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 7
Nodes V : 〈2, 7〉
Edges E : (〈2, 7〉, 〈6, 8〉)
Weights wt : E → Σ : wt(〈2, 7〉, 〈6, 8〉) = α
Pair query: d(〈1, 1〉, 〈7, 7〉)
Method 1: Thread 11 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
Method 2: Thread 21 while 1 do2 if turn = −1 then3 lock(`)4 turn← my id5 unlock(`)
6 if turn = my id then7 /* do stuff */8 turn← −1
9 end
1
2 3
4
5
6 7
8
9
1
2 3
4
5
6 7
8
9
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 7
Existing Algorithmic Approach
Construct the product graph G from the local components G1,G2
Compute transitive closure (all-pairs) on G
Warshall-Floyd-Kleene algorithm, cubic complexity
O((
n2)3)
= O(n6)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 8
Existing Algorithmic Approach
Construct the product graph G from the local components G1,G2
Compute transitive closure (all-pairs) on G
Warshall-Floyd-Kleene algorithm, cubic complexity
O((
n2)3)
= O(n6)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 8
Our Improvements for Semiring Distances
Component graphs have special structure, i.e., low-treewidth graphs
Measures similarity of a graph to a treeWell-known property of control-flow graphs
A faster algorithm for the transitive closure O(n6)→ O
(n4+ε
)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 9
Our Improvements for Semiring Distances
Component graphs have special structure, i.e., low-treewidth graphs
Measures similarity of a graph to a treeWell-known property of control-flow graphs
A faster algorithm for the transitive closure O(n6)→ O
(n4+ε
)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 9
Our Improvements for Semiring Distances
On demand analysis: preprocess vs query
Preprocessing spectrum
Transitive ClosureNo Preprocessing
Answering a few queries does not require the transitive closure
On demand analysis: preprocess more only if expecting many queries
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 10
Our Improvements for Semiring Distances
On demand analysis: preprocess vs query
Preprocessing spectrum
Transitive ClosureNo Preprocessing
Answering a few queries does not require the transitive closure
On demand analysis: preprocess more only if expecting many queries
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 10
Our Improvements for Semiring Distances
2 components: product size n × n, transitive closure has n4 entries
Existing O(n6) time for transitive closure
Preprocessing spectrum
Transitive ClosureNo Preprocessing
(1): Transitive closure almost optimal
(3): Conditionally optimal
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 11
Our Improvements for Semiring Distances
2 components: product size n × n, transitive closure has n4 entries
Existing O(n6) time for transitive closure
Preprocessing spectrum
Transitive ClosureNo Preprocessing
n3+ε
(1) n4+ε + i
(1): Transitive closure almost optimal
(3): Conditionally optimal
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 11
Our Improvements for Semiring Distances
2 components: product size n × n, transitive closure has n4 entries
Existing O(n6) time for transitive closure
Preprocessing spectrum
Transitive ClosureNo Preprocessing
n3+εn1+ε
(1) n4+ε + i(2) n3+ε + i · n
(1): Transitive closure almost optimal
(3): Conditionally optimal
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 11
Our Improvements for Semiring Distances
2 components: product size n × n, transitive closure has n4 entries
Existing O(n6) time for transitive closure
Preprocessing spectrum
Transitive ClosureNo Preprocessing
n3+εn1+ε
(1) n4+ε + i(2) n3+ε + i · n(3) n3 + i · n2
(1): Transitive closure almost optimal
(3): Conditionally optimal
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 11
Our Improvements for Semiring Distances
2 components: product size n × n, transitive closure has n4 entries
Existing O(n6) time for transitive closure
Preprocessing spectrum
Transitive ClosureNo Preprocessing
n3+εn1+ε
(1) n4+ε + i(2) n3+ε + i · n(3) n3 + i · n2
(1): Transitive closure almost optimal
(3): Conditionally optimal
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 11
Our Improvements for Semiring Distances
2 components: product size n × n, transitive closure has n4 entries
Existing O(n6) time for transitive closure
Preprocessing spectrum
Transitive ClosureNo Preprocessing
n3+εn1+ε
(1) n4+ε + i(2) n3+ε + i · n(3) n3 + i · n2
(1): Transitive closure almost optimal
(3): Conditionally optimal
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 11
Outline
Tree decompositions
Treewidth of the concurrent system
On demand analysis on the concurrent tree-decomposition
Experimental results
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 12
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V
Tree(G )G
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 13
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V
Tree(G )G
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 13
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V
Tree(G )G
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 13
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V
Tree(G )G
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 13
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V
Tree(G )
B1
B2
B3
∃ x1 ∈ B1 ∩ B2
∃ x2 ∈ B2 ∩ B3
d(10,6)=d(10, x1)⊗ d(x1, x2)⊗ d(x2, 6)
8, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 13
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V
Tree(G )
B1
B2
B3
∃ x1 ∈ B1 ∩ B2
∃ x2 ∈ B2 ∩ B3
d(10,6)=d(10, x1)⊗ d(x1, x2)⊗ d(x2, 6)
Semiring distances reduce to:
1. Tree decomposition
2. Local Distances
8, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 13
Treewidth
CFGs of typical imperative programs have tree-decompositions of smallsized bags
Theoretically, for goto-free programs
Pascal ≤ 4C ≤ 7
In practice small in imperative programs (e.g. Java ≤ 8)
G Tree(G )
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 14
Treewidth
CFGs of typical imperative programs have tree-decompositions of smallsized bags
Theoretically, for goto-free programs
Pascal ≤ 4C ≤ 7
In practice small in imperative programs (e.g. Java ≤ 8)
Theorem (Tree decomposition)
For constant treewidth graphs,Tree(G ) can be constructed in O(n) time.
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 14
Treewidth of the Concurrent System
tw = 1
×tw = 1
→
tw = n − 1
Components of small treewidth can yield a concurrent system G ofvery large treewidth!
Computing an optimal tree decomposition of G is intractable (NP-C)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 15
Strongly Balanced Tree Decompositions
Convert the local tree decompositions to
Binary: every bag has two children
Strongly balanced: most bags have two subtrees of approximatelyequal size
Tree(G1)
→
Strongly Balanced Tree(G1)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 16
Strongly Balanced Tree Decompositions
Convert the local tree decompositions to
Binary: every bag has two children
Strongly balanced: most bags have two subtrees of approximatelyequal size
Tree(G1)
→
Strongly Balanced Tree(G1)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 16
Strongly Balanced Tree Decompositions
Convert the local tree decompositions to
Binary: every bag has two children
Strongly balanced: most bags have two subtrees of approximatelyequal size
Tree(G1)
→
Strongly Balanced Tree(G1)
n
n2
n2
n4
n4
n4
n4
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 16
Strongly Balanced Tree Decompositions
Convert the local tree decompositions to
Binary: every bag has two children
Strongly balanced: most bags have two subtrees of approximatelyequal size
Tree(G1)
→
Strongly Balanced Tree(G1)
n
n2
n2
n4
n4
n4
n4
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 16
Tree Decomposition of the Concurrent System
Tree(G1)
t n
t n2 t n
2
t n4 t n
4 t n4 t n
4
t = O(1)
Tree(G2)
t n
t n2 t n
2
t n4 t n
4 t n4 t n
4
cn
c n2 c n
2 c n2 c n
2
. . . . . . . . . . . .c n4
Tree(G )
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 17
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n
n2
n2
n4
n4
n4
n4
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n
n2
n2
n4
∗ n4
n4
n4
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n
n2
n2
n4
∗ n4
∗ n4
n4
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n
n2
n2
n4
∗ n4
∗ n4
∗ n4
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n
n2
n2
n4
∗ n4
∗ n4
∗ n4
∗
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n
n2
∗ n2
n4
∗ n4
∗ n4
∗ n4
∗
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n
n2
∗ n2
∗
n4
∗ n4
∗ n4
∗ n4
∗
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n∗
n2
∗ n2
∗
n4
∗ n4
∗ n4
∗ n4
∗
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n∗
n2
∗∗ n2
∗
n4
∗ n4
∗ n4
∗ n4
∗
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
On Demand Analysis: Local Distances
For every two nodes u, v appearing in a bag, compute d(u, v)
Tree(G )
. . .
n∗
n2
∗ n2
∗
n4
∗ n4
∗ n4
∗ n4
∗
Transitive closure on the bags instead of the whole system
Cost decreases geometrically on the levels
Transitive closure on the root dominatesO(n6)→ O(n3)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 18
Tradeoffs
Preprocessing spectrum
Transitive ClosureNo Preprocessing
n3+εn1+ε
(1) n4+ε + i(2) n3+ε + i · n(3) n3 + i · n2
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 19
Experiments
Control-flow graphs (CFGs) of methods from java libraries andbenchmarks
Focus on algorithmic comparison with standard transitive closurealgorithms
Used the tropical min-plus semiring on R ∪ ∞
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 20
Experiments 1
CFGs from the DaCapo suit
n nodes each CFG
2-self product: size n × n
Random weights in [−103, 103]
Compute the transitive closure
Baseline: Bellman-Ford
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 21
Experiments 1
CFGs from the DaCapo suit
n nodes each CFG
2-self product: size n × n
Random weights in [−103, 103]
Compute the transitive closure
Baseline: Bellman-Ford
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 21
Experiments 1
CFGs from the DaCapo suit
n nodes each CFG
2-self product: size n × n
Random weights in [−103, 103]
Compute the transitive closure
Baseline: Bellman-Ford
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 21
Experiments 2
CFGs from container methods injava.util.concurrent
Bloated with values of locks
2-self product: size n × n
Random weights in [−103, 103]
Transitive closure
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 22
Experiments 2
CFGs from container methods injava.util.concurrent
Bloated with values of locks
2-self product: size n × n
Random weights in [−103, 103]
Transitive closure
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 22
Experiments 2
CFGs from container methods injava.util.concurrent
Bloated with values of locks
2-self product: size n × n
Random weights in [−103, 103]
Transitive closure
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 22
Thank you!Questions?
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 23
Experiments 2
CFGs from container methods injava.util.concurrent
Bloated with values of locks
2-self product: size n × n
Random weights in [−103, 103]
Transitive closure times:
To(s) : our algorithmTb(s): baseline (Bellman-Ford)
Java method n To(s) Tb(s)
ArrayBlockingQueue: poll 19 19 60
ArrayBlockingQueue: peek 20 20 81
LinkedBlockingDeque: advance 25 29 195
PriorityBlockingQueue: removeEQ 25 32 176
ArrayBlockingQueue: init 26 47 249
LinkedBlockingDeque: remove 26 49 290
ArrayBlockingQueue: offer 26 56 304
ArrayBlockingQueue: clear 28 33 389
ArrayBlockingQueue: contains 32 205 881
DelayQueue: remove 42 267 3792
ConcurrentHashMap: scanAndLockForPut 46 375 2176
ArrayBlockingQueue: next 46 407 3915
ConcurrentHashMap: put 72 1895 > 8 h
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 1
Results
2 components
Preprocess Query time
Time Space Single-source Pair Partial pair
Existing O(n6) O(n4) O(n2) O(1) O(1)
Our result (ε > 0) O(n3) O(n2+ε) O(n2+ε) O(n2) O(n2)
Our result (ε > 0) O(n3+ε) O(n3) O(n2+ε) O(n) O(1)
Our result (ε > 0) O(n4+ε) O(n4) O(n2) O(1) O(1)
k ≥ 3 components
Preprocess Query time
Time Space Single-source Pair Partial pair
Existing O(n3k ) O(n2k ) O(nk ) O(1) O(1)
Our result O(n3k−3) O(n2k−1) O(n2(k−1)) O(nk−1) O(1)
Our result O(n3k−2) O(n2k) O(nk) O(1) O(1)
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 2
Results (2 Components)
2 components: product size n × n, transitive closure has n4 entries
Existing O(n6) time for transitive closure
n1+ε n3+ε n4
n1+ε
n3
n3 + (i + j) · n2
(3)
n3+ε + i · n + j
(2)n4+ε + i + j
(1)
i pair queries
jp
arti
alp
air
qu
erie
s
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 3
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V such that:
1 Every node of G is contained in a bag
2 Every edge of G is contained in a bag
3 Every node of G appears in a contiguous subtree of Tree(G ).
G Tree(G )
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 4
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V such that:
1 Every node of G is contained in a bag
2 Every edge of G is contained in a bag
3 Every node of G appears in a contiguous subtree of Tree(G ).
G Tree(G )
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 4
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V such that:
1 Every node of G is contained in a bag
2 Every edge of G is contained in a bag
3 Every node of G appears in a contiguous subtree of Tree(G ).
G Tree(G )
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 4
Tree Decompositions
Definition (Tree decomposition)
Given a graph G = (V ,E ), a tree-decomposition Tree(G ) = (VT ,ET )is a tree of bags Bi ⊆ V such that:
1 Every node of G is contained in a bag
2 Every edge of G is contained in a bag
3 Every node of G appears in a contiguous subtree of Tree(G ).
G Tree(G )
1
8
9
2
10
3
6
4
7
58, 9, 10
1, 8, 9
2, 8, 10
2, 3, 10
7, 8, 9
6, 7, 9
4, 6, 9 5, 6, 7
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 4
Conditional Optimality
1 Any graph G can be constructed as the product of twoconstant-treewidth graphs G1, G2
2 =⇒ Semiring distance on the product of G1, G2 as hard as on G
3 Widely conjectured Ω(n3) lower-bound
x1
x2 x3
x1 x2 x3y1 y2 y3
x1
x2
x3
y1
y2
y3
Chatterjee, Kafshdar Goharshady, Ibsen-Jensen, Pavlogiannis Algebraic Path Properties in Concurrent Systems of Constant Treewidth Components 5