首页> 外文会议>3rd annual Haifa experimental systems conference 2010 >Parallel Programming Framework for Large Batch Transaction Processing on Scale-out Systems
【24h】

Parallel Programming Framework for Large Batch Transaction Processing on Scale-out Systems

机译:用于横向扩展系统上的大批量交易处理的并行编程框架

获取原文
获取原文并翻译 | 示例

摘要

A scale-out system is a cluster of commodity machines, and offers a good platform to support steadily increasing workloads that process growing data sets. Sharding [4] is a method of partitioning data and processing a computation on a scale-out system. In a database system, a large table can be partitioned into small tables so each node can process its part of the computation. The sharding approach in a large batch transaction processing, which is important in financial area, presents two hard problems to programmers. Programmers have to write complex code (1) to transfer the input data so as to align the computations with the data partitions, and (2) to manage the distributed transactions. This paper presents a new parallel programming framework that makes parallel transactional programming easier by specifying transaction scopes and partitioners to simplify the code. Transaction scopes include series of subtransactions, each of which performs local operations. The system manages the distributed transactions automatically. A partitioner represents how the computation should be decomposed and aligned with the data partitions to avoid remote database accesses. Between paired of subtransactions, the system handles the data shuffling across the network. We implemented our parallel programming framework as a new Java class library. We hide all of the complex details of data transfer and distributed transaction management in the library. Our programming framework can eliminate almost 66% of the lines of code compared to a current programming approach without programming framework support. We also confirmed good scalability, with a scaling factor of 20.6 on 24 nodes using our modified batch program for the TPC-C benchmark.
机译:横向扩展系统是一组商用机器,并提供了一个良好的平台来支持稳定增长的工作负载,以处理不断增长的数据集。分片[4]是一种在横向扩展系统上对数据进行分区和处理计算的方法。在数据库系统中,可以将一个大表划分为多个小表,以便每个节点都可以处理其部分计算。在金融领域很重要的大批量交易处理中的分片方法给程序员带来了两个难题。程序员必须编写复杂的代码(1)传输输入数据,以使计算与数据分区对齐;以及(2)管理分布式事务。本文提出了一种新的并行编程框架,该框架通过指定事务范围和分区程序来简化代码,从而使并行事务编程更加容易。事务作用域包括一系列子事务,每个子事务都执行本地操作。系统自动管理分布式交易。分区程序表示应如何分解计算并将其与数据分区对齐,以避免远程数据库访问。在成对的子事务之间,系统处理网络中的数据改组。我们将并行编程框架实现为新的Java类库。我们在库中隐藏了数据传输和分布式事务管理的所有复杂细节。与没有编程框架支持的当前编程方法相比,我们的编程框架可以消除几乎66%的代码行。我们还确认了良好的可伸缩性,使用针对TPC-C基准的经过修改的批处理程序,在24个节点上的缩放系数为20.6。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号