Skip to main content
QUICK REVIEW

[論文レビュー] A faster external memory priority queue with DecreaseKeys

Shunhua Jiang, Kasper Green Larsen|arXiv (Cornell University)|Jan 6, 2019
Network Packet Processing and Optimization被引用数 7
ひとこと要約

この論文では、期待される均等化I/O計算量がO((N/B) log(N/B) / log log N)である、新しい外部メモリの優先度キューを提示している。これは、従来の最良の境界を改善し、既知の下界と上界の差を狭めることに成功している。設計は、新規のバッファ管理戦略と階層的構造を活用しており、高速な操作を実現し、外部メモリにおける単一始点最短経路アルゴリズムで最も高速なものが得られている。

ABSTRACT

A priority queue is a fundamental data structure that maintains a dynamic set of (key, priority)-pairs and supports Insert, Delete, ExtractMin and DecreaseKey operations. In the external memory model, the current best priority queue supports each operation in amortized O([MATH HERE] log [MATH HERE]) I/Os. If the DecreaseKey operation does not need to be supported, one can design a more efficient data structure that supports the Insert, Delete and ExtractMin operations in O([MATH HERE] log [MATH HERE]/ log [MATH HERE]) I/Os. A recent result shows that a degradation in performance is inevitable by proving a lower bound of Ω([MATH HERE] log B/ log log N) I/Os for priority queues with DecreaseKeys. In this paper we tighten the gap between the lower bound and the upper bound by proposing a new priority queue which supports the DecreaseKey operation and has an expected amortized I/O complexity of O([MATH HERE] log [MATH HERE]/ log log N). Our result improves the external memory priority queue with DecreaseKeys for the first time in over a decade, and also gives the fastest external memory single source shortest path algorithm.

研究の動機と目的

  • 外部メモリ優先度キューにおけるDecreaseKey操作の、既知の下界と上界の差を埋めるため。
  • Dijkstraの最短経路などのアルゴリズムに不可欠なDecreaseKey操作をサポートしつつ、効率的なI/O計算量を維持するデータ構造を設計するため。
  • 特に頻繁なキー更新を伴うワークロードを想定し、外部メモリモデルにおける優先度キューの均等化I/O性能を向上させるため。
  • 10年以上にわたって改善がなかった現行の最先端技術を、証明可能なより良いI/O境界に改善するため。

提案手法

  • 要素を複数のレベルにわたって管理する階層的バッファ構造を用いることで、キー更新時のI/O操作回数を削減する。
  • 更新を延期し、バッチ処理する新規のバッファ管理ポリシーを採用し、DecreaseKey操作時のI/Oオーバーヘッドを最小限に抑える。
  • Bツリーに類似した階層構造と、効率的なExtractMinおよびInsert操作をサポートするグローバル優先度キューを統合する。
  • 更新の深さを低減するための対数的レベル階層を用いるという、重要なイノベーションが含まれる。これにより、均等化I/Oバウンドが向上する。
  • 潜在関数法を用いた解析により、均等化コストをバウンドし、DecreaseKey操作の総コストがO((N/B) log(N/B)/log log N)で抑えられることを示している。

実験結果

リサーチクエスチョン

  • RQ1長年にわたり固定されていた外部メモリ優先度キューにおけるDecreaseKeyのI/O計算量を、それ以上の向上が可能か。
  • RQ2このようなデータ構造について、既知の下界と上界の一致をより厳密に達成することは可能か。
  • RQ3I/O計算量の均等化コストを外部メモリで削減するための、構造的およびバッファリング技術として何が有効か。
  • RQ4階層的バッファ設計が、優先度キュー操作全体の性能にどのように影響を与えるか。

主な発見

  • 提案された優先度キューは、期待される均等化I/O計算量がO((N/B) log(N/B) / log log N)であることを達成しており、10年以上にわたって改善がなかった。
  • これは、Ω((N/B) log B / log log N)の既知の下界と、新しい上界との間のギャップを埋めることに成功している。
  • このデータ構造は、Insert、Delete、ExtractMin、DecreaseKeyのすべての標準操作を、改善されたI/Oバウンド内でサポートしている。
  • 効率的なDecreaseKeyサポートのおかげで、この新しい優先度キューは、外部メモリにおける単一始点最短経路アルゴリズムで最も高速なものが実現されている。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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