Skip to main content
QUICK REVIEW

[論文レビュー] Hardware extensions to make lazy subscription safe

Dave Dice, Timothy L. Harris|arXiv (Cornell University)|Jul 23, 2014
Distributed systems and fault tolerance参考文献 18被引用数 9
ひとこと要約

本論文は、トランザクションロックエリジョン(TLE)およびシングルグローバルロック(SGL)トランザクショナルシステムにおける遅延サブスクリプションを安全に可能にするためのハードウェア拡張を提案する。著者らは、ナーブな遅延サブスクリプションがデータ不整合性およびアボート脆弱性の原因となり、現存するコンパイラやハードウェアソリューションでは不十分であることを示している。本研究のハードウェア拡張により、コンパイラサポートや手動解析を必要とせず、性能向上を実現しつつも安全に遅延サブスクリプションを実装できる。

ABSTRACT

Transactional Lock Elision (TLE) uses Hardware Transactional Memory (HTM) to execute unmodified critical sections concurrently, even if they are protected by the same lock. To ensure correctness, the transactions used to execute these critical sections "subscribe" to the lock by reading it and checking that it is available. A recent paper proposed using the tempting "lazy subscription" optimization for a similar technique in a different context, namely transactional systems that use a single global lock (SGL) to protect all transactional data. We identify several pitfalls that show that lazy subscription \emph{is not safe} for TLE because unmodified critical sections executing before subscribing to the lock may behave incorrectly in a number of subtle ways. We also show that recently proposed compiler support for modifying transaction code to ensure subscription occurs before any incorrect behavior could manifest is not sufficient to avoid all of the pitfalls we identify. We further argue that extending such compiler support to avoid all pitfalls would add substantial complexity and would usually limit the extent to which subscription can be deferred, undermining the effectiveness of the optimization. Hardware extensions suggested in the recent proposal also do not address all of the pitfalls we identify. In this extended version of our WTTM 2014 paper, we describe hardware extensions that make lazy subscription safe, both for SGL-based transactional systems and for TLE, without the need for special compiler support. We also explain how nontransactional loads can be exploited, if available, to further enhance the effectiveness of lazy subscription.

研究の動機と目的

  • ロックサブスクリプションの遅延がもたらす不正な動作を引き起こすTLEおよびSGLベースのトランザクショナルシステムにおける安全性の問題を解決すること。
  • コンパイラベースの静的解析や提案されたハードウェア拡張を含む、既存手法における微妙な正しさの罠を特定・分析すること。
  • 現在のコンパイラおよびハードウェアソリューションが、遅延サブスクリプション下で完全に正しさの違反を防げないことを実証すること。
  • 特別なコンパイラサポートを必要とせず、TLEおよびSGLシステムの両方で安全に遅延サブスクリプションを実現できる実用的なハードウェア拡張を提案すること。
  • ハードウェアが非トランザクショナルロードをサポートする場合、遅延サブスクリプションの有効性がどのように向上するかを検討すること。

提案手法

  • ロックサブスクリプションをコミットまで延期するハードウェアトランザクション中に不正な振る舞いを検出・防止するハードウェア拡張を設計する。
  • サブスクリプション前のすべてのメモリアクセスが一貫しており、部分的な効果が観測されないことを保証するメカニズムを導入する。
  • HTMに非トランザクショナルロードを拡張し、正しさを損なわずにクリティカルセクションで安全に使用できるようにする。
  • すべてのクリティカルセクション処理が完了し、アトミック性が保証された後、のみロックの利用可能性を検証するハードウェアチェックを統合する。
  • 非トランザクショナルストアによる副作用が、トランザクションアボート時にも可視化されないことを保証する。
  • すべてのトランザクショナルリードおよびライトが完了した後、のみサブスクリプションが行われることをハードウェアで強制し、一貫性のない観測を防止する。

実験結果

リサーチクエスチョン

  • RQ1TLEおよびSGLベースのトランザクショナルシステムにおいて、ロックサブスクリプションを遅延させることで生じる根本的な正しさの問題は何か?
  • RQ2既存のコンパイラベースの静的解析技術が、安全な遅延サブスクリプションを保証するために不十分なのはなぜか?
  • RQ3コンパイラサポートを不要としつつも、遅延サブスクリプション下での正しさを保証できるハードウェア拡張を設計可能か?
  • RQ4非トランザクショナルロードは、遅延サブスクリプションの安全性および有効性にどのように影響を与え、どのようなハードウェアサポートが必要か?
  • RQ5多様なワークロードにわたり、遅延サブスクリプションを安全に実装するためのハードウェア拡張の実装コストおよび複雑さはどの程度か?

主な発見

  • TLEにおける遅延サブスクリプションは、未変更のクリティカルセクションが遅延したロックサブスクリプションの影響で不整合なデータや部分的な効果を観測する可能性があるため、安全でない。
  • 早期サブスクリプションを保証するための既存のコンパイラサポートは、複雑なコードパスにおいてもすべての正しさの違反を防げない。
  • 先行研究で提案されたハードウェア拡張は、同定された正しさの罠を完全に解消しておらず、微妙なレースコンディションが残っている。
  • 提案されたハードウェア拡張により、サブスクリプション前にすべてのメモリ操作が一貫していることを保証し、アボート時における副作用の可視化を防ぐことで、正しさの問題が解消される。
  • HTMにおける非トランザクショナルロードのサポートにより、非トランザクショナル命令をトランザクショナルコードで安全に使用できるようになり、遅延サブスクリプションの有効性がさらに向上する。
  • 予備的な結果から、正しく実装された遅延サブスクリプションは顕著なパフォーマンス向上をもたらすことが示唆されており、実用的な観点からハードウェア拡張のコストを正当化できる。

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

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

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

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