Exploiting Total Order Multicast in Weakly Consistent Transactional Caches
P. Ruivo, M. Couceiro, P. Romano, and L. Rodrigues.
Selected sections of this report were published in the Proceedings of
the 17th Pacific Rim International Symposium on Dependable Computing
(PRDC 11), Pasadena, California, USA, December 12-14, 2011.
Abstract
Nowadays, distributed in-memory caches are in- creasingly used as a
way to improve the performance of ap- plications that require frequent
access to large amounts of data, by decoupling the persistent memory
access from the critical path of the application. In order to maximize
performance and scalability, these platforms typically rely on weakly
consistent partial replication mechanisms. These schemes partition the
data across the nodes and ensure a predefined (and typically very
small) replication degree, thus maximizing the global memory capacity
of the platform and ensuring that the cost to ensure replica
consistency remains constant as the scale of the platform
grows. Moreover, even though several of these platforms provide
transactional support, they typically sacrifice consistency, ensur-
ing guarantees that are weaker than classic 1-copy serializability,
but that allow for more efficient implementations.
This paper proposes and evaluates two partial replication tech-
niques, providing different (weak) consistency guarantees, but with in
common the reliance on total order multicast primitives to serialize
transactions without incurring in distributed deadlocks, a main source
of inefficiency of classical two-phase commit (2PC) based replication
mechanisms.
We integrate the proposed replication schemes into Infinispan, a
prominent open-source distributed in-memory cache, which represents
the reference clustering solution for the well-known JBoss AS
platform. Our performance evaluation highlights speed- ups of up to
10x when using the proposed with respect to the native Infinispan
replication mechanism, which rely on classic 2PC-based replication.
Also available extended report (pdf)
Luís Rodrigues