Skip to main content
QUICK REVIEW

[論文レビュー] MultiQueues: Simpler, Faster, and Better Relaxed Concurrent Priority Queues

Hamza Rihani, Peter Sanders|arXiv (Cornell University)|Nov 5, 2014
Distributed systems and fault tolerance参考文献 20被引用数 12
ひとこと要約

MultiQueuesは、複数の順序付き優先順位キューを用いて競合を低減し、スケーラビリティを向上させる、シンプルでスケーラブルな緩い並列優先順位キューを提案する。$cp$ 個のキュー($c>1$)に挿入をランダムに分散させ、削除の際には2つのランダムに選ばれたキューの最小値を選び出すことで、従来の手法よりも高いスループットと優れた要素の品質を達成しており、実験ではSprayListsを最大2倍の性能で上回っている。

ABSTRACT

Priority queues with parallel access are an attractive data structure for applications like prioritized online scheduling, discrete event simulation, or branch-and-bound. However, a classical priority queue constitutes a severe bottleneck in this context, leading to very small throughput. Hence, there has been significant interest in concurrent priority queues with a somewhat relaxed semantics where deleted elements only need to be close to the minimum. In this paper we present a very simple approach based on multiple sequential priority queues. It turns out to outperform previous more complicated data structures while at the same time improving the quality of the returned elements.

研究の動機と目的

  • 並列ワークロードにおける中央集権的優先順位キューの性能ボトルネックを解消すること。
  • 高いスループットを維持しながら、削除された要素の品質(すなわち、グローバル最小値に近いこと)を向上させる緩い優先順位キューを設計すること。
  • SkipLists や中央集権的設計といった複雑なデータ構造の代替として、複数の順序付き優先順位キューを構築ブロックとして用いるより単純な代替案を検討すること。
  • 緩い並列優先順位キューにおける、性能、スケーラビリティ、結果の品質のトレードオフを評価すること。
  • データベースシステムや離散イベントシミュレーションなど、高スループットの優先順位スケジューリングを必要とするシステムへの実用的導入を可能とすること。

提案手法

  • 並列スレッド数 $p$ に対して $cp$ 個の順序付き優先順位キューの配列を用い、負荷分散と競合の低減を図る。
  • 挿入処理をランダムに選択されたキューに割り当てることで、キュー間でグローバル要素の代表的サンプルが得られるようにする。
  • deleteMin 時には、2つの独立的かつランダムに選ばれたキューの最小値を比較して選択することで、キュー内分布のフラクチュエーションを安定化させる。
  • 個々のキュー操作にウェイトフリーロックを採用することでブロッキングを回避し、並列性を向上させる。
  • 削除された要素のランクエラーを追跡・測定するため、ソート済みの補助シーケンス $S$ を使用し、品質評価を正確に行う。
  • パラメータ $c$ をチューニングして、性能、品質、リソース使用量のバランスを図り、実験では $c=2$ または $c=4$ が最適な結果を示している。

実験結果

リサーチクエスチョン

  • RQ1シンプルなマルチキュー方式は、性能と結果の品質の両面で、複雑な中央集権的緩い優先順位キューを上回ることができるか?
  • RQ2挿入処理のランダム割り当てと2つのキューからの選択が、削除された要素のランクエラー分布にどのように影響するか?
  • RQ3スレッド数に対するキュー数の比を表すパラメータ $c$ が、緩い並列優先順位キューの性能と品質に与える影響は何か?
  • RQ4緩い優先順位キューは、高いスループットを維持しながら、削除された要素が一貫してグローバル最小値に近い状態を保てるか?
  • RQ5既存のソリューションと比較して、単ソケットおよびマルチソケットシステムにおける、提案されたMultiQueue設計のスケーリング特性はいかがなものか?

主な発見

  • 単ソケットおよび二ソケットシステムの両方で、MultiQueuesはスループットにおいてSprayListsを2倍以上上回った。
  • MultiQueuesのランクエラー分布はSprayListsに比べて顕著に優れており、観測された最大ランクエラーが1,522(SprayListsは1,740)であった。
  • $p=56$ の場合、$c=2$(112個のキュー)のMultiQueuesは理論的予測と密接に一致するランクエラー分布を示し、SprayListsよりも尾部が短かった。
  • $p=256$ の場合、MultiQueuesの性能優位性がさらに顕著になり、$c=4$ でもSprayListsよりも優れた尾部挙動を示した。
  • 削除された要素の品質は一貫して高く、平均および最大ランクエラーが低く抑えられており、グローバル最小値への近似度が向上していることが示された。
  • 単ソケットでは優れたスケーラビリティを示し、二ソケットでも妥当なスケーリングを達成しており、実世界の並列ワークロードにおける実用性が裏付けられた。

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

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

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

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