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 QoS Example: session mobility following host mobility Optimization challenges: – When to transition from an old server? – Which server to select next? Wireless Mesh Networks Tradeoff: suboptimal delay versus service interruption Distributed Groupware Service 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 Algorithm ALG is r(ALG) competitive iff for every finite I, cost ( , I ) r (ALG ) cost ( * , I ) Summary of Results Theoretical – A lower bound of k on deterministic online algorithms – A 2k-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? def ( s, s' , [ , t )) max (hold ( s, [t ' , t )) hold ( s, [t ' , t ))) t 't 1 – 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 3 deficit t=2 current leader 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 other 1 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 = 1km x 1km • 100 routers • Scaling up by 25 • Speed = 10 m/sec • Setup cost = 50 WMN: Average Performance Ratio • Hold cost = Distance • RWP movement • Area = 1km x 1km • 100 routers • Scaling up by 25 • Speed = 10 m/sec • Setup cost = 50 Motion Aware Algorithms TargetAware – Requires info on the node’s target + speed – Applies OPT as a subroutine DirectionAware – Requires info on the node’s direction + speed – Applies TargetAware as a subroutine WMN: Motion Aware Algorithms • Hold cost = Distance • RWP movement • Area = 1km x 1km • 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 25x25 Backup Slides DTrack-RR is 2k-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 2k-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)αC Setup cost bookkeeping – σ* pays at least C (initial assignment) – σ pays at most kC every phase Summing up and bounding the ratio – α=1 minimizes the upper bound (2k)
© Copyright 2026 Paperzz