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 Clients need a common resource 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
Bandwidth Allocation Problem (BAP) Bandwidth Allocation Problem: Bandwidth Allocation Clients need a common resource BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation Bad solution: SAP — Wide Jobs SAP to BAP Conclusion 2 / 14
Bandwidth Allocation Problem (BAP) Bandwidth Allocation Problem: Bandwidth Allocation Clients need a common resource BAP in Lines and Trees Solving BAP BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation Bad solution: SAP — Wide Jobs SAP to BAP Conclusion Better solution: Advance reservations 2 / 14
Bandwidth Allocation Problem (BAP) Set of jobs that require the utilization of a resource Bandwidth Allocation � Bandwidth Allocation Amount of resource is normalized to 1 BAP in Lines and Trees Job j : � Solving BAP BAP — Wide Jobs time interval � BAP — Narrow Jobs demand , d j ∈ [0 , 1] BAP — Narrow Jobs � BAP — Narrow Jobs weight , w ( j ) � Storage Allocation Storage Allocation � Schedule S : ∀ p ∈ R , d j ≤ 1 � SAP — Wide Jobs SAP to BAP j : p ∈ j ∈ S Conclusion ≤ 1 � max w ( j ) Goal: 1 � 4 S 1 1 j ∈ S 3 3 1 1 2 2 6 5 1 2 3 / 14
Bandwidth Allocation Problem (BAP) Set of jobs that require the utilization of a resource Bandwidth Allocation � Bandwidth Allocation Amount of resource is normalized to 1 BAP in Lines and Trees Job j : � Solving BAP BAP — Wide Jobs time interval � BAP — Narrow Jobs demand , d j ∈ [0 , 1] BAP — Narrow Jobs � BAP — Narrow Jobs weight , w ( j ) � Storage Allocation Storage Allocation � Schedule S : ∀ p ∈ R , d j ≤ 1 � SAP — Wide Jobs SAP to BAP j : p ∈ j ∈ S Conclusion ≤ 1 � max w ( j ) Goal: 1 � 4 S 1 1 j ∈ S 3 3 1 1 2 2 6 5 1 2 Observations: Unit demands ≡ max independent set in intervals graphs � All intervals intersect ≡ Knapsack � 3 / 14
BAP in Lines and Trees Bandwidth Allocation Alternative Scenario for BAP: Bandwidth Allocation Line network � BAP in Lines and Trees Solving BAP Client = path � 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
BAP in Lines and Trees Bandwidth Allocation Alternative Scenario for BAP: Bandwidth Allocation Line network � BAP in Lines and Trees Solving BAP Client = path � BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Example: Storage Allocation 1 2 3 4 5 6 SAP — Wide Jobs SAP to BAP Corresponding BAP instance: Conclusion 4 / 14
BAP in Lines and Trees Bandwidth Allocation Alternative Scenario for BAP: Bandwidth Allocation Line network � BAP in Lines and Trees Solving BAP Client = path � BAP — Wide Jobs BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Example: Storage Allocation 1 2 3 4 5 6 SAP — Wide Jobs SAP to BAP Corresponding BAP instance: Conclusion Extension — BAP in Trees: 4 / 14
Solving BAP — Wide and Narrow Jobs Bandwidth Allocation Standard approach: Bandwidth Allocation { j : d j > δ } — Solve Exactly Wide jobs: � BAP in Lines and Trees Solving BAP Narrow jobs: { j : d j ≤ δ } — r -approx � BAP — Wide Jobs ⇒ (1 + r ) -approx BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion 5 / 14
Solving BAP — Wide and Narrow Jobs Bandwidth Allocation Standard approach: Bandwidth Allocation { j : d j > δ } — Solve Exactly Wide jobs: � BAP in Lines and Trees Solving BAP Narrow jobs: { j : d j ≤ δ } — r -approx � BAP — Wide Jobs ⇒ (1 + r ) -approx BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Previous results: Storage Allocation Storage Allocation BAP/lines: 3 -approx — local ratio [BBFNS00] � SAP — Wide Jobs SAP to BAP BAP/lines: (2 + ε ) -approx — LP-rounding [CCKR02], [CMS03] � Conclusion BAP/trees: 5 -approx using local ratio [LNO02] � 5 / 14
Solving BAP — Wide and Narrow Jobs Bandwidth Allocation Standard approach: Bandwidth Allocation { j : d j > δ } — Solve Exactly Wide jobs: � BAP in Lines and Trees Solving BAP Narrow jobs: { j : d j ≤ δ } — r -approx � BAP — Wide Jobs ⇒ (1 + r ) -approx BAP — Narrow Jobs BAP — Narrow Jobs BAP — Narrow Jobs Previous results: Storage Allocation Storage Allocation BAP/lines: 3 -approx — local ratio [BBFNS00] � SAP — Wide Jobs SAP to BAP BAP/lines: (2 + ε ) -approx — LP-rounding [CCKR02], [CMS03] � Conclusion BAP/trees: 5 -approx using local ratio [LNO02] � Our Results – BAP in bounded degree trees: √ e BAP/BD-trees: (1 + √ e − 1 + ε ) -approx — local ratio � √ e 1 + √ e − 1 + ε ≤ 3 . 542 BAP/BD-trees: (2 + ε ) -approx — randomized LP-rounding � 5 / 14
BAP — Wide Jobs Bandwidth Allocation Dynamic programming for wide jobs: Bandwidth Allocation At most 1 δ jobs can be allocated to an edge � BAP in Lines and Trees Solving BAP O ( n 1 /δ ) possible combinations per edge � BAP — Wide Jobs OPT can be computed in a bottom-up manner � BAP — Narrow Jobs BAP — Narrow Jobs Polynomial if tree has bounded degree � BAP — Narrow Jobs Storage Allocation Storage Allocation r SAP — Wide Jobs SAP to BAP Conclusion e 0 u 0 e 1 e 2 e 3 u 1 u 2 u 3 6 / 14
BAP in Lines — Narrow Jobs α -layer: Bandwidth Allocation Bandwidth Allocation Strip of height α � BAP in Lines and Trees 1 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
BAP in Lines — Narrow Jobs α -layer: Bandwidth Allocation Bandwidth Allocation Strip of height α � BAP in Lines and Trees 1 Solving BAP BAP — Wide Jobs BAP — Narrow Jobs α BAP — Narrow Jobs BAP — Narrow Jobs Storage Allocation Storage Allocation Packing Jobs in Thin Layers: SAP — Wide Jobs Pack narrow jobs in a 1 1 k -layer where δ = SAP to BAP � k 2 Conclusion ≤ 1 k 1 k 2 = δ ≥ { Compare solution to original OPT � 7 / 14
BAP in Lines — Narrow Jobs Bandwidth Allocation Local Ratio Algorithm: Bandwidth Allocation Job i with leftmost right end-point � BAP in Lines and Trees Solving BAP Weight function: � BAP — Wide Jobs 1 − 1 j = i, BAP — Narrow Jobs k BAP — Narrow Jobs w 1 ( j ) = j � = i ∧ j ∩ i � = ∅ kd j i BAP — Narrow Jobs 0 otherwise Storage Allocation Storage Allocation SAP — Wide Jobs SAP to BAP Conclusion 8 / 14
BAP in Lines — Narrow Jobs Bandwidth Allocation Local Ratio Algorithm: Bandwidth Allocation Job i with leftmost right end-point � BAP in Lines and Trees Solving BAP Weight function: � BAP — Wide Jobs 1 − 1 j = i, BAP — Narrow Jobs k BAP — Narrow Jobs w 1 ( j ) = j � = i ∧ j ∩ i � = ∅ kd j i BAP — Narrow Jobs 0 otherwise Storage Allocation Storage Allocation SAP — Wide Jobs w 1 ( T ) ≤ k + 1 for every 1 -feasible T � SAP to BAP w 1 ( S ) ≥ 1 − 1 k for every i -maximal 1 k -feasible solution S � Conclusion ⇒ SOL ≈ k -approx w.r.t. OPT 8 / 14
BAP in Lines — Narrow Jobs Bandwidth Allocation Local Ratio Algorithm: Bandwidth Allocation Job i with leftmost right end-point � BAP in Lines and Trees Solving BAP Weight function: � BAP — Wide Jobs 1 − 1 j = i, BAP — Narrow Jobs k BAP — Narrow Jobs w 1 ( j ) = j � = i ∧ j ∩ i � = ∅ kd j i BAP — Narrow Jobs 0 otherwise Storage Allocation Storage Allocation SAP — Wide Jobs w 1 ( T ) ≤ k + 1 for every 1 -feasible T � SAP to BAP w 1 ( S ) ≥ 1 − 1 k for every i -maximal 1 k -feasible solution S � Conclusion ⇒ 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 ( S 1 ∪ . . . ∪ S k ) ≥ (1 − 1 /e − ε ) OPT 8 / 14
BAP in Trees — Narrow Jobs Bandwidth Allocation BAP in trees: Bandwidth Allocation Bottom-up instead of left to right � BAP in Lines and Trees Solving BAP i is path with lowest peak � BAP — Wide Jobs Weight function: � BAP — Narrow Jobs 1 − 1 BAP — Narrow Jobs j = i, k BAP — Narrow Jobs w 1 ( j ) = j � = i ∧ j ∩ i � = ∅ kd j Storage Allocation i 0 Storage Allocation otherwise SAP — Wide Jobs SAP to BAP Conclusion 9 / 14
Recommend
More recommend