On the Complexity of Register Coalescing F . Bouchez, A. Darte, and - - PowerPoint PPT Presentation

on the complexity of register coalescing
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Coalescing

On the Complexity of Register Coalescing

F . Bouchez, A. Darte, and F . Rastello

LIP UMR CNRS — Inria — ENS Lyon — UCBL France CGO’07, San Jose

slide-2
SLIDE 2

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?

slide-3
SLIDE 3

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?

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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!
slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

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

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

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

slide-44
SLIDE 44

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

slide-45
SLIDE 45

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

slide-46
SLIDE 46

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

slide-47
SLIDE 47

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

slide-48
SLIDE 48

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

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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

slide-51
SLIDE 51

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

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

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.

slide-56
SLIDE 56

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

slide-57
SLIDE 57

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

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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

slide-60
SLIDE 60

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

slide-61
SLIDE 61

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

slide-62
SLIDE 62

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?

slide-63
SLIDE 63

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.

slide-64
SLIDE 64

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

slide-65
SLIDE 65

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

slide-66
SLIDE 66

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

slide-67
SLIDE 67

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

slide-68
SLIDE 68

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

slide-69
SLIDE 69

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

slide-70
SLIDE 70

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.

slide-71
SLIDE 71

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

slide-72
SLIDE 72

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

slide-73
SLIDE 73

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

slide-74
SLIDE 74

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

slide-75
SLIDE 75

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

slide-76
SLIDE 76

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

slide-77
SLIDE 77

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

slide-78
SLIDE 78

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

slide-79
SLIDE 79

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

slide-80
SLIDE 80

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

slide-81
SLIDE 81

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?

slide-82
SLIDE 82

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
slide-83
SLIDE 83

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
slide-84
SLIDE 84

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
slide-85
SLIDE 85

Coalescing Conclusion: What should we Implement Now?

Conclusion

Most problems are NP-complete ⇒ heuristics! Aggressive+decoalescing scheme: Aggressive coalescing is an important issue! Still gap for improving decoalescing; Incremental scheme: A large gap for incremental; Promizing approach: multiple-move incremental on k-greedy.