The ballistic protocol: location-aware distributed cache coherence in metric-space networks

  • Authors:
  • Maurice Herlihy;Ye Sun

  • Affiliations:
  • Brown University;Brown University

  • Venue:
  • The ballistic protocol: location-aware distributed cache coherence in metric-space networks
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Distributed transactional memory (DTM), in contrast to remote procedure call (RPC), can better exploit the locality in data accesses by moving objects to be local to the processing nodes. One key component of DTM is a distributed cache-coherence protocol that supports mobile objects. This thesis studies distributed cache coherence in non-uniform cost networks. A desirable property in such an environment is location awareness. That is, requests to move an object that is close by should cause less communication than requests to move an object that is far away. The Ballistic protocol is presented in this thesis for implementing location-aware distributed cache coherence in metric-space networks. This protocol is hierarchical: nodes are organized at different levels to form clusters; cluster leaders at higher level point to cluster leaders at lower levels to track mobile objects. Concurrent move requests are synchronized using path reversal. We show that the Ballistic protocol satisfies all requests within finite amount of time. We compare the communication costs of our protocol with the communication costs of an off-line optimal algorithm who sends requests directly from the requesting node to where the object is. When move requests do not overlap, in a family of common metric-space networks called the constant-doubling metric-space networks, we show that the amortized communication cost of the Ballistic protocol is within a factor of O(log Diam) of the cost of the optimal algorithm, where Diam is the diameter of the network. With some small modifications to the Ballistic protocol, concurrent executions where move requests can overlap achieve the same amortized competitive ratio. The basic Ballistic protocol is then extended to handle multiple objects. We prove that this multiple object extension balances load at different nodes. Fault-tolerance of the Ballistic protocol is studied in two models. In the self-stabilizing model, self-stabilization is achieved by local monitoring and repairing. In the traditional fault-tolerance model, fault-tolerance is achieved by keeping multiple copies of the object (possibly of different versions) and keeping track of both the outstanding requests and the object copies.