ICDCS 2023併設ワークショップでScalarDLに関する研究発表を行いました

Jun Nemoto
Scalar Engineering (JA)
Aug 15, 2023

2023年7月18〜21日にかけて行われたICDCS 2023に参加し、その併設ワークショップでScalarDLに関する新しい取り組みについて発表しました。本記事では、その発表概要ともに、ICDCS 2023の概況や研究動向について紹介します。

ICDCS

International Conference on Distributed Computing Systems (ICDCS)は、IEEEが開催する分散システムに関するトップレベルの国際会議です。近年のICDCSでは、クラウド/エッジコンピューティング、AI / 機械学習のための分散システム、ブロックチェーン、セキュリティなど、分散システムに関する幅広いトピックが議論されています。今年で43回目を迎える非常に歴史のある会議で、主にデータベースシステムのコミュニティで活動している著者は今回初めて参加しました。今回の開催地は香港で、本会議3日間に加えて、その前日にいくつかのワークショップが開催されるという構成でした。

Lazy Byzantine Fault Detection (Lazy BFD)

今回私がワークショップで発表した論文のタイトルは「The Case for Lazy Byzantine Fault Detection for Transactional Database Systems」です。現在、弊社のコアプロダクトの1であり、昨年のVLDB 2022でも発表したScalarDLをさらに進化させるべく、新しいビザンチン故障検知方法の研究開発に取り組んでいます。本論文は、その初期的な検討・試作・評価についてまとめたものになっています。

もう少し詳しく述べますと、現在、ScalarDLのビザンチン故障検知は、2つのデータベースレプリカ間でトランザクション実行時に同期的に合意を取る(i.e., 改ざん等の故障がないことをその場で検証する) 必要があります。この同期的な手続きはトランザクションの性能や、必要な計算資源に大きく影響します。そこで、今回、実行時には必要最小限の情報を残すにとどめ、後から改ざん等の故障がないことを検証する非同期的ビザンチン故障検知 / Lazy Byzantine Fault Detection (Lazy BFD) を提案しました。Lazy BFDではリアルタイムに改ざん等の故障を検知することはできなくなりますが、定期的に改ざんが起きていないことを保証すれば十分なユースケースにおいて、高いトランザクション性能と計算資源の有効活用が期待できます。

分散システム研究動向

初めての参加ではありますが、今年のICDCSを俯瞰してみて全体的なトレンドと、著者の研究分野に関連するいくつかの興味深い発表について簡単に紹介します。

今年のICDCSの投稿数はDesk Rejectを除くと439本で、採択本数、採択率はそれぞれ83本、18.9%でした。カテゴリ別の採択本数は、AI for Distributed SystemsとEdge Computingが最も多く各12本ずつ、次いでBlockchainが11本という状況でした。AI / 機械学習関連の研究は実はこの12本以上に存在していて、Edge ComputingやSecurityカテゴリの論文にも内容がfederated learningに関するものや、敵対的攻撃に関するものが複数あったため、実質1/3程度がAI / 機械学習関連だった印象です。著者は機械学習は専門外ながらも、データの信頼性保証を担う立場から、モデルの真正性保証やプライバシー保護のために我々として何ができるか、何をすべきか考えさせられました。

AI / 機械学習関連に次いで活発に議論されていたブロックチェーン分野に関して特徴的だと感じたのは、ほぼ全ての論文がpublic / persmissionlessなブロックチェーンを前提としたものであった点です。著者がよく参加するデータベースコミュニティでは、private / permissionnedなブロックチェーンの方が多いと感じており、少し意外でした。ただ、課題意識としては共通するところも多く、興味深く聞くことができました。

具体的に挙げると、1つはスマートコントラクトの並列実行に関するものです[1]。ブロックチェーンでは、トランザクションの全順序を決めた後、各ノードがdeterministicに、かつ相違ないようにトランザクションロジック(i.e., スマートコントラクト)を実行しなければならないため、ここを並列化するのは1つの課題です。Qiらは、スマートコントラクトのソースコードから得られる静的な情報に加え、実行時の値を用いてアクセスするデータの依存関係を解析し、その依存関係に基づいて並列実行を行う手法を提案しました。ちなみに、ScalarDLは、そもそもコンフリクトがないトランザクションは順序を決めずに(i.e., 半順序で)並列実行するというアプローチを取っており、トランザクション処理全体を通じてより並列性を享受しつつビザンチン故障検知を行うことが可能になっています。

もう1つはブロックチェーンの容量削減に関する論文[2]です。近年、上記でも述べたブロックチェーンが全順序であることに起因する性能問題を解消すべく、DAG (Directed Acyclic Graph) ベースのアプローチが多数提案されています。ただ、トランザクション単位でDAGを構成すると性能向上が期待できる一方、トランザクション毎にハッシュ値等のメタデータを保持する必要があるため、ワークロード次第ではその容量削減が課題になります。Daiらは過去のトランザクションについて、順序情報を保持しながら集約&圧縮していくことで容量削減を行うGeckoDAGを提案しました。こうしたメタデータの削減に加え、未来永劫履歴を削除しないという前提さえ緩和できるならば、データ本体 (e.g., トランザクションのペイロードやレコード) のpruningなども有効な手段だと思いました。こうしたデータのトレーサビリティと容量削減の両立は、分散台帳における重要な課題であると考えています。

[1] Xiaodong Qi et al., “Smart Contract Parallel Execution with Fine-Grained State Accesses”, ICDCS 2023, 2023, pp. 841–852.

[2] Xiaohai Dai et al., “GeckoDAG: Towards A Lightweight DAG-based Blockchain via Reducing Data Redundancy”, ICDCS 2023, 2023, pp. 451–462.

まとめ

ICDCS 2023ワークショップで発表した論文の概要とともに、本会議の概要について紹介しました。今回発表したLazy BFDは、さらに研究開発をすすめて製品化を目指すとともに、フルペーパーをトップ国際会議に投稿する予定です。

--

--