Exploiting distributed version concurrency in a transactional memory cluster

  • Authors:
  • Kaloian Manassiev;Madalin Mihailescu;Cristiana Amza

  • Affiliations:
  • University of Toronto, Canada;University of Toronto, Canada;University of Toronto, Canada

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

We investigate a transactional memory runtime system providing scaling and strong consistency, i.e., 1-copy serializability on commodity clusters for both distributed scientific applications and database applications. We introduce a novel page-level distributed concurrency control algorithm, called Distributed Multiversioning (DMV). DMV automatically detects and resolves conflicts caused by data races for distributed transactions accessing shared in-memory data structures. DMV's key novelty is in exploiting the distributed data versions that naturally come about in a replicated cluster in order to avoid read-write conflicts, hence provide scaling. DMV runs conflicting read-only and update transactions in parallel on different replicas instead of using different physical data copies within a single node as in classic multiversioning. In its most general form, DMV can be used to implement a software transactional memory system on a cluster for scaling C++ applications. DMV supports highly multithreaded database applications as well by centralizing updates on a master replica and creating the required page versions for read-only transactions lazily, on a set of slave replicas. We also show that a version-aware scheduling technique can distribute the read-only transactions across the slaves in such a way to minimize version conflicts.In our evaluation, we use DMV as a lightweight approach to scaling a hash table microbenchmark workload and the industry-standard e-commerce workload of the TPC-W benchmark on a commodity cluster. Our measurements show scaling for both benchmarks. In particular, we show near-linear scaling up to 8 transactional nodes for the most common e-commerce workload, the TPC-W shopping mix. We further show that our scaling for the TPC-W e-commerce benchmark compares favorably with that of an existing coarse-grained asynchronous replication technique.