next up previous
Next: Binary tree case Up: Cache Placement Previous: Cache Placement

Simultaneous placement algorithm

We define the problem first. Given a rooted tree with $n$ vertices. Every leaf $v$ is associated with a non-negative weight $w[v]$. There are $m$ pebbles, where $m$ is at most the number of leaves. Consider any placement of up to $m$ pebbles on any vertices of the tree. A placement of pebbles is called feasible if every leaf with a non-zero weight $w[v] > 0$ has an ancestor which has a pebble on it. Here the ancestor relation is the reflexive and transitive closure of the parent relation, in particular every vertex is an ancestor of itself. The cost of any feasible placement $P$ is defined as follows:

\begin{displaymath}c(P) = \sum_{v} c(v),\end{displaymath}

where the sum is over all leaves $v$, and the cost associated with the leaf $v$, denoted by $c(v)$, is $(\lambda +1) \cdot w[v]$, where $\lambda$ is the distance from $v$ to the closest pebbled ancestor of $v$. Here the distance between two vertices of the tree is the number of edges on the unique shortest path between them. For technical reasons we define the cost of an infeasible placement to be $\infty$.

The goal is to find a feasible placement $P$ with at most $m$ pebbles such that $c(P)$ is minimized.


next up previous
Next: Binary tree case Up: Cache Placement Previous: Cache Placement
Jim Gast 2001-04-20