Multiprocessor system with multiple concurrent modes of execution
Abstract
A multiprocessor system supports multiple concurrent modes of speculative execution. Speculation identification numbers (IDs) are allocated to speculative threads from a pool of available numbers. The pool is divided into domains, with each domain being assigned to a mode of speculation. Modes of speculation include TM, TLS, and rollback. Allocation of the IDs is carried out with respect to a central state table and using hardware pointers. The IDs are used for writing different versions of speculative results in different ways of a set in a cache memory.
- Inventors:
- Issue Date:
- Research Org.:
- International Business Machines Corp., Armonk, NY (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1333218
- Patent Number(s):
- 9501333
- Application Number:
- 14/143,783
- Assignee:
- International Business Machines Corporation (Armonk, NY)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- B554331
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 2013 Dec 30
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Ahn, Daniel, Ceze, Luis H., Chen, Dong Chen, Gara, Alan, Heidelberger, Philip, and Ohmacht, Martin. Multiprocessor system with multiple concurrent modes of execution. United States: N. p., 2016.
Web.
Ahn, Daniel, Ceze, Luis H., Chen, Dong Chen, Gara, Alan, Heidelberger, Philip, & Ohmacht, Martin. Multiprocessor system with multiple concurrent modes of execution. United States.
Ahn, Daniel, Ceze, Luis H., Chen, Dong Chen, Gara, Alan, Heidelberger, Philip, and Ohmacht, Martin. Tue .
"Multiprocessor system with multiple concurrent modes of execution". United States. https://www.osti.gov/servlets/purl/1333218.
@article{osti_1333218,
title = {Multiprocessor system with multiple concurrent modes of execution},
author = {Ahn, Daniel and Ceze, Luis H. and Chen, Dong Chen and Gara, Alan and Heidelberger, Philip and Ohmacht, Martin},
abstractNote = {A multiprocessor system supports multiple concurrent modes of speculative execution. Speculation identification numbers (IDs) are allocated to speculative threads from a pool of available numbers. The pool is divided into domains, with each domain being assigned to a mode of speculation. Modes of speculation include TM, TLS, and rollback. Allocation of the IDs is carried out with respect to a central state table and using hardware pointers. The IDs are used for writing different versions of speculative results in different ways of a set in a cache memory.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2016},
month = {11}
}
Works referenced in this record:
Odd boundary address aligned direct memory acess device and method
patent, December 1992
- Potter, David; Scaccia, Ralph J.
- US Patent Document 5,170,477
Processor associated blocking symbol controls for serializing the accessing of data resources in a computer system
patent, April 1999
- Greenspan, Steven Jay; Scalzi, Casper A.; Plambeck, Kenneth E.
- US Patent Document 5,895,492
Eviction override for larx-reserved addresses
patent, April 2001
- Arimilli, Ravi Kumar; Dodson, John Steven; Lewis, Jerry Don
- US Patent Document 6,212,605
Apparatus and method for preventing cache data eviction during an atomic operation
patent, February 2002
- Moudgal, Anuradha N.; Kuttanna, Belliappa; Tzeng, Allan
- US Patent Document 6,347,360
System and method providing cache coherency and atomic memory operations in a multiprocessor computer architecture
patent, March 2002
- Parks, David
- US Patent Document 6,356,983
Detecting full conditions in a queue
patent, October 2002
- Trull, Jeffrey E.; Mahurin, Eric W.
- US Patent Document 6,460,130
Information processing apparatus with cache coherency
patent, May 2003
- Yagi, Nobuo; Uwe, Dzikowski Jens; Kakita, Hiroshi
- US Patent Document 6,564,302
Architectural support for thread level speculative execution
patent, March 2008
- Gara, Alan; Salapura, Valentina
- US Patent Document 7,350,027
Speculative multiaddress atomicity
patent, May 2008
- Choquette, Jack H.; Tene, Gil; Normoyle, Kevin
- US Patent Document 7,376,800
Low complexity speculative multithreading system based on unmodified microprocessor core
patent, July 2008
- Gara, Alan; Gschwind, Michael K.; Salapura, Valentina
- US Patent Document 7,404,041
Synchronization of parallel processes using speculative execution of synchronization instructions
patent, March 2009
- Saha, Bratin
- US Patent Document 7,500,087
Method and apparatus for enforcing memory reference ordering requirements at the L1 cache level
patent, April 2009
- Chaudhry, Shailender; Tremblay, Marc
- US Patent Document 7,523,266
Safe store for speculative helper threads
patent, February 2010
- Wang, Hong; Aamodt, Tor M.; Hammarlund, Per
- US Patent Document 7,657,880
Verification of memory consistency and transactional memory
patent, October 2010
- Manovit, Chaiyasit; Hangal, Sudheendra
- US Patent Document 7,814,378
Low complexity speculative multithreading system based on unmodified microprocessor core
patent, November 2010
- Gara, Alan; Gschwind, Michael K.; Salapura, Valentina
- US Patent Document 7,836,260
Automated partitioning of a computation for parallel or other high capability architecture
patent, November 2011
- Biggerstaff, Ted James
- US Patent Document 8,060,857
Transactional memory in out-of-order processors
patent, May 2012
- Rajwar, Ravi; Akkary, Haitham; Lai, Konrad K.
- US Patent Document 8,180,977
Enabling speculative state information in a cache coherency protocol
patent, May 2012
- Gimeno, Carlos Madriles; Quiñones, Carlos GarcÃa; Marcuello, Pedro
- US Patent Document 8,185,700
Context switching and synchronization
patent, June 2012
- Kriegel, Jon K.; Mejdrich, Eric O.
- US Patent Document 8,205,067
Parallelizing single threaded programs by performing look ahead operation on the single threaded program to identify plurality of instruction threads prior to execution
patent, July 2013
- Bell, Jr., Robert H.; Capps, Jr., Louis Bennie; Paolini, Michael A.
- US Patent Document 8,495,636
Transactional block conflict resolution based on the determination of executing threads in parallel or in serial mode
patent, September 2013
- Cain, III, Harold W.; Cascaval, Gheorghe C.; Michael, Maged M.
- US Patent Document 8,539,486
Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
patent, June 2014
- Aingaran, Kathirgamar; Su, Hong-Men
- US Patent Document 8,756,605
System and method for reducing serialization in transactional memory using gang release of blocked threads
patent, July 2014
- Dice, David; Moir, Mark S.
- US Patent Document 8,789,057
Multi-thread packet processor
patent-application, June 2002
- Modelski, Richard P.; Craren, Michael J.
- US Patent Application 09/741857; 20020083297
Cache way prediction based on instruction base register
patent-application, September 2002
- Van De Waerdt, Jan-Wiliem; Stravers, Paul
- US Patent Application 09/805384; 20020133672
Using an L2 directory to facilitate speculative loads in a multiprocessor system
patent-application, December 2002
- Chaudhry, Shailender; Tremblay, Marc
- US Patent Application 10/184214; 20020199070
Fast and accurate cache way selection
patent-application, January 2003
- van de Waerdt, Jan-Willem
- US Patent Application 09/887463; 20030014597
Stall technique to facilitate atomicity in processor execution of helper set
patent-application, September 2004
- Thimmannagari, Chandra M. R.; Iacobovici, Sorin; Sugumar, Rabin A.
- US Patent Application 10/395417; 20040193845
Synchronization of parallel processes
patent-application, September 2005
- Saha09/15/2005, Bratin
- US Patent Application 10/797886; 20050204119
System, apparatus and method for performing look-ahead lookup on predictive information in a cache memory
patent-application, February 2006
- Hakura, Ziyad S.; Danilak, Radoslav; Simeral, Brad W.
- US Patent Application 10/920995; 20060041722
Memory controller and method for optimized read/modify/write performance
patent-application, April 2006
- Hillier, III, Philip Rogers; Hovis, William Paul; Kirscht, Joseph Allen
- US Patent Application 10/970400; 20060090044
Processor with cache way prediction and method thereof
patent-application, May 2006
- Park, Gi-ho; Lee, Hoi-jin
- US Patent Application 11/264158; 20060095680
Fair sharing of a cache in a multi-core/multi-threaded processor by dynamically partitioning of the cache
patent-application, June 2006
- Kottapalli, Sailesh
- US Patent Application 11/026316; 20060143390
Transaction based shared data operations in a multiprocessor environment
patent-application, July 2006
- Kottapalli, Sailesh; Crawford, John H.; Vaid, Kushagra
- US Patent Application 11/027623; 20060161740
Implementation of load linked and store conditional operations
patent-application, July 2006
- Onufryk, Peter Z.; Stichter, Allen
- US Patent Application 11/021894; 20060161919
Apparatus and method for sparse line write transactions
patent-application, February 2007
- Gaskins, Darius D.
- US Patent Application 11/364704; 20070028021
Thread-Shared Software Code Caches
patent-application, March 2007
- Bruening, Derek L.; Kiriansky, Vladimir L.; Garnett, Tim
- US Patent Application 11/533712; 20070067573
Separate data/coherency caches in a shared memory multiprocessor system
patent-application, July 2007
- Hutton, David S.; Jackson, Kathryn M.; Langston, Keith N.
- US Patent Application 11/334280; 20070168619
Architectural support for thread level speculative execution
patent-application, August 2007
- Gara, Alan G.; Salapura, VAlentina
- US Patent Application 11/351829; 20070192540
Snoop Filter Directory Mechanism in Coherency Shared Memory System
patent-application, December 2007
- Hoover, Russell D.; Mejdrich, Eric O.; Kriegel, Jon K.
- US Patent Application 11/848960; 20070294481
Prefetch Miss Indicator for Cache Coherence Directory Misses on External Caches
patent-application, August 2008
- Lais, Eric N.; Desota, Donald R.; Joersz, Rob
- US Patent Application 12/105405; 20080195820
Low Complexity Speculative Multithreading System Based on Unmodified Microprocessor Core
patent-application, October 2008
- Gara, Alan G.; Gschwind, Michael K.; Salapura, Valentina
- US Patent Application 12/147914; 20080263280
Computing System with Transactional Memory Using Millicode Assists
patent-application, November 2008
- Heller, JR., Thomas J.
- US Patent Application 11/928533; 20080288819
Method, Apparatus, System and Program Product Supporting Improved Access Latency for a Sectored Directory
patent-application, December 2008
- Averill, Duane Arlyn; Skarphol, Jonathan C.; Vanderpool, Brian T.
- US Patent Application 11/758851; 20080307169
Method and Apparatus for Employing Multi-Bit Register File Cells and SMT Thread Groups
patent-application, December 2008
- Gschwind, Michael
- US Patent Application 11/762137; 20080313437
Speculative Memory Prefetch
patent-application, January 2009
- Fertig, Michael K.; Convay, Patrick; Lepak, Kevin Michael
- US Patent Application 11/780283; 20090024835
System and Method for Executing Nested Atomic Blocks Using Split Hardware Transactions
patent-application, January 2009
- Lev, Yosef; Maessen, Jan-Willem
- US Patent Application 11/840439; 20090031310
Enabling Speculative State Information in a Cache Coherency Protocol
patent-application, March 2009
- Madriles Gimeno, Carlos; Garcia Quinones, Carlos; Marcuello, Pedro
- US Patent Application 12/226793; 20090083488
Strand-Based Computing Hardware and Dynamically Optimizing Strandware for a High Performance Microprocessor System
patent-application, June 2009
- Yourst, Matt T.
- US Patent Application 12/331425; 20090150890
System and Method for Handling Overflow in Hardware Transactional Memory with Locks
patent-application, July 2009
- Ceze, Luis H.; von Praun, Christoph
- US Patent Application 11/971511; 20090177847
Efficient Deterministic Multiprocessing
patent-application, September 2009
- Ceze, Luis; Oskin, Mark H.; Devietti, Joseph Luke
- US Patent Application 12/402395; 20090235262
Early header CRC in data response packets with variable gap count
patent-application, October 2009
- Allison, Brian D.; Barrett, Wayne M.; Rudquist, MArk L.
- US Patent Application 12/108637; 20090268736
Method, System and Apparatus for Reducing Memory Traffic in a Distributed Memory System
patent-application, November 2009
- Moga, Adrian; Agarwal, Rajat; Mandviwalla, Malcolm
- US Patent Application 12/113268; 20090276581
Methods and apparatuses for improving speculation success in processors
patent-application, May 2010
- Manovit, Chaiyasit; Loewenstein, Paul Nicholas
- US Patent Application 12/266753; 20100122038
Cache control device and control method
patent-application, July 2010
- Kiyota, Naohiro
- US Patent Application 12/654376; 20100169577
Using Time Stamps to Facilitate Load Reordering
patent-application, August 2010
- Cypher, Robert. E.
- US Patent Application 12/369426; 20100205609
Multi-Domain Management of a Cache in a Processor System
patent-application, September 2010
- Bouvier, Daniel
- US Patent Application 12/419139; 20100235580
Using Domains for Physical Address Management in a Multiprocessor System
patent-application, September 2010
- Bouvier, Daniel L.
- US Patent Application 12/402345; 20100235598
Hierarchical Bloom Filters for Facilitating Concurrency Control
patent-application, December 2010
- Cypher, Robert E.
- US Patent Application 12/493523; 20100332765
Transactional Conflict Resolution Based on Locality
patent-application, January 2011
- Cain, III, Harold W.; Cascaval, Gheorghe C.; Michael, Maged M.
- US Patent Application 12/504925; 20110016470
Detecting Task Complete Dependencies Using Underlying Speculative Multi-Threading Hardware
patent-application, March 2011
- Eichenberger, Alexandre E.; O'Brien, John K. P.; O'Brien, Kathryn M.
- US Patent Application 12/553314; 20110055484
Store Aware Prefetching for a Datastream
patent-application, March 2011
- Sander, Benjamin T.; Swamy, Bharath Narasimha; Punyamurtula, Swamy
- US Patent Application 12/558465; 20110066811
Conditional Load Store in a Shared Cache
patent-application, May 2011
- Blumrich, Matthias A.; Ohmacht, Martin
- US Patent Application 12/697799; 20110119446
Atomic Commit Predicated on Consistency of Watches
patent-application, June 2011
- Blundell, Colin B.; Cain, III, Harold W.; Cascaval, Gheorghe C.
- US Patent Application 12/633906; 20110138126
Cache Spill Management Techniques
patent-application, June 2011
- Steely, JR., Simon C.; Hasenplaugh, William C.; Jaleel, Aamer
- US Patent Application 12/639214; 20110145501
Physical Aliasing for Thread Level Speculation with a Speculation Blind Cache
patent-application, August 2011
- Gala, Alan; Ohmacht, MArtin
- US Patent Application 12/984329; 20110208894
Pre-Fetching for a Sibling Cache
patent-application, September 2011
- Karlsson, Martin R.; Chaudhry, Shailender; Cypher, Robert E.
- US Patent Application 12/724639; 20110231612
Speculative synchronization: applying thread-level speculation to explicitly parallel applications
conference, January 2002
- MartÃnez, José F.; Torrellas, Josep
- Tenth international conference on architectural support for programming languages and operating systems on Proceedings of the 10th international conference on architectural support for programming languages and operating systems (ASPLOS-X) - ASPLOS '02
A quantitative assessment of thread-level speculation techniques
conference, January 2000
- Marcuello, P.; Gonzalez, A.
- Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000
Bulk Disambiguation of Speculative Threads in Multiprocessors
conference, January 2006
- Ceze, L.; Tuck, J.; Torrellas, J.
- 33rd International Symposium on Computer Architecture (ISCA'06)
Tasking with out-of-order spawn in TLS chip multiprocessors: microarchitecture and compilation
conference, January 2005
- Renau, Jose; Tuck, James; Liu, Wei
- Proceedings of the 19th annual international conference on Supercomputing - ICS '05
Active memory operations
conference, January 2007
- Fang, Zhen; Zhang, Lixin; Carter, John B.
- Proceedings of the 21st annual international conference on Supercomputing - ICS '07
Fast synchronization on shared-memory multiprocessors: An architectural approach
journal, October 2005
- Fang, Zhen; Zhang, Lixin; Carter, John B.
- Journal of Parallel and Distributed Computing, Vol. 65, Issue 10, p. 1158-1170
Scatter-Add in Data Parallel Architectures
conference, January 2005
- Jung Ho Ahn, ; Erez, M.; Dally, W. J.
- 11th International Symposium on High-Performance Computer Architecture
Algorithms for scalable synchronization on shared-memory multiprocessors
journal, February 1991
- Mellor-Crummey, John M.; Scott, Michael L.
- ACM Transactions on Computer Systems, Vol. 9, Issue 1
Nonblocking Algorithms and Preemption-Safe Locking on Multiprogrammed Shared Memory Multiprocessors
journal, May 1998
- Michael, Maged M.; Scott, Michael L.
- Journal of Parallel and Distributed Computing, Vol. 51, Issue 1
A fetch-and-op implementation for parallel computers
journal, May 1988
- Lipovski, G. J.; Vaughan, P.
- ACM SIGARCH Computer Architecture News, Vol. 16, Issue 2
Wait-free synchronization
journal, January 1991
- Herlihy, Maurice
- ACM Transactions on Programming Languages and Systems, Vol. 13, Issue 1