[Submitted on 28 Jul 2026]

View PDF HTML (experimental)

Abstract:RDMAは、メモリ分離型データベースにおける高速データアクセスと低遅延通信を実現しています。この環境でRDMAを用いたトランザクション高速化のための様々な最適化手法が提案されてきましたが、two-sided RDMAは、remote CPUの関与が原因でone-sided RDMAに比べて大きく未検討のままとなっています。しかし、one-sided RDMAの多用には根本的な制約があります。その限られたAPIは、同時実行制御プロトコルにおいて重要となる、飢餓防止、優先度ベースのスケジューリング、プリエンプションといった複雑なシステム機能を表現できません。また、インデックス化には複数のネットワークラウンドトリップが必要となり、ネットワーク増幅を引き起こします。
本研究では、メモリ分離型データベースの文脈でone-sided RDMAとtwo-sided RDMAの長年の議論を再考します。我々は、two-sided RDMAの従来の制約、すなわちメモリサーバにおけるCPUボトルネックを、two-sided RDMAの豊富な機能を2つの主要な最適化手法(1)軽量キャッシングと(2)効率的なバッチ処理で活用することで対処するLotusを提示します。Lotusは、メモリサーバの限られたCPUリソースを賢く活用することで、弱点と見なされていた点を大きな利点に変えられることを示しています。我々の実験研究では、LotusがYCSBベンチマークにおいて、最先端のone-sided RDMAベースのアプローチと比較して最大8.2$\times$の高いスループットと42.9$\times$の低いp999テールレイテンシを達成することを示しています。

Submission history

From: Hokeun Cha [view email]
[v1] Tue, 28 Jul 2026 20:04:01 UTC (1,012 KB)