Coalescing
On the Complexity of Register Coalescing F . Bouchez, A. Darte, and - - PowerPoint PPT Presentation
On the Complexity of Register Coalescing F . Bouchez, A. Darte, and - - PowerPoint PPT Presentation
Coalescing On the Complexity of Register Coalescing F . Bouchez, A. Darte, and F . Rastello LIP UMR CNRS Inria ENS Lyon UCBL France CGO07, San Jose Coalescing Outline What, Why, and How to Coalesce 1 Basic Formulation The
Coalescing
Outline
1
What, Why, and How to Coalesce Basic Formulation The Different Approaches
2
A Hard Optimization Problem
3
Conclusion: What should we Implement Now?
Coalescing What, Why, and How to Coalesce
Outline
1
What, Why, and How to Coalesce Basic Formulation The Different Approaches
2
A Hard Optimization Problem
3
Conclusion: What should we Implement Now?
Coalescing What, Why, and How to Coalesce Basic Formulation
Coalescing: Coloring the Interference/Affinity Graph
Coalescing is rename 2 variables into a unique representant MOVE A, B: an affinity between A and B A and B cannot share the same ressource: an interference between A and B
b = . . . c = . . . · · · = c a = . . . d = b d = a · · · = d · · · = a
Coalescing What, Why, and How to Coalesce Basic Formulation
Coalescing: Coloring the Interference/Affinity Graph
Coalescing is rename 2 variables into a unique representant MOVE A, B: an affinity between A and B A and B cannot share the same ressource: an interference between A and B
b = . . . c = . . . · · · = c a d = . . . a d = b a d = a d · · · = a d · · · = a d
Coalescing What, Why, and How to Coalesce Basic Formulation
Coalescing: Coloring the Interference/Affinity Graph
Coalescing is rename 2 variables into a unique representant MOVE A, B: an affinity between A and B A and B cannot share the same ressource: an interference between A and B
b = . . . c = . . . · · · = c a d = . . . a d = b a d = a d · · · = a d · · · = a d
b c a d Coalesce b c ad
Coalescing What, Why, and How to Coalesce Basic Formulation
Many MOVE...
Many MOVE instructions due to register constraints (function call, 2 address instructions, etc.) SSA construction followed by basic SSA destruction
A = . . . B = . . . MOVE R0, A MOVE R1, B D = f(A, B) MOVE D, R0
C2 = . . . C1 = . . . MOVE C, C1 MOVE C, C2 C = φ(C1, C2) use C
Coalescing What, Why, and How to Coalesce Basic Formulation
Many MOVE...
Many MOVE instructions due to register constraints (function call, 2 address instructions, etc.) SSA construction followed by basic SSA destruction
A = . . . B = . . . MOVE R0, A MOVE R1, B call f MOVE D, R0
C2 = . . . C1 = . . . MOVE C, C1 MOVE C, C2 C = φ(C1, C2) use C
Coalescing What, Why, and How to Coalesce Basic Formulation
Many MOVE...
Many MOVE instructions due to register constraints (function call, 2 address instructions, etc.) SSA construction followed by basic SSA destruction
A = . . . B = . . . MOVE R0, A MOVE R1, B call f MOVE D, R0
C2 = . . . C1 = . . . MOVE C, C1 MOVE C, C2 C = φ(C1, C2) use C
Coalescing What, Why, and How to Coalesce Basic Formulation
Many MOVE... to remove
Many MOVE instructions due to register constraints (function call, 2 address instructions, etc.) SSA construction followed by basic SSA destruction Our past experience
pre-sched. (Iterared)
- reg. alloc.
sched. (aggressive) coalescing during SSA destruction
- n most benchmarks, a good speedup
- n some of them, slow down!
Coalescing What, Why, and How to Coalesce The Different Approaches
Analysing the slow down...
Aggressive coalescing may lead to spilling. Coalescing aware
- f colorability is conservative.
b c a d Aggressively coalesce
Coalescing What, Why, and How to Coalesce The Different Approaches
Analysing the slow down...
Aggressive coalescing may lead to spilling. Coalescing aware
- f colorability is conservative.
b c a d Aggressively coalesce b c ad
Coalescing What, Why, and How to Coalesce The Different Approaches
Analysing the slow down...
Aggressive coalescing may lead to spilling. Coalescing aware
- f colorability is conservative.
b c a d 2-colorable Aggressively coalesce b c ad Not 2-colorable
Coalescing What, Why, and How to Coalesce The Different Approaches
Analysing the slow down...
Aggressive coalescing may lead to spilling. Coalescing aware
- f colorability is conservative.
b c a d 2-colorable Conservatively coalesce b c a bd 2-colorable
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l 1
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j 1
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k 1
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l 2
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f 2
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m 2
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c 2
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a 1
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d 2
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b 1
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e 2
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g 1
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b d
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b d a
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b d a c
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b d a c m
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b d a c m f
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b d a c m f l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b d a c m f l k
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c d e f g h i m j k l j k l f m c a d b e g h i h g e b d a c m f l k j
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f df Not greedy-3-colorable g j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d fg Not greedy-3-colorable j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g j k l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g jk greedy-3-colorable l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g jk l
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e h i m f d g jk jkl greedy-3-colorable
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
a b c e dfg h i m jkl kl j
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
- Aggressive coalescing
not k-col
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
- Conservative coalescing
k-greedy k-col
Aggressive coalescing
not k-col
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
- Incremental conservative coalescing
Conservative coalescing k-greedy k-col
Aggressive coalescing
not k-col
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
- Decoalescing
Incremental conservative coalescing Conservative coalescing k-greedy k-col
Aggressive coalescing
not k-col
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
- Decoalescing
Incremental conservative coalescing Conservative coalescing k-greedy k-col
Aggressive coalescing
not k-col
Coalescing What, Why, and How to Coalesce The Different Approaches
...and the speedup
k-colorability check is hard, but checking the Greedy-k-colorablility is easy. Still, finding the optimal subset of affinities is hard. We do Incremental coalescing... Incremental is not optimal. Decoalescing is better.
- Decoalescing
Optimistic (Park et al.) Rules (Briggs, George) Incremental conservative coalescing Conservative coalescing k-greedy k-col
Aggressive coalescing
not k-col
Coalescing A Hard Optimization Problem
Outline
1
What, Why, and How to Coalesce Basic Formulation The Different Approaches
2
A Hard Optimization Problem
3
Conclusion: What should we Implement Now?
Coalescing A Hard Optimization Problem
Coalescing is Hard
G: greedy-k-colorable interference graph, Aggressive coalescing NP-complete, even with k = 3. Conservative coalescing NP-complete even if k = 3 and only affinities can be merged. Incremental conservative coalescing (Briggs, George) NP-complete if G is arbitrary. Open if G is greedy-k-colorable. Optimistic coalescing (Park & Moon) = conservative de-coalescing NP-complete even if k = 4.
Coalescing A Hard Optimization Problem
A little hope: Chordal Graphs
Interference graph of SSA programs k-colorability easy on chordal graphs MAXLIVE = w(G) = χ(G) k-chordal ⊂ greedy-k-colorable ⊂ k-colorable
a b c d e
Coalescing A Hard Optimization Problem
A little hope: Chordal Graphs
Interference graph of SSA programs k-colorability easy on chordal graphs MAXLIVE = w(G) = χ(G) k-chordal ⊂ greedy-k-colorable ⊂ k-colorable
a b c d e
Coalescing A Hard Optimization Problem
A little hope: Chordal Graphs
Interference graph of SSA programs k-colorability easy on chordal graphs MAXLIVE = w(G) = χ(G) k-chordal ⊂ greedy-k-colorable ⊂ k-colorable
a b c d e
Coalescing A Hard Optimization Problem
A little hope: Chordal Graphs
Interference graph of SSA programs k-colorability easy on chordal graphs MAXLIVE = w(G) = χ(G) k-chordal ⊂ greedy-k-colorable ⊂ k-colorable
a b c d e
Coalescing A Hard Optimization Problem
A little hope: Chordal Graphs
Interference graph of SSA programs k-colorability easy on chordal graphs MAXLIVE = w(G) = χ(G) k-chordal ⊂ greedy-k-colorable ⊂ k-colorable
a b c d e
Coalescing A Hard Optimization Problem
A little hope: Chordal Graphs
Interference graph of SSA programs k-colorability easy on chordal graphs MAXLIVE = w(G) = χ(G) k-chordal ⊂ greedy-k-colorable ⊂ k-colorable
a b c d e
Coalescing A Hard Optimization Problem
. . . but Coalescing is still Hard
G: k-chordal interference graph. Aggressive coalescing NP-complete. Conservative coalescing NP-complete. Incremental conservative coalescing (Briggs, George) Polynomial! Optimistic coalescing (Park & Moon) = conservative de-coalescing NP-complete even if k = 4.
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
NP simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
?? NP simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
?? NP P simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
?? NP P simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
yes/no? k-chordal k-greedy k-col k-chordal k-greedy k-col
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
?? NP P simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
NO yes/no? k-chordal k-greedy k-col k-chordal k-greedy k-col
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
?? NP P simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
yes/no? NO yes/no? k-chordal k-greedy k-col k-chordal k-greedy k-col
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
?? NP P simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
NO yes/no? NO yes/no? k-chordal k-greedy k-col k-chordal k-greedy k-col
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
?? NP P simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
YES yes/no? NO yes/no? k-chordal k-greedy k-col k-chordal k-greedy k-col
Coalescing A Hard Optimization Problem
“Multiple-move” incremental
?? NP P simple test k-chordal k-greedy k-col k-chordal k-greedy k-col One move to coalesce
additional coalescings YES yes/no? NO yes/no? k-chordal k-greedy k-col k-chordal k-greedy k-col
Coalescing Conclusion: What should we Implement Now?
Outline
1
What, Why, and How to Coalesce Basic Formulation The Different Approaches
2
A Hard Optimization Problem
3
Conclusion: What should we Implement Now?
Coalescing Conclusion: What should we Implement Now?
Some measurements
Aggressive+decoalescing scheme:
- ptimizing the aggressive part is important
decoalescing (optimistic) can still be improved Incremental scheme: conservative rules (Briggs, George) are far from the
- ptimal
Coalescing Conclusion: What should we Implement Now?
Some measurements
Aggressive+decoalescing scheme:
- ptimizing the aggressive part is important
decoalescing (optimistic) can still be improved Incremental scheme: conservative rules (Briggs, George) are far from the
- ptimal
Coalescing Conclusion: What should we Implement Now?
Some measurements
Aggressive+decoalescing scheme:
- ptimizing the aggressive part is important
decoalescing (optimistic) can still be improved Incremental scheme: conservative rules (Briggs, George) are far from the
- ptimal
Coalescing Conclusion: What should we Implement Now?