Skip to main content
QUICK REVIEW

[論文レビュー] Approximating Constraint Propagation in Datalog

Dario Campagna, Beata Sarna-Starosta|arXiv (Cornell University)|Dec 16, 2011
Constraint Satisfaction and Optimization参考文献 16被引用数 3
ひとこと要約

本稿では、制約プログラミングにおける制約伝播を近似するソース・ツー・ソース変換を提示し、算術制約を含むプログラムの評価を高速化するDatalog LBの手法を提案する。整合性制約および集約から導出されたフィルタープレディケートを統合することで、再帰的および非再帰的プログラムにおいて最大8倍の高速化を達成し、従来の制約マジックセット手法を上回る性能を発揮する。

ABSTRACT

We present a technique exploiting Datalog with aggregates to improve the performance of programs with arithmetic (in)equalities. Our approach employs a source-to-source program transformation which approximates the propagation technique from Constraint Programming. The experimental evaluation of the approach shows good run time speed-ups on a range of non-recursive as well as recursive programs. Furthermore, our technique improves upon the previously reported in the literature constraint magic set transformation approach.

研究の動機と目的

  • 制約プログラミングの制約伝播技術を活用して、算術(不)等式制約を含むDatalog LBプログラムの実行性能を向上させること。
  • 既存のDatalogコンパイラーにおけるナイーブな生成・テスト評価の非効率性を是正すること。特に、算術制約が後段のフィルタとして扱われる点を改善すること。
  • 制約伝播によるドメイン削減を用いて、生成元を事前にフィルタリングするソース・ツー・ソース変換を設計し、探索空間の全列挙を回避すること。
  • 実行時間効率およびスケーラビリティの観点から、従来の制約マジックセット変換を凌駆する性能を達成すること。

提案手法

  • 整合性制約から導出されたフィルタープレディケートを導入し、結合演算の前に変数のドメインを事前にフィルタリングすることで、探索空間を早期に削減する。
  • Datalog LBの集約および型安全なプレディケートのサポートを活用し、ドメイン制約を符号化し、算術式を通じて境界情報の伝播を実現する。
  • ソース・ツー・ソースのリライトを適用し、結合の前にフィルタープレディケートを挿入することで、CPにおける制約伝播の効果を近似する。
  • Datalog LBの静的型システムおよび整合性制約を活用し、算術制約に基づいて変数のドメインを制限するフィルタータイプを宣言する。
  • 非再帰的および再帰的プログラムの両方に対して変換を適用し、FlightsおよびI*AM=SAMパズルを含む複数の例に適用した。
  • 複数のベンチマークを用いて、LogicBloxおよびXSBの両システムにおいて、変換有無での実行性能を比較評価した。

実験結果

リサーチクエスチョン

  • RQ1ソース・ツー・ソース変換を用いて、Datalogにおいて制約伝播を効果的に近似できるか、算術制約のパフォーマンス向上に寄与するか。
  • RQ2提案手法のフィルタープレディケート変換は、制約マジックセット変換と比較して実行時間効率に優れているか。
  • RQ3非再帰的および再帰的Datalogプログラムにおける算術制約に対して、変換は効果的にスケーリング可能か。
  • RQ4なぜ変換はLogicBloxではパフォーマンスを向上させるが、XSBでは劣化するのか。これはシステム固有の制約順序効果を何を示唆するか。
  • RQ5Datalogにおける半ナチュラルなボトムアップ評価と制約伝播の統合は、さらなるパフォーマンス向上をもたらすか。

主な発見

  • 提案手法は、LogicBlox環境において、元の実行時間が長いプログラムで最大8倍の高速化を達成した。
  • 元の実行時間が0.1秒未満のプログラムでは、LogicBloxでパフォーマンス劣化が観察された。これは最適化の恩恵が得られる閾値効果を示唆する。
  • 特に再帰的かつ複雑なプログラム(例:Flightsベンチマーク)において、制約マジックセット変換を上回る性能を発揮した。
  • XSBでは、変換により大多数のプログラムでパフォーマンス劣化が生じた。これは、変換が制約順序を強制し、オーバーヘッドを増加させたことが原因とされた。
  • CMR+FPバージョン(フィルタープレディケートを統合)は、LogicBloxで顕著な改善を示し、プログラムの複雑さに応じて2倍から8倍の高速化が達成された。
  • 結果から、この変換の有効性は、下位の評価エンジンが制約順序およびインクリメンタル計算をどのように処理しているかに強く依存していることが示唆された。

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

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

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

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