skip to main content
10.1109/ISCA.2006.13acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
Article

Bulk Disambiguation of Speculative Threads in Multiprocessors

Published: 01 May 2006 Publication History

Abstract

Transactional Memory (TM), Thread-Level Speculation (TLS), and Checkpointed multiprocessors are three popular architectural techniques based on the execution of multiple, cooperating speculative threads. In these environments, correctly maintaining data dependences across threads requires mechanisms for disambiguating addresses across threads, invalidating stale cache state, and making committed state visible. These mechanisms are both conceptually involved and hard to implement. In this paper, we present Bulk, a novel approach to simplify these mechanisms. The idea is to hash-encode a thread's access information in a concise signature, and then support in hardware signature operations that efficiently process sets of addresses. Such operations implement the mechanisms described. Bulk operations are inexact but correct, and provide substantial conceptual and implementation simplicity. We evaluate Bulk in the context of TLS using SPECint2000 codes and TM using multithreaded Java workloads. Despite its simplicity, Bulk has competitive performance with more complex schemes. We also find that signature configuration is a key design parameter.

References

[1]
{1} B. Alpern, S. Augart, S. Blackburn, M. Butrico, A. Cocchi, P. Cheng, J. Dolby, S. Fink, D. Grove, M. Hind, K. McKinley, M. Mergen, J. Moss, T. Ngo, V. Sarkar, and M. Trapp, "The Jikes Research Virtual Machine Project: Building an Open-Source Research Community," IBM Systems Journal, November 2005.
[2]
{2} C. S. Ananian, K. Asanovic, B. C. Kuszmaul, C. E. Leiserson, and S. Lie, "Unbounded Transactional Memory, "in International Symposium on High Performance Computer Architecture, February 2005.
[3]
{3} B. Bloom, "Space/Time Trade-Offs in Hash Coding with Allowable Errors," Communications of the ACM, July 1970.
[4]
{4} B. D. Carlstrom, J. Chung, H. Chafi, A. McDonald, C. C. Minh, L. Hammond, C. Kozyrakis, and K. Olukotun, "Transactional Execution of Java Programs," in Workshop on Synchronization and Concurrency in Object-Oriented Languages (SCOOL), October 2005.
[5]
{5} L. Ceze, K. Strauss, J. Tuck, J. Renau, and J. Torrellas, "Using Checkpoint-Assisted Value Prediction to Hide L2 Misses, "ACM Transactions on Architecture and Code Optimization, June 2006.
[6]
{6} M. Cintra, J. F. Mart�nez, and J. Torrellas, "Architectural Support for Scalable Speculative Parallelization in Shared-Memory Multiprocessors," in International Symposium on Computer Architecture, June 2000.
[7]
{7} M. Franklin and G. Sohi, "ARB: A Hardware Mechanism for Dynamic Reordering of Memory References," in IEEE Transactions on Computers, May 1996.
[8]
{8} M. Galluzzi, V. Puente, A. Cristal, R. Beivide, J. -A. Gregorio, and M. Valero, "Evaluating Kilo-instruction Multiprocessors," in Workshop on Memory Performance Issues, June 2004.
[9]
{9} M. J. Garzaran, M. Prvulovic, J. M. Llaberia, V. Vinals, L. Rauchwerger, and J. Torrellas, "Tradeoffs in Buffering Speculative Memory State for Thread-Level Speculation in Multiprocessors," ACM Transactions on Architecture and Code Optimization, September 2006.
[10]
{10} S. Gopal, T. N. Vijaykumar, J. E. Smith, and G. Sohi, "Speculative Versioning Cache," in International Symposium on High Performance Computer Architecture , February 1998.
[11]
{11} L. Hammond, M. Willey, and K. Olukotun, "Data Speculation Support for a Chip Multiprocessor," in International Conference on Architectural Support for Programming Languages and Operating Systems, October 1998.
[12]
{12} L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun, "Transactional Memory Coherence and Consistency, "in International Symposium on Computer Architecture , June 2004.
[13]
{13} M. Herlihy and J. E. B. Moss, "Transactional Memory: Architectural Support for Lock-Free Data Structures, "in International Symposium on Computer Architecture , May 1993.
[14]
{14} M. Kirman, N. Kirman, and J. F. Martinez, "Cherry-MP: Correctly Integrating Checkpointed Early Resource Recycling in Chip Multiprocessors, "in International Symposium on Microarchitecture, November 2005.
[15]
{15} V. Krishnan and J. Torrellas, "Hardware and Software Support for Speculative Execution of Sequential Binaries on a Chip-Multiprocessor," in International Conference on Supercomputing, July 1998.
[16]
{16} W. Liu, J. Tuck, L. Ceze, W. Ahn, K. Strauss, J. Renau, and J. Torrellas, "POSH: A TLS Compiler that Exploits Program Structure," in Symposium on Principles and Practice of Parallel Programming, March 2006.
[17]
{17} P. Marcuello and A. Gonzalez, "Clustered Speculative Multithreaded Processors," in International Conference on Supercomputing, June 1999.
[18]
{18} K. Moore, J. Bobba, M. J. Moravam, M. Hill, and D. Wood, "LogTM: Log-Based Transactional Memory, "in International Symposium on High Performance Computer Architecture, February 2006.
[19]
{19} E. Moss and T. Hosking, "Nested Transactional Memory: Model and Preliminary Architecture Sketches," in Workshop on Synchronization and Concurrency in Object-Oriented Languages (SCOOL), October 2005.
[20]
{20} R. Rajwar, M. Herlihy, and K. Lai, "Virtualizing Transactional Memory," in International Symposium on Computer Architecture, June 2005.
[21]
{21} J. Renau, B. Fraguela, J. Tuck, W. Liu, M. Prvulovic, L. Ceze, K. Strauss, S. Sarangi, P. Sack, and P. Montesinos, "SESC Simulator," January 2005. http://sesc.sourceforge.net.
[22]
{22} J. Renau, J. Tuck, W. Liu, L. Ceze, K. Strauss, and J. Torrellas, "Tasking with Out-of-Order Spawn in TLS Chip Multiprocessors: Microarchitecture and Compilation," in International Conference on Supercomputing, June 2005.
[23]
{23} G. Sohi, S. Breach, and T. Vijayakumar, "Multiscalar Processors," in International Symposium on Computer Architecture, June 1995.
[24]
{24} J. G. Steffan, C. Colohan, A. Zhai, and T. Mowry, "A Scalable Approach to Thread-Level Speculation," in International Symposium on Computer Architecture , June 2000.
[25]
{25} J. G. Steffan and T. C. Mowry, "The Potential for Using Thread-Level Data Speculation to Facilitate Automatic Parallelization," in International Symposium on High Performance Computer Architecture, February 1998.
[26]
{26} M. Tremblay, "MAJC: Microprocessor Architecture for Java Computing." Hot Chips, August 1999.
[27]
{27} J. Tsai, J. Huang, C. Amlo, D. Lilja, and P. Yew, "The Superthreaded Processor Architecture," IEEE Transactions on Computers, September 1999.

Cited By

View all
  • (2019)Software Data PlanesProceedings of the ACM Symposium on Cloud Computing10.1145/3357223.3362737(337-350)Online publication date: 20-Nov-2019
  • (2019)FPGA-Accelerated Optimistic Concurrency Control for Transactional MemoryProceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3352460.3358270(911-923)Online publication date: 12-Oct-2019
  • (2019)CoNDAProceedings of the 46th International Symposium on Computer Architecture10.1145/3307650.3322266(629-642)Online publication date: 22-Jun-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISCA '06: Proceedings of the 33rd annual international symposium on Computer Architecture
June 2006
383 pages
ISBN:076952608X
  • cover image ACM SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 34, Issue 2
    May 2006
    383 pages
    ISSN:0163-5964
    DOI:10.1145/1150019
    Issue’s Table of Contents

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 01 May 2006

Check for updates

Qualifiers

  • Article

Conference

ISCA06
Sponsor:

Acceptance Rates

ISCA '06 Paper Acceptance Rate 31 of 234 submissions, 13%;
Overall Acceptance Rate 543 of 3,203 submissions, 17%

Upcoming Conference

ISCA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)6
Reflects downloads up to 19 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Software Data PlanesProceedings of the ACM Symposium on Cloud Computing10.1145/3357223.3362737(337-350)Online publication date: 20-Nov-2019
  • (2019)FPGA-Accelerated Optimistic Concurrency Control for Transactional MemoryProceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3352460.3358270(911-923)Online publication date: 12-Oct-2019
  • (2019)CoNDAProceedings of the 46th International Symposium on Computer Architecture10.1145/3307650.3322266(629-642)Online publication date: 22-Jun-2019
  • (2018)Harmonizing speculative and non-speculative execution in architectures for ordered parallelismProceedings of the 51st Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO.2018.00026(217-230)Online publication date: 20-Oct-2018
  • (2018)Core ReliabilityIEEE Computer Architecture Letters10.1109/LCA.2018.279143317:2(105-108)Online publication date: 1-Jul-2018
  • (2017)FractalACM SIGARCH Computer Architecture News10.1145/3140659.308021845:2(587-599)Online publication date: 24-Jun-2017
  • (2017)Automatically accelerating non-numerical programs by architecture-compiler co-designCommunications of the ACM10.1145/313946160:12(88-97)Online publication date: 27-Nov-2017
  • (2017)FractalProceedings of the 44th Annual International Symposium on Computer Architecture10.1145/3079856.3080218(587-599)Online publication date: 24-Jun-2017
  • (2017)Simplification and runtime resolution of data dependence constraints for loop transformationsProceedings of the International Conference on Supercomputing10.1145/3079079.3079098(1-11)Online publication date: 14-Jun-2017
  • (2017)FPGA-Accelerated Transactional Execution of Graph WorkloadsProceedings of the 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays10.1145/3020078.3021743(227-236)Online publication date: 22-Feb-2017
  • 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