Resource Allocation in Bounded Degree Trees Reuven Bar-Yehuda, - - PowerPoint PPT Presentation

resource allocation in bounded degree trees
SMART_READER_LITE
LIVE PREVIEW

Resource Allocation in Bounded Degree Trees Reuven Bar-Yehuda, - - PowerPoint PPT Presentation

Resource Allocation in Bounded Degree Trees Reuven Bar-Yehuda, Michael Beder, Yuval Cohen (CS, Technion) Dror Rawitz (CRI, Haifa University) 1 / 14 Bandwidth Allocation Problem (BAP) Bandwidth Allocation Problem: Bandwidth Allocation


slide-1
SLIDE 1

1 / 14

Resource Allocation in Bounded Degree Trees

Reuven Bar-Yehuda, Michael Beder, Yuval Cohen (CS, Technion) Dror Rawitz (CRI, Haifa University)

slide-2
SLIDE 2

Bandwidth Allocation Problem (BAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

2 / 14

Problem: Clients need a common resource

slide-3
SLIDE 3

Bandwidth Allocation Problem (BAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

2 / 14

Problem: Clients need a common resource Bad solution:

slide-4
SLIDE 4

Bandwidth Allocation Problem (BAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

2 / 14

Problem: Clients need a common resource Bad solution: Better solution: Advance reservations

slide-5
SLIDE 5

Bandwidth Allocation Problem (BAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

3 / 14

  • Set of jobs that require the utilization of a resource

Amount of resource is normalized to 1

  • Job j:
  • time interval
  • demand, dj ∈ [0, 1]
  • weight, w(j)
  • Schedule S:

∀p ∈ R,

  • j : p∈j∈S

dj ≤ 1

  • Goal:

max

S

  • j∈S

w(j)

1 2 1 3 1 6 1 3 1 2 2 5 1 4

≤ 1

slide-6
SLIDE 6

Bandwidth Allocation Problem (BAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

3 / 14

  • Set of jobs that require the utilization of a resource

Amount of resource is normalized to 1

  • Job j:
  • time interval
  • demand, dj ∈ [0, 1]
  • weight, w(j)
  • Schedule S:

∀p ∈ R,

  • j : p∈j∈S

dj ≤ 1

  • Goal:

max

S

  • j∈S

w(j)

1 2 1 3 1 6 1 3 1 2 2 5 1 4

≤ 1

Observations:

  • Unit demands ≡ max independent set in intervals graphs
  • All intervals intersect ≡ Knapsack
slide-7
SLIDE 7

BAP in Lines and Trees

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

4 / 14

Alternative Scenario for BAP:

  • Line network
  • Client = path
slide-8
SLIDE 8

BAP in Lines and Trees

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

4 / 14

Alternative Scenario for BAP:

  • Line network
  • Client = path

Example:

1 2 3 4 5 6

Corresponding BAP instance:

slide-9
SLIDE 9

BAP in Lines and Trees

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

4 / 14

Alternative Scenario for BAP:

  • Line network
  • Client = path

Example:

1 2 3 4 5 6

Corresponding BAP instance: Extension — BAP in Trees:

slide-10
SLIDE 10

Solving BAP — Wide and Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

5 / 14

Standard approach:

  • Wide jobs:

{j : dj > δ} — Solve Exactly

  • Narrow jobs: {j : dj ≤ δ} — r-approx

⇒ (1 + r)-approx

slide-11
SLIDE 11

Solving BAP — Wide and Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

5 / 14

Standard approach:

  • Wide jobs:

{j : dj > δ} — Solve Exactly

  • Narrow jobs: {j : dj ≤ δ} — r-approx

⇒ (1 + r)-approx

Previous results:

  • BAP/lines: 3-approx — local ratio [BBFNS00]
  • BAP/lines: (2 + ε)-approx — LP-rounding [CCKR02], [CMS03]
  • BAP/trees: 5-approx using local ratio [LNO02]
slide-12
SLIDE 12

Solving BAP — Wide and Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

5 / 14

Standard approach:

  • Wide jobs:

{j : dj > δ} — Solve Exactly

  • Narrow jobs: {j : dj ≤ δ} — r-approx

⇒ (1 + r)-approx

Previous results:

  • BAP/lines: 3-approx — local ratio [BBFNS00]
  • BAP/lines: (2 + ε)-approx — LP-rounding [CCKR02], [CMS03]
  • BAP/trees: 5-approx using local ratio [LNO02]

Our Results – BAP in bounded degree trees:

  • BAP/BD-trees: (1 +

√e √e−1 + ε)-approx — local ratio

1 +

√e √e−1 + ε ≤ 3.542

  • BAP/BD-trees: (2 + ε)-approx — randomized LP-rounding
slide-13
SLIDE 13

BAP — Wide Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

6 / 14

Dynamic programming for wide jobs:

  • At most 1

δ jobs can be allocated to an edge

  • O(n1/δ) possible combinations per edge
  • OPT can be computed in a bottom-up manner
  • Polynomial if tree has bounded degree

r u0 e0 u1 e1 u2 e2 u3 e3

slide-14
SLIDE 14

BAP in Lines — Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

7 / 14

α-layer:

  • Strip of height α

1

α

slide-15
SLIDE 15

BAP in Lines — Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

7 / 14

α-layer:

  • Strip of height α

1

α

Packing Jobs in Thin Layers:

  • Pack narrow jobs in a 1

k-layer where δ = 1 k2

1 k2 = δ ≥ {

≤ 1

k

  • Compare solution to original OPT
slide-16
SLIDE 16

BAP in Lines — Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

8 / 14

Local Ratio Algorithm:

  • Job i with leftmost right end-point
  • Weight function:

w1(j) =      1 − 1

k

j = i, kdj j = i ∧ j ∩ i = ∅

  • therwise

i

slide-17
SLIDE 17

BAP in Lines — Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

8 / 14

Local Ratio Algorithm:

  • Job i with leftmost right end-point
  • Weight function:

w1(j) =      1 − 1

k

j = i, kdj j = i ∧ j ∩ i = ∅

  • therwise

i

  • w1(T) ≤ k + 1 for every 1-feasible T
  • w1(S) ≥ 1 − 1

k for every i-maximal 1 k-feasible solution S

SOL ≈ k-approx w.r.t. OPT

slide-18
SLIDE 18

BAP in Lines — Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

8 / 14

Local Ratio Algorithm:

  • Job i with leftmost right end-point
  • Weight function:

w1(j) =      1 − 1

k

j = i, kdj j = i ∧ j ∩ i = ∅

  • therwise

i

  • w1(T) ≤ k + 1 for every 1-feasible T
  • w1(S) ≥ 1 − 1

k for every i-maximal 1 k-feasible solution S

SOL ≈ k-approx w.r.t. OPT

(

e e−1 + ε)-approximation algorithm:

  • Pack 1

k-layers iteratively

  • Loose 1

k bandwidth and gain ≈ 1 k fraction of residual OPT

⇒ w(S1 ∪ . . . ∪ Sk) ≥ (1 − 1/e − ε) OPT

slide-19
SLIDE 19

BAP in Trees — Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

9 / 14

BAP in trees:

  • Bottom-up instead of left to right
  • i is path with lowest peak
  • Weight function:

w1(j) =      1 − 1

k

j = i, kdj j = i ∧ j ∩ i = ∅

  • therwise

i

slide-20
SLIDE 20

BAP in Trees — Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

9 / 14

BAP in trees:

  • Bottom-up instead of left to right
  • i is path with lowest peak
  • Weight function:

w1(j) =      1 − 1

k

j = i, kdj j = i ∧ j ∩ i = ∅

  • therwise

i

  • w1(T) ≤ 2k + 1 for every 1-feasible T
  • w1(S) ≥ 1 − 1

k for every i-maximal 1 k-feasible solution S

SOL ≈ 2k-approx w.r.t. OPT

slide-21
SLIDE 21

BAP in Trees — Narrow Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

9 / 14

BAP in trees:

  • Bottom-up instead of left to right
  • i is path with lowest peak
  • Weight function:

w1(j) =      1 − 1

k

j = i, kdj j = i ∧ j ∩ i = ∅

  • therwise

i

  • w1(T) ≤ 2k + 1 for every 1-feasible T
  • w1(S) ≥ 1 − 1

k for every i-maximal 1 k-feasible solution S

SOL ≈ 2k-approx w.r.t. OPT

⇒ (

√e √e−1 + ε)-approximation algorithm

Remark: Bounded degree not required

slide-22
SLIDE 22

Storage Allocation Problem (SAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

10 / 14

Memory Allocation:

  • Allocated memory cannot change over time
  • Allocation of memory must be contiguous

Time Memory 1

slide-23
SLIDE 23

Storage Allocation Problem (SAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

10 / 14

Memory Allocation:

  • Allocated memory cannot change over time
  • Allocation of memory must be contiguous

Time Memory 1

Solution: Set S and height function h : S → [0, 1] such that: 1.

h(j) + dj ≤ 1 for every j ∈ S

2.

j, k ∈ S intersect ⇒ h(j) + dj ≤ h(k) or h(k) + dk ≤ h(j)

slide-24
SLIDE 24

Storage Allocation Problem (SAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

11 / 14

SAP vs. BAP ([CHT02]):

  • Feasible SAP ⇒ Feasible BAP
  • Feasible BAP ⇒ Feasible SAP

1 2 1 2 1 4 1 4 1 4 1 2 1 2

slide-25
SLIDE 25

Storage Allocation Problem (SAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

11 / 14

SAP vs. BAP ([CHT02]):

  • Feasible SAP ⇒ Feasible BAP
  • Feasible BAP ⇒ Feasible SAP

1 2 1 2 1 4 1 4 1 4 1 2 1 2

Previous results:

  • 12-approx for more general problem

6-approx if demands of the form 2−k [LMV00]

  • 7-approx using alg. for dynamic storage allocation [BBFNS00]
  • Dynamic prog. for “discrete” wide jobs and

1.582-approx for “discrete” narrow jobs [CHT02]

slide-26
SLIDE 26

Storage Allocation Problem (SAP)

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

11 / 14

SAP vs. BAP ([CHT02]):

  • Feasible SAP ⇒ Feasible BAP
  • Feasible BAP ⇒ Feasible SAP

1 2 1 2 1 4 1 4 1 4 1 2 1 2

Previous results:

  • 12-approx for more general problem

6-approx if demands of the form 2−k [LMV00]

  • 7-approx using alg. for dynamic storage allocation [BBFNS00]
  • Dynamic prog. for “discrete” wide jobs and

1.582-approx for “discrete” narrow jobs [CHT02]

Our Results:

  • Dynamic prog. alg. for wide jobs (even for BD-trees)
  • Reduction from SAP to BAP for narrow jobs

⇒ (2 + ε)-approx for SAP in lines

slide-27
SLIDE 27

SAP — Wide Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

12 / 14

Gravity:

slide-28
SLIDE 28

SAP — Wide Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

12 / 14

Gravity: Observation:

∃ OPT: ∀j, h(j) =

i∈S di for some set of jobs S

slide-29
SLIDE 29

SAP — Wide Jobs

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

12 / 14

Gravity: Observation:

∃ OPT: ∀j, h(j) =

i∈S di for some set of jobs S r u0 e0 u1 e1 u2 e2 u3 e3

Algorithm for bounded degree trees:

  • O(n

1 δ ) possible sets per edge

  • O(n

1 δ ) possible heights

  • OPT can be computed

in a bottom up manner

slide-30
SLIDE 30

Narrow Jobs: Reduction from SAP to BAP

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

13 / 14

Dynamic Storage Allocation:

  • Input: set of jobs
  • Solution: SAP allocation of all jobs
  • Goal: solution with minimum bandwidth
slide-31
SLIDE 31

Narrow Jobs: Reduction from SAP to BAP

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

13 / 14

Dynamic Storage Allocation:

  • Input: set of jobs
  • Solution: SAP allocation of all jobs
  • Goal: solution with minimum bandwidth

Narrow Jobs:

  • DSA with bandwidth

(1 + O(δ1/7)) · LOAD

[BKKRT04]

  • LOAD = minimum bandwidth in the BAP sense
slide-32
SLIDE 32

Narrow Jobs: Reduction from SAP to BAP

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

13 / 14

Dynamic Storage Allocation:

  • Input: set of jobs
  • Solution: SAP allocation of all jobs
  • Goal: solution with minimum bandwidth

Narrow Jobs:

  • DSA with bandwidth

(1 + O(δ1/7)) · LOAD

[BKKRT04]

  • LOAD = minimum bandwidth in the BAP sense

SAP =

⇒ BAP:

  • BAP Sol. =

⇒ SAP Sol. in (1 + β)-layer

  • Remove minimum weight β-layer

⇒ (1 + ε)-approx for SAP with narrow jobs

slide-33
SLIDE 33

Conclusion

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

14 / 14

Summary of results:

  • BAP in bounded degree trees:
  • (1 +

√e √e−1 + ε)-approx

  • (1 +

d

√e

d

√e−1 + ε)-approx

for allocating trees

  • Randomized (2 + ε)-approx
  • SAP in lines: (2 + ε)-approx
slide-34
SLIDE 34

Conclusion

Bandwidth Allocation Bandwidth Allocation BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion

14 / 14

Summary of results:

  • BAP in bounded degree trees:
  • (1 +

√e √e−1 + ε)-approx

  • (1 +

d

√e

d

√e−1 + ε)-approx

for allocating trees

  • Randomized (2 + ε)-approx
  • SAP in lines: (2 + ε)-approx

Open problems:

  • 2-approx for BAP/lines and SAP/lines
  • Deterministic (2 + ε)-approx for BAP/BD-trees

(Improve our analysis ???)

  • Improve 5-approx for BAP/trees
  • Extend reduction SAP ⇒ BAP to trees