We consider distributed collaborative caching groups where individual members are
autonomous and self-aware. Such
groups have been emerging in many new overlay and peer-to-peer
applications. In a recent work of ours, we considered distributed caching
protocols where group members (nodes) cooperate to satisfy requests for
information objects either locally or remotely from the group, or otherwise
from the origin server. In such setting, we identified the problem of a
node being mistreated, i.e., its access cost for fetching information objects becoming worse with
cooperation than without. We identified two causes of mistreatment: (1) the use of a common
caching scheme which controls whether a node should not rely on
other nodes in the group by keeping its own local copy of the object once
retrieved from the group; and (2) the state interaction that can take place when the miss-request stre
ams from other nodes in the group
are allowed to affect the state of the local replacement algorithm. We also showed that both these issues ca
n be addressed by introducing two simple additional parameters that affect the caching behavior (the reliance
and the interaction parameters). In this paper,
we argue against a static rule-of-thumb policy of setting these
parameters since the performance, in terms of
average object access cost, depends on a multitude of system parameters
(namely, group size, cache sizes, demand skewness, and distances). We then
propose a feedback control approach to mitigating mistreatment in
distributed caching groups. In our approach, a node independently emulates
its performance as if it were acting selfishly and then adapts its reliance
and interaction parameters in the direction of reducing its measured access
cost below its emulated selfish cost. To ensure good convergence and
stability properties, we use a (Proportional-Integral-Differential)
PID-style controller. Our simulation results show that our
controller adapts to the minimal access cost and outperforms static-parameter schemes.
|