Cache Placement in Sensor Networks Under Update Cost Constraint Bin Tang, Samir Das, and Himanshu Gupta Department of Computer Science Stony Brook University Stony Brook, NY 11790
Jan 28, 2016
Cache Placement in Sensor Networks Under Update Cost Constraint
Bin Tang, Samir Das, and Himanshu Gupta
Department of Computer ScienceStony Brook UniversityStony Brook, NY 11790
Outline
Problem Statement Motivation Algorithm Design Performance Evaluation Conclusion and Future Work
Problem Statement Sensor Network Model
A data item stored at a server node. Updated at a certain frequency. Other nodes access the data item at a certain
frequency.
Problem Statement
Select nodes to cache the data item to: Goal: Minimize “total access cost” Constraint: Total update cost.
Motivation
Why cache? To save access/communication cost, and thus,
energy.
Why update cost constraint?Nodes close to the server bear most of the update cost.
Problem Formulation Given:
Network graph G(V,E) A data item stored at a server node Update frequency Access frequency for each other node Update cost constraint Δ
Goal: Select cache nodes to minimize the “total access
cost” Total update cost is less than Δ
Total Access/Update Cost Total Access Cost =
∑ i є V (access freq of i x distance to nearest cache)
Total Update cost = Cost of Steiner tree over server and all caches
Algorithm Design Outline Tree Networks
Optimal dynamic programming algorithm.
General Networks Multiple-unicast update model -- Approximation
algorithm.
Steiner-tree update model -- Heuristic, Distributed.
Tree Networks
Subtree notation
Server: “r”
Consider a subtree Tv
Let path (v,x) on its leftmost branch be all caches
Let C_v be the optimal access cost in Tv using additional update cost δ
Next: Recursive equation for C_v
r
Trv
Tvx
Dynamic Programming Algorithm for Tvunder update cost constraint δ
Let u = leftmost deepest node in the optimal set of caches in Tv
Path(v,u) can be all caches (update cost doesn’t increase)
For a fixed u, C_v =
Constant + optimal access cost in Rv,u for constraint (δ – δ_u)
Here, δ_u is the cost to update u (using path(v,x)).
DP recursive equation for Tv
C_v = minu є Tv (access cost in Lv,u using path(v,x)
+ access cost in Tu using u
+ optimal cost in Rv,u with constraint δ –
δ_u) Here, δ_u is the cost in updating u (using path(v,x)).Note that Rv,u has a path (v, parent(u)) of caches on its
leftmost branch.
Time complexity Time complexity: O(n4+n3 Δ)
Analysis O(n4): Precomputation of subtree access costs
Lv,u with cache path (v,x): O(n4), for all v,u,x Tu: O(n2), for all u
Recursive equation takes O(n3 Δ) n2Δ entries: all values of (v,x,δ) Each entry takes O(n)
General Graph Network Two Update Cost Models
Multiple-Unicast
Optimal Steiner Tree
Multiple-Unicast Update Model Update cost: Sum of shortest path lengths
from server to each cache nodes
Benefit of node A: Decrease in total access cost due to selection of A as a cache
Benefit per unit update cost.
Greedy Algorithm
Iteratively: Select the node with the highest benefit per unit update cost, until the update cost is exhausted
Theorem: Greedy solution’s benefit is at least 63% of the optimal benefit.
Steiner-Tree Update Cost Model
Steiner-tree update cost: Cost of 2-approximation Steiner tree over cache nodes
Incremental Steiner update cost of node A: Increase in Steiner-tree update cost due to A becoming a cache
Greedy-Steiner Algorithm:Iteratively, select the node with the highest benefit per unit above-defined update cost.
Distributed Greedy-Steiner Algorithm
Each non-cache node estimates its benefit per unit update cost
If the estimate is maximum among all its non-cache neighbors, then it decides to cache
Algorithm: In each rounds, each node decides to cache based
on above. The server gathers new cache node information,
and computes the total update cost The remaining update cost is broadcast to the
network, and the new round begins.
Performance Evaluation (i) network-related -- number of nodes and
transmission radius, (ii) application-related -- number of clients.
Random network of 2,000 to 5,000 nodes in a 30 x 30 region.
Compared Caching Schemes Centralized Greedy
Centralized Greedy-Steiner
Distributed Greedy-Steiner
Dynamic Programming on Shortest Path Tree of Clients
Dynamic Programming on Steiner Tree over Clients and Server
Varying Network Size – Transmission radius =2, percentage of clients = 50%, update cost = 25% of the Steiner tree cost
Varying Transmission Radius - Network size = 4000, percentage of clients = 50%, update cost = 25% of the Steiner tree cost
Varying number of clients – Transmission Radiu =2, update cost = 50% of the Steiner tree cost, network size = 3000
Conclusion and Future Work Data caching problem under update cost
constraint.
Optimal algorithm for tree; an approximation algorithm for general graph.
Efficient distributed implementations.
More general cache placement problem: (a) under memory constraint; (b) multiple data items.