FLAC: Practical Failure-Aware Atomic Commit Protocol for Distributed Transactions

要約

分散トランザクション処理では、アトミック コミット プロトコル (ACP) を使用してデータベースの一貫性を確保します。
コモディティのコンピューティング ノードとネットワークを使用すると、システム クラッシュやネットワーク パーティショニングなどの障害がよく発生します。
したがって、ACP は、データベースの一貫性を確保しながら、効率を高めるために動作条件に動的に適応することが重要です。
既存の ACP は、多くの場合、安定した動作条件を前提としているため、さまざまな環境に一般化できないか、実際には遅くなります。
この論文では、Failure-Aware Atomic Commit (FLAC) と呼ばれる斬新で実用的な ACP を提案します。
本質的に、FLAC には 3 つの異なる環境用に特別に設計された 3 つのサブプロトコルが含まれています。(i) 障害は発生しない、(ii) 参加者ノードはクラッシュする可能性があるが接続の遅延はない、または (iii) クラッシュしたノードと遅延した接続の両方
発生する可能性があります。
これらの環境は、障害のない、クラッシュ障害、およびネットワーク障害の堅牢性レベルとしてモデル化されます。
動作中、FLAC は障害が発生したかどうかを監視し、強化学習によってパラメーターが微調整された堅牢性レベルのステート マシンを使用して、最適なサブ プロトコルを動作するように動的に切り替えることができます。
その結果、応答時間とスループットの両方が向上し、クラッシュやネットワーク障害が発生する可能性があるインターネット全体に分散されたノードを効果的に処理します。
Google Percolator に基づく分散トランザクション キー値ストレージ システムに FLAC を実装し、実際のワークロードのマイクロ ベンチマークとマクロ ベンチマークの両方でそのパフォーマンスを評価します。
その結果、競合の多いワークロードでは、既存の ACP と比較して、FLAC が最大 2.22 倍のスループット向上と 2.82 倍のレイテンシ スピードアップを達成することが示されています。

要約(オリジナル)

In distributed transaction processing, atomic commit protocol (ACP) is used to ensure database consistency. With the use of commodity compute nodes and networks, failures such as system crashes and network partitioning are common. It is therefore important for ACP to dynamically adapt to the operating condition for efficiency while ensuring the consistency of the database. Existing ACPs often assume stable operating conditions, hence, they are either non-generalizable to different environments or slow in practice. In this paper, we propose a novel and practical ACP, called Failure-Aware Atomic Commit (FLAC). In essence, FLAC includes three sub-protocols, which are specifically designed for three different environments: (i) no failure occurs, (ii) participant nodes might crash but there is no delayed connection, or (iii) both crashed nodes and delayed connection can occur. It models these environments as the failure-free, crash-failure, and network-failure robustness levels. During its operation, FLAC can monitor if any failure occurs and dynamically switch to operate the most suitable sub-protocol, using a robustness level state machine, whose parameters are fine-tuned by reinforcement learning. Consequently, it improves both the response time and throughput, and effectively handles nodes distributed across the Internet where crash and network failures might occur. We implement FLAC in a distributed transactional key-value storage system based on Google Percolator and evaluate its performance with both a micro benchmark and a macro benchmark of real workload. The results show that FLAC achieves up to 2.22x throughput improvement and 2.82x latency speedup, compared to existing ACPs for high-contention workloads.

arxiv情報

著者 Hexiang Pan,Quang-Trung Ta,Meihui Zhang,Yeow Meng Chee,Gang Chen,Beng Chin Ooi
発行日 2023-02-20 13:15:16+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.DB, cs.DC, H.2.4 パーマリンク