[論文レビュー] Efficient means of Achieving Composability using Transactional Memory
本稿では、ハッシュテーブルと遅延スプリーストリングを用いたオブジェクトベースのソフトウェアトランザクションメモリ(OSTM)システムであるHT-OSTMを提案する。この手法により、操作における高レベルの意味的情報とタイムスタンプ順序による競合透明性の強制を活用し、効率的で合成可能な並列操作を実現する。HT-OSTMは、検索および更新ワークロードにおいてESTMに比べ106 TPS高いスループットを達成し、RWSTMに比べ3–3.4%の性能向上を示しており、並列データ構造における効率的な合成性を実証している。
The major focus of software transaction memory systems (STMs) has been to facilitate the multiprocessor programming and provide parallel programmers with an abstraction for fast development of the concurrent and parallel applications. Thus, STMs allow the parallel programmers to focus on the logic of parallel programs rather than worrying about synchronization. Heart of such applications is the underlying concurrent data-structure. The design of the underlying concurrent data-structure is the deciding factor whether the software application would be efficient, scalable and composable. However, achieving composition in concurrent data structures such that they are efficient as well as easy to program poses many consistency and design challenges. We say a concurrent data structure compose when multiple operations from same or different object instances of the concurrent data structure can be glued together such that the new operation also behaves atomically. For example, assume we have a linked-list as the concurrent data structure with lookup, insert and delete as the atomic operations. Now, we want to implement the new move operation, which would delete a node from one position of the list and would insert into the another or same list. Such a move operation may not be atomic(transactional) as it may result in an execution where another process may access the inconsistent state of the linked-list where the node is deleted but not yet inserted into the list. Thus, this inability of composition in the concurrent data structures may hinder their practical use. In this context, the property of compositionality provided by the transactions in STMs can be handy. STMs provide easy to program and compose transactional interface which can be used to develop concurrent data structures thus the parallel software applications. However, whether this can be achieved efficiently is a question we would try to answer in this thesis. Most of the STMs proposed in the literature are based on read/write primitive operations(or methods) on memory buffers and hence denoted RWSTMs. These lower level read/write primitive operations do not provide any other useful information except that a write operation always needs to be ordered with any other read or write. Thus limiting the number of possible concurrent executions. In this thesis, we consider Object-based STMs or OSTMs which operate on higher level objects rather than read/write operations on memory locations. The main advantage of considering OSTMs is that with the greater semantic information provided by the methods of the object, the conflicts among the transactions can be reduced and as a result, the number of aborts will also be less. This allows for larger number of permissive concurrent executions leading to more concurrency. Hence, OSTMs could be an efficient means of achieving composability of higher-level operations in the software applications using the concurrent data structures. This would allow parallel programmers to leverage underlying multi-core architecture. To design the OSTM, we have adopted the transactional tree model developed for databases. We extend the traditional notion of conflicts and legality to higher level operations in STMs which allows efficient composability. Using these notions we define the standard STM correctness notion of Conflict-Opacity. The OSTM model can be easily extended to implement concurrent lists, sets, queues or other concurrent data structures. We use the proposed theoretical OSTM model to design HT-OSTM - an OSTM with underlying hash table object. We noticed that major concurrency hot-spot is the chaining data structure within the hash table. So, we have used Lazyskip-list approach which is time efficient compared to normal lists in terms of traversal overhead. At the transactional level, we use timestamp ordering protocol to ensure that the executions are conflict-opaque. We provide a detailed handcrafted proof of correctness starting from operational level to the transactional level. At the operational level we show that HT-OSTM generates legal sequential history. At vi transactional level we show that every such sequential history would be opaque thus co-opaque. The HT-OSTM exports STM insert, STM lookup and STM delete methods to the programmer along-with STM begin and STM trycommit. Using these higher level operations user may easily and efficiently program any parallel software application involving concurrent hash table. To demonstrate the efficiency of composition we build a test application which executes the number of hash-tab methods (generated with a given probability) atomically in a transaction. Finally, we evaluate HT-OSTM against ESTM based hash table of synchrobench and the hash-table designed for RWSTM based on basic time stamp ordering protocol. We observe that HT-OSTM outperforms ESTM by the average magnitude of 106 transactions per second(throughput) for both lookup intensive and update intensive work load. HT-OSTM outperforms RWSTM by 3% & 3.4% update intensive and lookup intensive workload respectively
研究の動機と目的
- 複雑な操作(例:move)が一貫性のない中間状態を経るため、原子的でない並列データ構造における合成性の課題に対処すること。
- 低レベルの読込/書込操作ではなく、オブジェクトベースのSTM(OSTM)を用いることで、並列性を向上させ、トランザクションの失敗を低減すること。
- 効率的な複雑な操作をサポートする高パフォーマンスで合成可能なSTMシステムを設計すること。
- 操作における高レベルの意味的情報が、より許容性の高い並列性と優れたスケーラビリティを実現できることを示すこと。
- 実際のワークロードにおける既存のSTMベースラインと比較して、提案するHT-OSTMモデルのパフォーマンスを評価すること。
提案手法
- データベースのトランザクションツリーモデルを採用し、STMsにおける高レベル操作への競合および正当性の概念を拡張する。
- 正しく動作する実行が、ある順列実行と等価であることを保証する正当性基準として、競合透明性を定義する。
- 遅延スプリーストリングを用いたハッシュテーブルバックエンドを備えたOSTMとしてHT-OSTMを設計する。これにより、チェインニングにおける走査のオーバーヘッドを低減する。
- トランザクションレベルでタイムスタンプ順序プロocolを採用し、競合透明性を強制し、可串列化を保証する。
- 操作レベル(正当な順列履歴)からトランザクションレベル(透明な履歴)への形式的で手作業による正当性の証明を提供する。
- プログラマーが簡単に使用できる高レベルのSTMプリミティブ(STM begin、STM insert、STM lookup、STM delete、STM trycommit)を公開する。
実験結果
リサーチクエスチョン
- RQ1オブジェクトベースのSTMsは、操作における意味的情報を活用することで、トランザクションの失敗を減らし、並列性を向上させることができるか?
- RQ2STMsを用いた並列データ構造において、複雑な操作(例:move)の合成性を効率的に実現する方法は何か?
- RQ3STMsにおける高レベル操作の使用が、従来のRWSTMアプローチと比較して、パフォーマンスにどの程度の向上をもたらすか?
- RQ4遅延スプリーストリングを用いたハッシュテーブルベースのOSTMは、既存のSTMベースラインを上回るスループットを達成できるか?
- RQ5HT-OSTMモデルは、高パフォーマンスで合成可能な並列操作を実現しながらも、正しさを維持できるか?
主な発見
- HT-OSTMは、検索中心および更新中心の両ワークロードにおいて、ESTMに比べ106 TPS高いスループットを達成する。
- HT-OSTMは、更新中心ワークロードではRWSTMベースのハッシュテーブルに比べ3%、検索中心ワークロードでは3.4%高いパフォーマンスを示す。
- 意味的認識を持つオブジェクトベースの操作の使用により、競合と失敗が顕著に減少し、より許容性の高い並列性が実現される。
- 遅延スプリーストリングデータ構造は、ハッシュテーブルのチェインニングにおける走査オーバーヘッドを効果的に低減し、パフォーマンス向上に寄与する。
- 形式的正当性証明により、HT-OSTMが正当な順列履歴を生成し、トランザクションレベルで競合透明性を維持することが確認された。
- 本システムは、原子的トランザクションを通じて複雑な操作(例:move)の効率的で合成可能なプログラミングを可能にし、並列データ構造設計における主要な課題を解決する。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。