We present the first PRACTI (Partial Replication, Arbitrary Consistency, and Topology Independent) replication toolkit. PRACTI mechanisms can replicate or cache any data on any node (PR), provide a broad range of consistency and coherence guarantees (AC), and permit any node to communicate with any other node at any time (TI). Compared to existing mechanisms that force a system designer to compromise a system's replication, topology, or consistency policy, PRACTI yields two significant advantages: flexibility and improved trade-offs. PRACTI's flexibility simplifies the design of replication systems by allowing a single framework to subsume a broad range of existing approaches. At the same time, PRACTI provides better trade-offs than the point-solution policies embedded in existing mechanisms: for workloads of interest, our PRACTI design dominates existing approaches by providing an order of magnitude better bandwidth and storage efficiency than replicated server systems (AC-TI), an order of magnitude better synchronization delay compared to hierarchical systems (PR-AC), and consistency guarantees not achievable by per-object replication systems (PR-TI).
Full paper