Skip to main content
QUICK REVIEW

[論文レビュー] A Lock-Free Work-Stealing Algorithm for Bulk Operations

Raja Sai Nandhan Yadav Kataru, Danial Davarnia|arXiv (Cornell University)|Mar 5, 2026
Parallel Computing and Optimization Techniques被引用数 0
ひとこと要約

本論文は LF_Queue を導入し、マスター–ワーカー DD-BD ソルバーのためのロックレス・無限大・バルク対応のワークスティーリングキューを提示、ロックなしで一定遅延のバルクプッシュとスケーラブルなバルクスティールを実現する。

ABSTRACT

Work-stealing is a widely used technique for balancing irregular parallel workloads, and most modern runtime systems adopt lock-free work-stealing deques to reduce contention and improve scalability. However, existing algorithms are designed for general-purpose parallel runtimes and often incur overheads that are unnecessary in specialized settings. In this paper, we present a new lock-free work-stealing queue tailored for a master-worker framework used in the parallelization of a mixed-integer programming optimization solver based on decision diagrams. Our design supports native bulk operations, grows without bounds, and assumes at most one owner and one concurrent stealer, thereby eliminating the need for heavy synchronization. We provide an informal sketch that our queue is linearizable and lock-free under this restricted concurrency model. Benchmarks demonstrate that our implementation achieves constant-latency push performance, remaining stable even as batch size increases, in contrast to existing queues from C++ Taskflow whose latencies grow sharply with batch size. Pop operations perform comparably across all implementations, while our steal operation maintains nearly flat latency across different steal proportions. We also explore an optimized steal variant that reduces latency by up to 3x in practice. Finally, a pseudo workload based on large-graph exploration confirms that all implementations scale linearly. However, we argue that solver workloads with irregular node processing times would further amplify the advantages of our algorithm.

研究の動機と目的

  • マスタ-ーワーカー設定における並列決定図基づく混合整数最適化の特化ワークロードを動機づける。
  • ネイティブなバルクプッシュ/スティール、無限成長、最大2つの同時利用者(所有者と単一のスティーラー)をサポートするロックレスキューを設計する。
  • 正確性のスケッチ(線形化可能性とロックレス進行)を提供し、既存の Taskflow キューと性能を比較評価する。
  • ベンチマークを通じて、バルク操作の遅延が一定またはほぼ一定であり、負荷量の増加とともにアプローチがスケールすることを示す。

提案手法

  • 先頭ポインタとサイズを原子操作で管理し、偽共有を避けるパディングを備えた単一連結リストとしてデキューを実装する。
  • API 操作を提供する:push(バルク)、pop(所有者)、steal(尾部からバルク取得)、特定のメモリ順序(relaxed、acquire-release)を適用する。
  • Steal は尾部から一定割合のノードを盗むための切り点を計算し、急速な枯渇時には整合性チェックで中止する。
  • steals の切り点を線形化点として特定し、内部リンクの所有者のみの書換えを示して線形化可能性を主張する。
  • 所有者が steal 中にキューを更新しなかった場合には完全走査を回避する最適化を提案し、スティールの待機時間を削減する。
  • Push/Steal の遅延を比較するために Taskflow の2つのキュー(Unbounded と Bounded)と対比し、偽 DAG ワークロードを用いてスケーリングを評価する。

実験結果

リサーチクエスチョン

  • RQ1LF_Queue の設計はマスター–ワーカー設定におけるロックレス進行を提供するか?
  • RQ2バッチサイズが大きくなってもバルクプッシュとバルクスティールは低遅延かつスケーラブルか?
  • RQ3LF_Queue の性能はバルク操作とスティール比の変化に対して既存の Taskflow キューと比較してどうか?
  • RQ4不規則なノード処理時間を持つ DAG 探索など現実的な並列ワークロードでスケールするか?

主な発見

  • LF_Queue はバッチサイズ(1–1024 ノード)全体でバルクプッシュの遅延をほぼ一定に抑え、バッチサイズが増加するほど Taskflow キューより優れた性能を示す。
  • LF_Queue のスティール遅延はスティール比に対してほぼフラットだが、Taskflow キューはスティールの増加に伴い直線的に遅延が増加する。
  • 所有者がステイル中に更新しない場合に適用される最適化スティールは一般的なケースで遅延を最大約3倍低減できる。
  • DAG ベースの疑似ワークロードではスレッド数に対してほぼ対数線形のスケーラビリティを示し、良好な並列効率を示す。
  • 制限付き同時実行モデル(所有者 + 単一スティーラー)の下で無限成長をサポートし、線形化可能性を維持する。
  • ベンチマークは一定遅延のプッシュと安定したスティールを示し、ポップ操作は実装間で同等に推移する。

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

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

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

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