Example: bankruptcy

The End of a Myth: Distributed Transactions Can …

The End of a myth : Distributed Transactions Can ScaleErfan ZamanianCarsten BinnigTim HarrisTim KraskaBrown UniversityBrown UniversityOracle LabsBrown common wisdom is that Distributed Transactions do notscale. But what if Distributed Transactions could be made scal-able using the next generation of networks and a redesign ofdistributed databases? There would no longer be a need fordevelopers to worry about co-partitioning schemes to achievedecent performance. Application development would becomeeasier as data placement would no longer determine how scal-able an application is. Hardware provisioning would be sim-plified as the system administrator can expect a linear scale -out when adding more machines rather than some complexsub-linear function, which is highly application this paper, we present the design of our novel scalabledatabase system NAM-DB and show that Distributed tr

The End of a Myth: Distributed Transactions Can Scale Erfan Zamanian Carsten Binnig Tim Harris Tim Kraska Brown University Brown University Oracle Labs Brown University

Tags:

  Scale, Transactions, Distributed, Myths, A myth, Distributed transactions can, Distributed transactions can scale

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of The End of a Myth: Distributed Transactions Can …

1 The End of a myth : Distributed Transactions Can ScaleErfan ZamanianCarsten BinnigTim HarrisTim KraskaBrown UniversityBrown UniversityOracle LabsBrown common wisdom is that Distributed Transactions do notscale. But what if Distributed Transactions could be made scal-able using the next generation of networks and a redesign ofdistributed databases? There would no longer be a need fordevelopers to worry about co-partitioning schemes to achievedecent performance. Application development would becomeeasier as data placement would no longer determine how scal-able an application is. Hardware provisioning would be sim-plified as the system administrator can expect a linear scale -out when adding more machines rather than some complexsub-linear function, which is highly application this paper, we present the design of our novel scalabledatabase system NAM-DB and show that Distributed transac-tions with the very common Snapshot Isolation guarantee canindeed scale using the next generation of RDMA-enabled net-work technology without any inherent bottlenecks.

2 Our ex-periments with the TPC-C benchmark show that our systemscales linearly to new-order ( to-tal) Distributed Transactions per second IntroductionThe common wisdom is that Distributed Transactions do notscale [40, 22, 39, 12, 37]. As a result, many techniques havebeen proposed to avoid Distributed Transactions ranging fromlocality-aware partitioning [35, 33, 12, 43] and speculative ex-ecution [32] to new consistency levels [24] and the relaxationof durability guarantees [25]. Even worse, most of these tech-niques are not transparent to the developer. Instead, the devel-oper not only has to understand all the implications of thesetechniques, but also must carefully design the application totake advantage of them.

3 For example, Oracle requires theuser to carefully specify the co-location of data using specialSQL constructs [15]. A similar feature was also recently intro-duced in Azure SQL Server [2]. This works well as long as allqueries are able to respect the partitioning scheme. However, Transactions crossing partitions usually observe a much higherThis work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives International License. To viewa copy of this license, visit For any use beyond those covered by this license, obtainpermission by emailing of the VLDB Endowment,Vol.

4 10, No. 6 Copyright 2017 VLDB Endowment 2150-8097/17 rate and relatively unpredictable performance [9]. Forother applications ( , social apps), a developer might noteven be able to design a proper sharding scheme since thoseapplications are notoriously hard to what if Distributed Transactions could be made scalableusing the next generation of networks and we could rethinkthe Distributed database design? What if we would treat everytransaction as a Distributed transaction? The performance ofthe system would become more predictable. The developerwould no longer need to worry about co-partitioning schemesin order to achieve scalability and decent performance.

5 Thesystem would scale out linearly when adding more machinesrather than sub-linearly because of partitioning effects, makingit much easier to provision how much hardware is this make co-partitioning obsolete? Probably not,but its importance would significantly change. Instead of be-ing a necessity to achieve a scalable system, it becomes asecond-class design consideration in order to improve the per-formance of a few selected queries, similar to how creating anindex can help a selected class of this paper, we will show that Distributed Transactions withthe common Snapshot Isolation scheme [8] can indeed scaleusing the next generation of RDMA-enabled networking tech-nology without an inherent bottleneck other than the work-load itself.

6 With Remote-Direct-Memory-Access (RDMA),it is possible to bypass the CPU when transferring data fromone machine to another. Moreover, as our previous work [10]showed, the current generation of RDMA-capable networks,such as InfiniBand FDR4 , is already able to provide a band-width similar to the aggregated memory bandwidth betweena CPU socket and its attached RAM. Both of these aspectsare key requirements to make Distributed Transactions trulyscalable. However, as we will show, the next generation ofnetworks does not automatically yield scalability without re-designing Distributed databases.

7 In fact, when keeping the old architecture, the performance can sometimes even de-crease when simply migrating a traditional database from anEthernet network to a high-bandwidth InfiniBand network us-ing protocols such as IP over InfiniBand [10]. Why Distributed Transactions are con-sidered not scalableTo value the contribution of this paper, it is important to un-derstand why Distributed Transactions are considered not scal-685able. One of the most cited reasons is the increased contentionlikelihood. However, contention is only a side effect. Perhapssurprisingly, in [10] we showed that the most important factoris the CPU overhead of the TCP/IP stack.

8 It is not uncom-mon that the CPU spends most of the time processing networkmessages, leaving little room for the actual , the network bandwidth also significantly lim-its the transaction throughput. Even if transaction messagesare relatively small, the aggregated bandwidth required to han-dle thousands to millions of Distributed Transactions is high[10], causing the network bandwidth to quickly become a bot-tleneck, even in small clusters. For example, assume a clus-ter of three servers connected by a 10 Gbps Ethernet an average record size of 1KB, and Transactions readingand updating three records on all three machines ( , one permachine),6KB has to be shipped over the network per trans-action, resulting in a maximal overall throughput of 29kdistributed Transactions per , because of the high CPU-overhead of the TCP/IP stack and a limited network bandwidth of typical 1/10 GbpsEthernet networks, Distributed Transactions have much higherlatency, significantly higher than even the message delay be-tween machines.

9 This causes the commonly observed highabort rates due to time-outs and the increased contention like-lihood; a side-effect rather than the root to say, there are workloads for which the con-tention is the primary cause of why Distributed Transactions areinherently not scalable. For example, if every single transac-tion updates the same item ( incrementing a shared counter),the workload is not scalable simply because of the existenceof a single serialization point. In this case, avoiding the ad-ditional network latencies for Distributed message processingwould help to achieve a higher throughput but not to make thesystem ultimately scalable.

10 Fortunately, in many of these bot-tleneck situations, the application itself can easily be changedto make it truly scalable [1, 5]. The Need for a System RedesignAssuming a scalable workload, the next generation of net-works remove the two dominant limiting factors for scalabledistributed transaction: the network bandwidth and CPU over-head. Yet, it is wrong to assume that the hardware alone solvesthe problem. In order to avoid the CPU message overheadwith RDMA, many data structures have to change. In fact,RDMA-enabled networks change the architecture to a hybridshared-memory and message-passing architecture: it is neithera Distributed shared-memory system (as several address spacesexist and there is no cache-coherence protocol), nor is it a puremessage-passing system since memory of a remote machinecan be directly accessed via RDMA reads and there has been work on leveraging RDMA for dis-tributed Transactions , most notably FaRM [13, 14], most worksstill rely on locality and more traditional message transfers,whereas we believe locality should be a second-class designconsideration.


Related search queries