hold deficit DTrack-RR

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)