Skip to main content
QUICK REVIEW

[論文レビュー] On measuring performances of C-SPARQL and CQELS

Xiangnan Ren, Houda Khrouf|arXiv (Cornell University)|Nov 24, 2016
Semantic Web and Ontologies参考文献 6被引用数 7
ひとこと要約

本論文は、ストリームレート、ウィンドウサイズ、ストリーム数、データサイズの変動するワークロード下で、2つの代表的なRDFストリーム処理エンジン、C-SPARQLとCQELSの性能を評価する。C-SPARQLは時間駆動型のメカニズムのおかげで、複雑でマルチストリームなクエリにおいて優れた性能を発揮する一方、CQELSは効率的な辞書エンコードとデータ駆動型実行のおかげで静的データ処理においてC-SPARQLを上回り、特定のクエリでは実行時間に最大27倍の差が生じる。

ABSTRACT

To cope with the massive growth of semantic data streams, several RDF Stream Processing (RSP) engines have been implemented. The efficiency of their throughput, latency and memory consumption can be evaluated using available benchmarks such as LSBench and City- Bench. Nevertheless, these benchmarks lack an in-depth performance evaluation as some measurement metrics have not been considered. The main goal of this paper is to analyze the performance of two popular RSP engines, namely C-SPARQL and CQELS, when varying a set of performance metrics. More precisely, we evaluate the impact of stream rate, number of streams and window size on execution time as well as on memory consumption.

研究の動機と目的

  • C-SPARQLとCQELSという2つの代表的なRDFストリーム処理(RSP)エンジンの包括的な性能評価を実施すること。
  • ストリームレート、ウィンドウサイズ、ストリーム数、トリプル数、静的データサイズといった重要なシステムパラメータが実行時間とメモリ消費量に与える影響を特定すること。
  • 実行メカニズムの違い(時間駆動型対データ駆動型)を考慮し、結果の正しさを保証することで、公平で詳細な比較を提供すること。
  • 特にクエリの複雑さとデータ特性に鑑みた、実際の展開環境における各エンジンの強みと限界を明確にすること。

提案手法

  • 再現可能で正確な評価が可能なように、ストリームサイズ、内容、構造を制御できるカスタムデータジェネレータを設計した。
  • さまざまなワークロードとクエリパターンをテストするため、複雑さに差がある5つのSPARQLクエリを実装した。
  • 複数の構成で、制御された条件下でのトリプルあたりの実行時間とメモリ消費量を測定した。
  • 公式測定の前にエンジンの挙動を安定化させるため、ウォームアップフェーズを適用した。
  • 異なる実行戦略を補うために、正規化された実行時間指標($t = T/N$)を用いた。
  • 同一のクエリとデータ条件の下で、C-SPARQL(時間駆動型)とCQELS(データ駆動型)の両エンジンに対して実験を実施した。

実験結果

リサーチクエスチョン

  • RQ1ストリームレートは、C-SPARQLとCQELSの実行時間とメモリ消費量にどのように影響するか?
  • RQ2ウィンドウサイズは、時間駆動型(C-SPARQL)とデータ駆動型(CQELS)のRSPエンジンにおけるクエリパフォーマンスにどのような影響を与えるか?
  • RQ3同時に処理されるストリーム数は、両エンジンのパフォーマンスとメモリ使用量にどのように影響するか?
  • RQ4静的データサイズとデータ量は、スケーラビリティと実行効率にどのように影響するか?
  • RQ5どのようなクエリシナリオでCQELSがC-SPARQLを上回り、逆にC-SPARQLがCQELSを上回るのか?

主な発見

  • クエリ $Q_1$ において、C-SPARQLはトリプルあたり平均0.018 msの実行時間を達成し、CQELSの0.169 msを大きく上回った。
  • 複雑なクエリ $Q_3$ では、C-SPARQLは0.040 ms/トリプルという安定したパフォーマンスを維持したが、CQELSは全ウィンドウを繰り返し照合するため性能が低下した。
  • 50MBの静的データを含むクエリ $Q_6$ では、CQELSがC-SPARQLの約27倍速く、トリプルあたり0.032 msを達成したのに対し、C-SPARQLは0.952 msであった。
  • CQELSは、能動的実行と非同期ストリーム処理のため、動的ストリーミング環境下で高いメモリ消費量を示した。特に複数のストリームを処理する際顕著だった。
  • C-SPARQLは時間駆動型でバッチベースの実行を行うため、マルチストリーム環境でも正確で完全な出力を保証するが、CQELSはこのような状況で出力の不一致を引き起こすことがある。
  • C-SPARQLのパフォーマンスは、ストリームレートが閾値を超えると低下し、信頼性が損なわれるため、実稼働環境ではレート制御の必要性が示された。

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

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

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

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