Skip to main content
QUICK REVIEW

[論文レビュー] The End of a Myth: Distributed Transactions Can Scale

Erfan Zamanian, Carsten Binnig|arXiv (Cornell University)|Jul 3, 2016
Distributed systems and fault tolerance参考文献 31被引用数 13
ひとこと要約

本論文では、RDMA対応ネットワークと再設計されたアーキテクチャを活用して、分散トランザクションにおける線形的なスケールアウトを達成するスケーラブルな分散データベースシステムNAM-DBを提示する。ワンショットRDMA操作と効率的なタイムスタンプ管理を活用することで、TPC-Cにおいて56台のマシンで1秒間に650万件の新規注文トランザクション(合計1450万件)を維持する。これは、ハードウェアとシステム設計が現代の低遅延・高帯域幅ネットワークと整合している場合、分散トランザクションもスケーリング可能であることを示している。

ABSTRACT

The common wisdom is that distributed transactions do not scale. But what if distributed transactions could be made scalable using the next generation of networks and a redesign of distributed databases? There would be no need for developers anymore to worry about co-partitioning schemes to achieve decent performance. Application development would become easier as data placement would no longer determine how scalable an application is. Hardware provisioning would be simplified as the system administrator can expect a linear scale-out when adding more machines rather than some complex sub-linear function, which is highly application specific. In this paper, we present the design of our novel scalable database system NAM-DB and show that distributed transactions with the very common Snapshot Isolation guarantee can indeed scale using the next generation of RDMA-enabled network technology without any inherent bottlenecks. Our experiments with the TPC-C benchmark show that our system scales linearly to over 6.5 million new-order (14.5 million total) distributed transactions per second on 56 machines.

研究の動機と目的

  • 分散トランザクションがパフォーマンスボトルネックのため、本質的にスケーリングしないという広く信じられている信念に挑戦すること。
  • 特にTCP/IPスタックのCPUオーバーヘッドとネットワーク帯域幅制限が原因で、分散トランザクションのスケーラビリティが著しく低下する根本的要因を特定すること。
  • 次世代RDMAネットワークを最大限に活用できるようにデータベースシステムアーキテクチャを再設計し、中央集権的なコordinaterを排除し、遅延を低減すること。
  • アプリケーションレベルでの共同パーティショニングや複雑なデータ配置戦略を必要とせずに、分散トランザクションの線形的なスケールアウトを可能にすること。
  • 一般的な隔離レベルであるスナップショット隔離が、ワンショットRDMA操作を用いて効率的かつスケーラブルに実装可能であることを示すこと。

提案手法

  • 計算ノードとストレージノードを分離することで、ネットワークおよびCPUオーバーヘッドを最小限に抑える、共有なし(shared-nothing)でRDMAを最優先とするアーキテクチャの設計。
  • ノード間のデータ転送においてCPUを一切関与させないワンショットRDMA操作の実装により、遅延を低減し、帯域幅の利用効率を向上させること。
  • 集中管理なしで実現可能なスケーラブルなタイムスタンプ生成メカニズムを設計し、整合性を保証する。
  • RDMAのアトミック操作を活用して、ノード間でのトランザクションコミットフェーズを効率的に同期し、中央集権的なマネージャーに起因するボトルネックを回避すること。
  • 衝突を検知した直後に即座にトランザクションを再試行する最適化により、無駄な待機時間を短縮し、スループットを向上させること。
  • 高帯域幅・低遅延のInfiniBandネットワーク(例:FDR 4×)を活用し、メモリ帯域幅レベルのネットワーク性能を達成することで、ネットワークI/Oがもはやボトルネックにならなくなること。

実験結果

リサーチクエスチョン

  • RQ1RDMAによって高帯域幅と低遅延を実現するネットワークインfraが整っている場合、分散トランザクションはスケーリング可能か?
  • RQ2イーサーネットからRDMAにアップグレードするだけではなく、分散トランザクションをスケーラブルにするために、どのようなアーキテクチャ的変更が必要か?
  • RQ3集中管理のボトルネックを生じさせずに、ワンショットRDMA操作を用いてスナップショット隔離を効率的に実装する方法は何か?
  • RQ4中央集権的なコordinatorが存在しないことで、分散データベースにおける水平スケールアウトはどの程度向上するか?
  • RQ5ネットワークおよびCPUオーバーヘッドを最小限に抑えた場合、数百台のマシンにわたって分散トランザクションのパフォーマンスを線形にスケーリング可能か?

主な発見

  • NAM-DBは56台のマシンでほぼ完璧な線形的なスケールアウトを達成し、TPC-Cベンチマークで1秒間に650万件の新規注文トランザクション(合計1450万件/秒)を維持した。
  • 本システムは、従来の分散データベースにおける主なボトルネックがネットワーク帯域幅とTCP/IPスタックのCPUオーバーヘッドであり、分散トランザクション自体に本質的な制限があるわけではないことを実証した。
  • ワンショットRDMA操作を活用することで、ネットワーク処理のオーバーヘッドを低減し、メモリ帯域幅レベルのネットワーク性能を達成した。これにより、ネットワークI/Oはもはやスケーラビリティのボトルネックではなくなった。
  • アボート率は、ワークロードの偏り(skewness)にのみ上昇するが、ネットワークや協調処理のオーバーヘッドによるものではない。これは、均一なワークロード下でシステムが線形にスケーリングしていることを確認する。
  • 中央集権的なコordinatorが存在せず、RDMAベースの協調処理が採用されていることで、アプリケーションレベルの共同パーティショニング制約なしに、予測可能で線形のパフォーマンススケーリングが実現された。
  • 長年にわたり広く信じられていた「分散トランザクションはスケールしない」という神話は事実ではなく、実際にはワークロードそのものによって制限されるにすぎず、システムアーキテクチャやネットワーキングに起因するものではないことが結果から明らかになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。