Skip to main content
QUICK REVIEW

[論文レビュー] An Innovative Approach for Achieving Composability in Concurrent Systems using Multi-Version Object Based STMs.

Sandeep S. Kulkarni, Sweta Kumari|arXiv (Cornell University)|Dec 28, 2017
Distributed systems and fault tolerance参考文献 19被引用数 1
ひとこと要約

本稿では、1つのキーごとに複数のバージョンのデータオブジェクトを保持することで、コンcurrentシステムにおける合成性と並行性を向上させる、新しいソフトウェアトランザクションメモリシステムであるMulti-Version Object-Based STM(MV-OSTM)を提案する。パラメータ$k$を用いたバージョン数の動的チューニングにより、トランザクションのキャンセルを低減し、未使用のバージョンに対してガベージコレクションを実施することで、マルチコアアーキテクチャ上での不透明性のない動作と高いスケーラビリティを達成する。

ABSTRACT

In the modern era of multicore processors, utilizing multiple cores properly is a tedious job. Synchronization and communication among processors involve high cost. Software transaction memory systems (STMs) addresses this issues and provide better concurrency in which programmer need not have to worry about consistency issues. Several big-data applications which deal large amounts of data can benefit from Transactional Memory Systems. In this paper, we introduce a new STM system as multi-version object based STM (MV-OSTM) which is the fusion of object based STM with multiple versions. As the name suggests MV-OSTM, works on a higher level and keeping the multiple versions corresponding to each key. Presently, we have developed MV-OSTM with the unlimited number of versions corresponding to each key. To overcome traversal overhead, it performs the garbage collection method to delete the unwanted versions corresponding to the key. It provides greater concurrency while reducing the number of aborts. It ensures composability by making the transaction as atomic. In the proposed algorithm, $k$ is the input parameter and the value of it will be decided by the programmer and depends on the application. Programmer can tune the value of $k$ from 1 to $\infty$. If k equal to 1 then it will boil down to single version object based STM (OSTM) and if k equal to $\infty$ then it will be equivalent to multi-version OSTM with $\infty$ versions. MV-OSTM satisfies correctness-criteria as opacity. For a given version order of keys, if any history H generated by MV-OSTM produces acyclic graph then $H$ is opaque.

研究の動機と目的

  • マルチコアプロセッサにおける同期と通信のオーバーヘッドの課題に対処すること。
  • 大規模データワークロードにおける高い並行性と低いキャンセル率を実現するため、トランザクションメモリシステムを改善すること。
  • 原子的トランザクションセマンティクスを通じて、並行システムにおける合成性を確保すること。
  • パラメータ$k$によるチューナブルなバージョン管理を提供し、メモリ使用量とパフォーマンスのバランスを図ること。
  • すべてのシステムが生成する履歴について、不透明性(opacity)を形式的に保証すること。

提案手法

  • MV-OSTMは、オブジェクトベースSTMとマルチバージョニングを統合した設計であり、1つのキーごとに複数のバージョンを保持することで、並行アクセスをサポートする。
  • システムは、パラメータ$k$を用いて1キーあたりのバージョン数をチューニング可能であり、$k=1$(単一バージョン)から$k=\infty$(無制限バージョン)まで範囲を有する。
  • 古くなった未使用バージョンに対してガベージコレクションを適用することで、走査コストとメモリオーバーヘッドを低減する。
  • アルゴリズムはトランザクションの原子的実行を保証し、ネストされたまたは並行するトランザクション間での合成性を可能にする。
  • 不透明性は形式的に証明された正しさの基準である:MV-OSTMが生成するすべての非巡回履歴グラフは、不透明であることが保証される。
  • システムはより高い抽象化レベルで動作し、バージョニングをプログラマーに対して透明に管理する。

実験結果

リサーチクエスチョン

  • RQ1マルチバージョニングをオブジェクトベースSTMに統合することで、並行性の向上とキャンセルの低減をどのように達成できるか?
  • RQ2パラメータ$k$のバージョン数チューニングがパフォーマンスとメモリ使用量に与える影響は何か?
  • RQ3多バージョンオブジェクトベースSTMは、不透明性のもとで正しさを保ちながら合成性を達成できるか?
  • RQ4陳腐化したバージョンのガベージコレクションは、システムのスケーラビリティと走査コストにどのように影響するか?
  • RQ5不透明性基準のもとで、MV-OSTMの形式的正しさ保証は何か?

主な発見

  • MV-OSTMは、データオブジェクトの複数バージョン保持により、トランザクションキャンセルを低減し、全体的な並行性を向上させる。
  • パラメータ$k$によるチューナブルなバージョニングをサポートすることで、プログラマーがパフォーマンスとメモリ使用量のバランスを調整できる。
  • ガベージコレクションにより未使用バージョンが効果的に削除され、走査オーバーヘッドとメモリの肥大化が最小限に抑えられる。
  • アルゴリズムは不透明性を保証しており、生成されたすべての履歴が、ある順序実行と等価であることが保証される。
  • $k = 1$のとき、MV-OSTMは単一バージョンOSTMに還元される。$k = \infty$のとき、無制限バージョンを持つ多バージョンOSTMとなる。
  • トランザクションが原子的であり、ネストや並行実行の状況でも安全に合成できるため、システムは合成可能である。

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

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

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

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