Cache Placement in Sensor Networks Under Update Cost Constraint

Post on 28-Jan-2016

35 views 0 download

Tags:

description

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 - PowerPoint PPT Presentation

transcript

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.