Exploiting high-level coherence information to optimize distributed shared state

  • Authors:
  • DeQing Chen;Chunqiang Tang;Brandon Sanders;Sandhya Dwarkadas;Michael L. Scott

  • Affiliations:
  • University of Rochester;University of Rochester;University of Rochester;University of Rochester;University of Rochester

  • Venue:
  • Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

InterWeave is a distributed middleware system that supports the sharing of strongly typed, pointer-rich data structures across a wide variety of hardware architectures, operating systems, and programming languages. As a complement to RPC/RMI, InterWeave facilitates the rapid development of maintainable code by allowing processes to access shared data using ordinary reads and writes.Internally, InterWeave employs a variety of aggressive optimizations to obtain significant performance improvements with minimal programmer effort. In this paper, we focus on application-specific optimizations that exploit dynamic high-level information about an application's spatial data access patterns and the stringency of its coherence requirements. Using applications drawn from computer vision, datamining, and web proxy caching, we illustrate the specification of coherence requirements based on the (temporal) concept of "recent enough" to use, and introduce two (spatial) notions of views, which allow a program to limit coherence management to the portion of a data structure actively in use. Experiments with these applications show that InterWeave can reduce their communication traffic by up to one order of magnitude with minimum effort on the part of the application programmer.