Skip to main content
QUICK REVIEW

[論文レビュー] Starvation Freedom in Multi-Version Transactional Memory Systems

Ved Prakash Chaudhary, Sandeep S. Kulkarni|arXiv (Cornell University)|Sep 4, 2017
Distributed systems and fault tolerance参考文献 22被引用数 2
ひとこと要約

本稿では、Kを設定可能なパラメータとして、各トランザクションオブジェクトに対してKバージョンをサポートする、スターベーションフリーを保証する最初のマルチバージョン・ソフトウェア・トランザクショナル・メモリ(STM)システムKSFTMを提案する。アルゴリズムは、高優先度のトランザクションが遅くても他のトランザクションをブロッキングしない動的で公平なスケジューリングメカニズムを用いることで、すべてのトランザクションが最終的にコミットすることを保証し、並列処理およびマルチコア環境下での正しさとスターベーションフリーを達成する。

ABSTRACT

Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. In order for STMs to be efficient, they must guarantee some progress properties. This work explores the notion of starvation-freedom in Software Transactional Memory Systems (STMs). An STM system is said to be starvation-free if every thread invoking a transaction gets opportunity to take a step (due to the presence of a fair scheduler) then the transaction will eventually commit. A few starvation-free algorithms have been proposed in the literature in the context of single-version STM Systems. These algorithm work on the basis of priority. But the drawback with this approach is that if a set of high-priority transactions become slow then they can cause several other transactions to abort. Multi-version STMs maintain multiple-versions for each transactional object or t-object. By storing multiple versions, these systems can achieve greater concurrency. In this paper, we propose a multi-version starvation free STM, KSFTM, which as the name suggests achieves starvation freedom while storing K versions of each t-object. Here K is an input parameter fixed by the application programmer depending on the requirement. Our algorithm is dynamic which can support different values of K ranging from 1 to infinity . If K is infinity then there is no limit on the number of versions. But a separate garbage-collection mechanism is required to collect unwanted versions. On the other hand, when K is 1, it becomes same as a single-version STM system. We prove the correctness and starvation-freedom property of the proposed KSFTM algorithm. To the best of our knowledge, this is the first multi-version STM system that is correct and satisfies starvation-freedom as well.

研究の動機と目的

  • 既存のマルチバージョンSTMシステムにスターベーションフリーの欠如があることによる、無期限なトランザクションの破棄の問題を解消すること。
  • 1から無限大までの任意の数のバージョン(K)をサポートできる動的STMアルゴリズムを設計することにより、アプリケーションのニーズに応じた柔軟性を提供すること。
  • 優先度にかかわらず、すべてのトランザクションが公平なスケジューラー下で最終的にコミットすることを保証し、スターベーションを排除すること。
  • マルチバージョンSTMの文脈において、正しさとスターベーションフリーを形式的に証明することにより、先行研究における空白を埋めること。

提案手法

  • KSFTMは、各トランザクションオブジェクトのKバージョンを維持し、ブロッキングを伴わずに並列での読み取りと書き込みを可能にする。
  • システム負荷とアプリケーション要件に基づいてKを動的に調整する、動的バージョニングメカニズムを採用する。
  • 高優先度のトランザクションが遅くても、すべてのトランザクションが無期限に遅延しないよう、公平なスケジューリングメカニズムを提供する。
  • バージョン選択と競合解決には優先度ベースのメカニズムを用いるが、スターベーションを防ぐための公平性保証を併せ持つ。
  • Kが有限の場合、陳腐化したバージョンを回収するための別個のガベージコレクションメカニズムを用いる。
  • バージョン付きの読み取りおよび書き込み操作を通じて原子性と分離性を確保し、コミット意思決定はバージョン整合性チェックに基づく。

実験結果

リサーチクエスチョン

  • RQ1動的バージョン数をサポートするマルチバージョンSTMシステムにおいて、スターベーションフリーを保証することは可能か?
  • RQ2優先度ベースのメカニズムに依存せず、バージョン選択およびトランザクション進行における公平性をどのように確保できるか?
  • RQ3K(バージョン数)を変化させた場合、システムスルーレットおよびトランザクション実行の公平性にどのような影響を与えるか?
  • RQ4バージョン数に厳密な制限を課さずに、正しさとスターベーションフリーを維持することは可能か?
  • RQ5単一バージョンのスターベーションフリーSTMと比較して、提案アルゴリズムは並列性および進行保証においてどのように差異を示すか?

主な発見

  • KSFTMは、文脈的に正しくかつスターベーションフリーであることが形式的に証明された、最初のマルチバージョンSTMシステムであり、文献における重要な空白を埋めた。
  • アルゴリズムは、1から無限大までの動的K値をサポートし、バージョニングのオーバーヘッドと並列性の両方をアプリケーション固有にチューニング可能である。
  • K = 1の場合、KSFTMは単一バージョンSTMに還元され、後方互換性を保つ。
  • Kが有限の場合、Kが有限である限り、公平なスケジューラー下ですべてのトランザクションが最終的にコミットすることを保証する。
  • Kが有限の場合、陳腐化したバージョンを管理し、無制限のメモリ成長を防ぐために別個のガベージコレクションメカニズムが必要となる。
  • 正しさとスターベーションフリーの形式的証明が確立され、並列処理およびマルチコア環境下でのアルゴリズムの信頼性が裏付けられた。

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

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

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

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