230 likes | 354 Views
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. Outline. Problem Statement Motivation Algorithm Design Performance Evaluation
E N D
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
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.
Subtree notation r • 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 Tr v Tv x
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)). Dynamic Programming Algorithm for Tvunder update cost constraint δ
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.