Scaling Out Acid Applications with Operation Partitioning

04/05/2018
by   Habib Saissi, et al.
0

OLTP applications with high workloads that cannot be served by a single server need to scale out to multiple servers. Typically, scaling out entails assigning a different partition of the application state to each server. But data partitioning is at odds with preserving the strong consistency guarantees of ACID transactions, a fundamental building block of many OLTP applications. The more we scale out and spread data across multiple servers, the more frequent distributed transactions accessing data at different servers will be. With a large number of servers, the high cost of distributed transactions makes scaling out ineffective or even detrimental. In this paper we propose Operation Partitioning, a novel paradigm to scale out OLTP applications that require ACID guarantees. Operation Partitioning indirectly partitions data across servers by partitioning the application's operations through static analysis. This partitioning of operations yields to a lock-free Conveyor Belt protocol for distributed coordination, which can scale out unmodified applications running on top of unmodified database management systems. We implement the protocol in a system called Elia and use it to scale out two applications, TPC-W and RUBiS. Our experiments show that Elia can increase maximum throughput by up to 4.2x and reduce latency by up to 58.6x compared to MySQL Cluster while at the same time providing a stronger isolation guarantee (serializability instead of read committed).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/22/2018

NetChain: Scale-Free Sub-RTT Coordination (Extended Version)

Coordination services are a fundamental building block of modern cloud s...
research
11/16/2021

HyperNAT: Scaling Up Network AddressTranslation with SmartNICs for Clouds

Network address translation (NAT) is a basic functionality in cloud gate...
research
07/24/2022

CARGO: AI-Guided Dependency Analysis for Migrating Monolithic Applications to Microservices Architecture

Microservices Architecture (MSA) has become a de-facto standard for desi...
research
01/03/2019

XOS: An Application-Defined Operating System for Data Center Servers

Rapid growth of datacenter (DC) scale, urgency of cost control, increasi...
research
08/27/2022

Apiary: A DBMS-Backed Transactional Function-as-a-Service Framework

Developers are increasingly using function-as-a-service (FaaS) platforms...
research
02/09/2023

FLAC: A Robust Failure-Aware Atomic Commit Protocol for Distributed Transactions

In distributed transaction processing, atomic commit protocol (ACP) is u...
research
07/03/2019

An Experimental Evaluation of Large Scale GBDT Systems

Gradient boosting decision tree (GBDT) is a widely-used machine learning...

Please sign up or login with your details

Forgot password? Click here to reset