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).


翻译:任务繁重的 OLTP 应用程序, 无法由单个服务器服务, 其工作量巨大的 OLTP 应用程序需要向多个服务器扩展。 通常, 扩展需要向每个服务器分配不同的应用状态。 但是, 数据分割与维护ACID 交易的强大一致性保证不相容, 这是许多 OLTP 应用程序的基本构件。 我们越是在多个服务器上推广和传播数据, 越是将数据分散到多个服务器上, 获取不同服务器数据的分散交易就会越频繁。 由于服务器数量庞大, 分布式交易的高昂成本使得扩大规模变得无效甚至有害。 在本文中, 我们提议“ 分解行动”, 这是扩大需要ACID 保证的OLTP 应用程序的新模式。 但是, 数据分割与维护 ACID 交易的强大一致性是矛盾的。 这种操作分割会通过静态分析将应用程序的操作分成间接分割跨服务器的数据 。 将操作分解成一个无锁的 Conveyor Belt 协议, 用于分布式协调, 这可以扩大在不完善的数据库管理系统上。 我们在一个名为 Elia 的系统中实施协议, 并使用它来扩大两个应用程序, TPC- W 和 RUBIS 。 我们的实验显示Elix 能够通过 4.2 来增加 。

0
下载
关闭预览

相关内容

Fariz Darari简明《博弈论Game Theory》介绍,35页ppt
专知会员服务
110+阅读 · 2020年5月15日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
59+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
深度自进化聚类:Deep Self-Evolution Clustering
我爱读PAMI
15+阅读 · 2019年4月13日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
人工智能 | 国际会议信息10条
Call4Papers
5+阅读 · 2018年12月18日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Dynamic Transfer Learning for Named Entity Recognition
Arxiv
3+阅读 · 2018年12月13日
Arxiv
3+阅读 · 2018年10月11日
Arxiv
9+阅读 · 2018年3月28日
Arxiv
3+阅读 · 2017年10月1日
VIP会员
相关VIP内容
Fariz Darari简明《博弈论Game Theory》介绍,35页ppt
专知会员服务
110+阅读 · 2020年5月15日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
59+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
深度自进化聚类:Deep Self-Evolution Clustering
我爱读PAMI
15+阅读 · 2019年4月13日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
人工智能 | 国际会议信息10条
Call4Papers
5+阅读 · 2018年12月18日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Top
微信扫码咨询专知VIP会员