Skip to main content
QUICK REVIEW

[論文レビュー] Scaling-Up In-Memory Datalog Processing: Observations and Techniques

Zhiwei Fan, Jian-Qiao Zhu|arXiv (Cornell University)|Dec 10, 2018
Graph Theory and Algorithms参考文献 19被引用数 7
ひとこと要約

この論文では、関係データベース管理システム(RDBMS)の上に構築された、高パフォーマンスでメモリ内、並列処理可能なDatalogエンジンであるRecStepを提示している。Datalog処理が関係的バックエンドを用いても効率的に行えることを示しており、クエリコンパイルとRDBMSとのインタラクションにおける的を射ねた最適化によって、複雑なグラフ分析およびプログラム解析ワークロードにおいて、最先端のエンジンと比較して4–6倍の高速化を達成した。これは、従来のRDBMSバックエンドがスケーラブルなDatalog処理に不適切であるという前提を覆すものである。

ABSTRACT

Recursive query processing has experienced a recent resurgence, as a result of its use in many modern application domains, including data integration, graph analytics, security, program analysis, networking and decision making. Due to the large volumes of data being processed, several research efforts, across multiple communities, have explored how to scale up recursive queries, typically expressed in Datalog. Our experience with these tools indicated that their performance does not translate across domains (e.g., a tool design for large-scale graph analytics does not exhibit the same performance on program-analysis tasks, and vice versa). As a result, we designed and implemented a general-purpose Datalog engine, called RecStep, on top of a parallel single-node relational system. In this paper, we outline the different techniques we use in RecStep, and the contribution of each technique to overall performance. We also present results from a detailed set of experiments comparing RecStep with a number of other Datalog systems using both graph analytics and program-analysis tasks, summarizing pros and cons of existing techniques based on the analysis of our observations. We show that RecStep generally outperforms the state-of-the-art parallel Datalog engines on complex and large-scale Datalog program evaluation, by a 4-6X margin. An additional insight from our work is that we show that it is possible to build a high-performance Datalog system on top of a relational engine, an idea that has been dismissed in past work in this area.

研究の動機と目的

  • グラフ解析やプログラム解析のような多様な分野に一般化できない、専用Datalogエンジンとそれらの間のパフォーマンスギャップを是正すること。
  • 従来の懐疑的見解とは対照的に、関係データベースシステムがスケーラブルで高パフォーマンスなDatalog処理のバックエンドとして効果的であるかどうかを調査すること。
  • 複雑な再帰、集計、相互再帰をサポートする、汎用的で並列処理可能かつメモリ内なDatalogエンジンを設計・実装すること。
  • 多様なワークロードにおいてRecStepのパフォーマンスを、既存のDatalogシステムと評価・比較し、既存技術の長所と短所を特定すること。
  • DatalogコンパイルとRDBMSとのインタラクションの両方を注意深く最適化することで、カスタムクエリ実行エンジンを必要とせずに競争力のあるパフォーマンスを実現できることを実証すること。

提案手法

  • RecStepは、1ノードのメモリ内並列RDBMSであるQuickStepの上に構築されており、その効率的な並列実行とメモリ管理を活用している。
  • Datalogプログラムは最適化された実行プラン生成を伴うSQLクエリにコンパイルされ、オーバーヘッドを最小限に抑え、効率的な実行が可能になる。
  • データ並列処理とマルチクエリレベルの並列処理を採用し、データ構造とクエリ構造の両方を活用してCPUの利用効率を向上させている。
  • 主な最適化には、効率的なデルタ管理、マテリアライゼーション制御、ソーティングや同期依存の低減が含まれ、I/Oコストと同期コストを削減している。
  • ストラティファイドネガーション、非線形再帰および相互再帰、再帰的および非再帰的集計を含む、完全なDatalog機能をサポートしている。
  • 軽量なハイパラメータチューニングと、イテレーションごとのコンパイルおよび実行オーバーヘッドを低減する効率的なクエリプランニングにより、パフォーマンスが向上している。

実験結果

リサーチクエスチョン

  • RQ1関係データベースシステムをバックエンドに用いた汎用Datalogエンジンが、グラフ解析やプログラム解析のような多様なワークロードにおいて競争力のあるパフォーマンスを達成できるか?
  • RQ2既存のDatalogエンジンが異なるアプリケーションドメインにスケーリングできない理由は何か? その背後にあるアーキテクチャ的特徴は何か?
  • RQ3的を射ねた最適化を通じて、関係データベースバックエンドが効率的かつスケーラブルなDatalog処理をどの程度サポートできるか?
  • RQ4特にクエリコンパイルとRDBMSとのインタラクションにおける異なる最適化戦略が、再帰的Datalog評価におけるパフォーマンスとリソース利用に与える影響は何か?
  • RQ5既存システムにおける主なパフォーマンスボトルネックは何か? そして、統合的で最適化されたエンジン設計により、それらはどのように緩和できるか?

主な発見

  • RecStepは、グラフ解析およびプログラム解析ワークロードの両方において、複雑で大規模なDatalogプログラムについて、最先端の並列Datalogエンジンを4–6倍高速に処理している。
  • 評価されたシステムの中で、RecStepはRMATおよび実世界のグラフの両方において、REACH、CC、SSSPのすべてのタスクをメモリ不足(OOM)を起こさずに完了した唯一のシステムである。
  • SouffleとBigDatalogは、特に大規模なデータセットにおいて、メモリ不足(OOM)エラーにより一部のワークロードを完了できず、一方RecStepはデータサイズに応じて安定したスケーリングを維持している。
  • CSPAプログラムでは、再帰的で非線形なルールにおけるデータレベルおよびマルチクエリレベルの並列処理の効果的活用により、RecStepはSouffleおよびGraspanをすべてのデータセットで上回っている(最小データセットを除く)。
  • CSDAは単純で線形なルールと多数のイテレーションを含むため、RecStepはSouffleおよびBigDatalogに劣っている。これは、イテレーションごとのコンパイルおよびマテリアライゼーションのオーバーヘッドが高く、ルールの複雑さがパフォーマンスに与える影響を示している。
  • RecStepは、実行時間×コア数の逆数として定義されるCPU効率が高く、bddbddb や BigDatalog といったシステムと比較して、利用可能なCPUコアを優れた効率で活用している。

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

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

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

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