Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Using Hardware Memory Protection to Build a High-Performance, Strongly-Atomic Hybrid Transactional Memory

Published: 01 June 2008 Publication History

Abstract

We demonstrate how fine-grained memory protection can be used in support of transactional memory systems: first showing how a software transactional memory system (STM) can be made strongly atomic by using memory protection on transactionally-held state, then showing how such a strongly-atomic STM can be used with a bounded hardware TM system to build a hybrid TM system in which zero-overhead hardware transactions may safely run concurrently with potentially-conflicting software transactions. We experimentally demonstrate how this hybrid TM organization avoids the common-case overheads associated with previous hybrid TM proposals, achieving performance rivaling an unbounded HTM system without the hardware complexity of ensuring completion of arbitrary transactions in hardware. As part of our findings, we identify key policies regarding contention management within and across the hardware and software TM components that are key to achieving robust performance with a hybrid TM.

References

[1]
C. S. Ananian et al., "Unbounded Transactional Memory," in HPCA-XI , Feb. 2005.
[2]
A. W. Appel, J. R. Ellis, and K. Li, "Real-time concurrent collection on stock multiprocessors," in ACM SIGPLAN, June 1988.
[3]
L. Baugh and C. Zilles, "An Analysis of I/O and Syscalls in Critical Sections and Their Implications for Transactional Memory," in TRANSACT-II, Aug. 2007.
[4]
C. Blundell et al., "Subtleties of Transactional Memory Atomicity Semantics," Computer Architecture Letters, vol. 5, Nov. 2006.
[5]
C. Blundell et al., "Making the Fast Case Common and the Uncommon Case Simple in Unbounded Transactional Memory," SIGARCH Comput. Archit. News, vol. 35, no. 2, 2007.
[6]
J. Bobba et al., "Performance Pathologies in Hardware Transactional Memory," in ISCA-34, Jun 2007.
[7]
L. Ceze et al., "BulkSC: Bulk Enforcement of Sequential Consistency," in ISCA-34, June 2007.
[8]
W. Chuang et al., "Unbounded Page-Based Transactional Memory," in ASPLOS-XII, Oct. 2006.
[9]
P. Damron et al., "Hybrid Transactional Memory," SIGOPS Oper. Syst. Rev., vol. 40, no. 5, 2006.
[10]
D. Dice, O. Shalev, and N. Shavit, "Transactional Locking II," in Proc. of the 20th International Symposium on Distributed Computing (DISC 2006), 2006.
[11]
M. Franklin and G. S. Sohi, "The expandable split window paradigm for exploiting fine-grain parallelism," in ISCA-19, May 1992.
[12]
L. Gwennap, "Alpha 21364 to Ease Memory Bottleneck," in Micro-processor Report, Oct. 1998.
[13]
L. Hammond et al., "Transactional Memory Coherence and Consistency," in ISCA-31, June 2004.
[14]
T. Harris, "What does 'atomic' mean?." Presentation.
[15]
T. Harris et al., "Composable Memory Transactions," in PPOPP, 2005.
[16]
M. Herlihy and J. E. B. Moss, "Transactional Memory: Architectural Support for Lock-Free Data Structures," in ISCA-20, May 1993.
[17]
W. N. S. III and M. L. Scott, "Advanced Contention Management for Dynamic Software Transactional Memory," in PODC-XXIV, 2005.
[18]
J. R. Larus and R. Rajwar, Transactional Memory. Dec. 2006.
[19]
Y. Lev, M. Moir, and D. Nussbaum, "PhTM: Phased Transactional Memory," in TRANSACT-II, Aug. 2007.
[20]
P. S. Magnusson et al., "Simics: A full system simulation platform," IEEE Computer, vol. 35, Feb. 2002.
[21]
M. M. Martin et al., "Multifacet's General Execution-driven Multiprocessor Simulator (GEMS) Toolset," Computer Architecture News (CAN), Sept. 2005.
[22]
C. J. Mauer et al., "Full system timing-first simulation," in SIGMETRICS-02, June 2002.
[23]
A. McDonald et al., "Architectural Semantics for Practical Transactional Memory," in ISCA-33, June 2006.
[24]
C. C. Minh et al., "An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees," in ISCA-34, June 2007.
[25]
K. E. Moore et al., "LogTM: Log-based Transactional Memory," in HPCA-XII, Feb. 2006.
[26]
M. J. Moravan et al., "Supporting nested transactional memory in LogTM," SIGOPS Oper. Syst. Rev., vol. 40, no. 5, 2006.
[27]
N. Neelakantam et al., "Hardware Atomicity for Reliable Software Speculation," in ISCA-34, June 2007.
[28]
R. Rajwar and J. R. Goodman, "Speculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution," in MICRO-34, Dec. 2001.
[29]
R. Rajwar, M. Herlihy, and K. Lai, "Virtualizing Transactional Memory," in ISCA-32, June 2005.
[30]
P. Ranganathan, V. S. Pai, and S. V. Adve, "Using speculative retirement and larger instruction windows to narrow the performance gap between memory consistency models," in SPAA-IX, June 1997.
[31]
C. J. Rossbach et al., "TxLinux: Using and Managing Transactional Memory in an Operating System," in SOSP-XXI, Oct. 2007.
[32]
I. Schoinas, B. Falsafi, A. R. Lebeck, S. K. Reinhardt, J. R. Larus, and D. A. Wood, "Fine-grain access control for distributed shared memory," in ASPLOS-VI, Oct. 1994.
[33]
M. L. Scott et al., "Transactions and Privatization in Delaunay Triangulation," in PODC-XVI, 2007.
[34]
A. Shankar et al., "Runtime Specialization with Optimistic Heap Analysis," in OOPSLA 2005, 2005.
[35]
T. Shpeisman et al., "Enforcing Isolation and Ordering in STM," in PLDI '07, June 2007.
[36]
T. F. Wenisch et al., "Mechanisms for Store-Wait-Free Multiprocessors," in ISCA-34, June 2007.
[37]
E. Witchel et al., "Mondrian Memory Protection," in ASPLOS-X, Oct 2002.
[38]
W. A. Wulf, "Compilers and Computer Architecture," IEEE Computer , vol. 14, no. 7, 1981.
[39]
M. Yourst, "PTLsim: A cycle accurate full system x86-64 microarchitectural simulator," in ISPASS '07, Apr. 2007.
[40]
P. Zhou et al., "iWatcher: Efficient Architectural Support for Software Debugging," in ASPLOS-VI, Oct. 1994.

Cited By

View all
  • (2016)EXCITE-VMProceedings of the 2016 International Conference on Parallel Architectures and Compilation10.1145/2967938.2967955(401-412)Online publication date: 11-Sep-2016
  • (2015)Low-overhead software transactional memory with progress guarantees and strong semanticsACM SIGPLAN Notices10.1145/2858788.268851050:8(97-108)Online publication date: 24-Jan-2015
  • (2015)Low-overhead software transactional memory with progress guarantees and strong semanticsProceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/2688500.2688510(97-108)Online publication date: 24-Jan-2015
  • Show More Cited By

Index Terms

  1. Using Hardware Memory Protection to Build a High-Performance, Strongly-Atomic Hybrid Transactional Memory

        Recommendations

        Comments

        Please enable JavaScript to view thecomments powered by Disqus.

        Information & Contributors

        Information

        Published In

        cover image ACM SIGARCH Computer Architecture News
        ACM SIGARCH Computer Architecture News  Volume 36, Issue 3
        June 2008
        449 pages
        ISSN:0163-5964
        DOI:10.1145/1394608
        Issue’s Table of Contents
        • cover image ACM Conferences
          ISCA '08: Proceedings of the 35th Annual International Symposium on Computer Architecture
          June 2008
          449 pages
          ISBN:9780769531748

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 01 June 2008
        Published in SIGARCH Volume 36, Issue 3

        Check for updates

        Author Tags

        1. Abort Handler
        2. Hybrid
        3. Memory Protection
        4. Primitives
        5. Strong Atomicity
        6. Transactional Memory

        Qualifiers

        • Article

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)9
        • Downloads (Last 6 weeks)3
        Reflects downloads up to 02 Oct 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2016)EXCITE-VMProceedings of the 2016 International Conference on Parallel Architectures and Compilation10.1145/2967938.2967955(401-412)Online publication date: 11-Sep-2016
        • (2015)Low-overhead software transactional memory with progress guarantees and strong semanticsACM SIGPLAN Notices10.1145/2858788.268851050:8(97-108)Online publication date: 24-Jan-2015
        • (2015)Low-overhead software transactional memory with progress guarantees and strong semanticsProceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/2688500.2688510(97-108)Online publication date: 24-Jan-2015
        • (2015)Hardware Approaches to Transactional Memory in Chip MultiprocessorsHandbook on Data Centers10.1007/978-1-4939-2092-1_27(805-835)Online publication date: 17-Mar-2015
        • (2013)Shared-Memory SynchronizationSynthesis Lectures on Computer Architecture10.2200/S00499ED1V01Y201304CAC0238:2(1-221)Online publication date: 12-Jun-2013
        • (2012)A queuing model‐based approach for the analysis of transactional memory systemsConcurrency and Computation: Practice and Experience10.1002/cpe.286725:6(808-825)Online publication date: 10-Jul-2012
        • (2011)Emulating transactional memory on FPGA multiprocessorsProceedings of the 24th international conference on Architecture of computing systems10.5555/1966221.1966231(74-85)Online publication date: 24-Feb-2011
        • (2011)Emulating Transactional Memory on FPGA MultiprocessorsArchitecture of Computing Systems - ARCS 201110.1007/978-3-642-19137-4_7(74-85)Online publication date: 2011
        • (2010)Transactional Memory, 2nd editionSynthesis Lectures on Computer Architecture10.2200/S00272ED1V01Y201006CAC0115:1(1-263)Online publication date: 22-Dec-2010
        • (2010)Is transactional programming actually easier?ACM SIGPLAN Notices10.1145/1837853.169346245:5(47-56)Online publication date: 9-Jan-2010
        • Show More Cited By

        View Options

        Get Access

        Login options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media