Nomadic Service Points Edward Bortnikov Israel Cidon Idit
Nomadic Service Points Edward Bortnikov Israel Cidon Idit Keidar
Distributed Service Grids Paradigm shift in networked service infrastructures – Geographically distributed servers instead of centralized server farms Performance benefits – Localized service provisioning – Adaptation to changes (e. g. , user mobility) Technologies in the field – Content delivery networks (CDN), wireless access (mesh) networks (WMN), online gaming grids
Nomadic Service Points Abstraction of session attachment to service – Application is unaware of physical server assignment Implemented by service infrastructure – A single physical server is selected for the session – A session can be migrated to sustain Qo. S Example: session mobility following host mobility Optimization challenges: – When to transition from an old server? – Which server to select next?
Wireless Mesh Networks n Tradeoff: suboptimal delay versus service interruption
Distributed Groupware Service n Tradeoff: suboptimal delay versus state transfer
Model Hold cost – Paid each time slot to the currently assigned server – A server can update its hold cost on slot boundary Setup cost (C) – Paid every time the session is (re-)assigned Total cost = setup + hold Goal: finding the assignment schedule – … that minimizes the total cost over time
Formal Approach Online optimization goal: competitive ratio – Worst-case ratio versus the offline algorithm Notation: – – k: number of servers I: problem input (sequence of hold cost vectors) σ: schedule produced by the online algorithm σ*: schedule produced by the optimal (offline) algorithm ALG is r(ALG) competitive iff for every finite I,
Summary of Results Theoretical – A lower bound of k on deterministic online algorithms – A 2 k-competitive online algorithm DTrack-RR – Optimal offline solution in linear time and space Practical – Opportunistic versions of DTrack – Empirically verified through simulation Average performance within 20%-50% from the optimum Perfect scalability with network growth – Motion prediction helps a lot Performance gap below 10% with a small look-ahead window
The DTrack Algorithm DTrack = deficit tracker Initially, assign to server s with minimal hold cost Every time slot do: – Update the deficit between s and the other servers How much less would I have paid if I transitioned to s’ at some time after transitioning to s? – Single-slot lookahead When deficit between s and some s’ is about to become “big enough” (above αC) – Transition to a new server
Transition Policies Round-Robin DTrack-RR – Cyclic space of server ids – The a-priori deficit of the choice must not exceed αC (α ≥ 0) Forward opportunistic DTrack-F – Minimal current hold cost Backward opportunistic DTrack-B – Round-robin between servers with “big enough” deficit values (exceeding βC, -∞ < β ≤ α) – β = α is most aggressive Picks the server with largest deficit
Execution of DTrack hold 3 1 2 3 1 current leader deficit other t=0 setup = 5 α=1
Execution of DTrack hold 2 4 4 5 0 current leader deficit 2 4 other setup = 5 α=1 t=1
Execution of DTrack hold 2 0 2 2 1 current leader deficit 3 t=2 other setup = 5 α=1
Execution of DTrack hold 0 3 8 4 1 current Transition! deficit 4 6 t=3 leader other setup = 5 α=1
Execution of DTrack hold 0 3 8 4 1 current leader deficit 4 1 3 other setup = 5 α=1 DTrack-RR
Execution of DTrack hold 0 3 8 4 1 current leader deficit 1 other DTrack-B setup = 5 α=1 β=0
Execution of DTrack hold 0 3 8 4 1 current leader deficit other DTrack-F setup = 5 α=1
Efficiency Improvement CTrack = cost tracker Track accumulated cost instead of deficit – Transition if hold cost exceeds αC – Apply the same transition policies Advantage: reduced complexity – O(1) at each step instead of O(n) Disadvantage: weaker competitive ratio – (2+a)k, where hold(s, t) ≤ αC for each s
Negative Results No deterministic algorithm can be better than kcompetitive – Hence, DTrack-RR is at most twice the lower bound! Neither DTrack-F nor aggressive DTrack-B are competitive – An Ω(C) lower bound What do we care for in real life? – The average performance ratio – Luckily, we have an optimal algorithm as a baseline
WMN: Average Total Cost • Hold cost = Distance • RWP movement • Area = 1 km x 1 km • 100 routers • Scaling up by 25 • Speed = 10 m/sec • Setup cost = 50
WMN: Average Performance Ratio • Hold cost = Distance • RWP movement • Area = 1 km x 1 km • 100 routers • Scaling up by 25 • Speed = 10 m/sec • Setup cost = 50
Motion Aware Algorithms Target. Aware – Requires info on the node’s target + speed – Applies OPT as a subroutine Direction. Aware – Requires info on the node’s direction + speed – Applies Target. Aware as a subroutine
WMN: Motion Aware Algorithms • Hold cost = Distance • RWP movement • Area = 1 km x 1 km • 100 routers • Scaling up by 25 • Speed = 10 m/sec • Setup cost = 50
Wide-Area Chatroom • Static users • Poisson arrivals • 3 users • 100 servers • Scaling up by 25 x 25
Backup Slides
DTrack-RR is 2 k-Competitive Overtake = leave or skip the server Consider σ (by DTrack-RR) and σ* (by OPT) – Round = period in which σ* does not move – Phase = part of round where σ overtakes every server
DTrack-RR is 2 k-Competitive (cont’d) Competitive analysis within a round – Lookahead accounting is crucial! Hold cost bookkeeping – σ overtakes σ*’s choice every phase The hold cost incurred by σ* is at least αC The hold cost incurred by σ exceeds it by at most (k-1)α (k-1) C Setup cost bookkeeping – σ* pays at least C (initial assignment) – σ pays at most k. C every phase Summing up and bounding the ratio – α=1 minimizes the upper bound (2 k)
- Slides: 27