Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution
Abstract
In a multiprocessor system with at least two levels of cache, a speculative thread may run on a core processor in parallel with other threads. When the thread seeks to do a write to main memory, this access is to be written through the first level cache to the second level cache. After the write though, the corresponding line is deleted from the first level cache and/or prefetch unit, so that any further accesses to the same location in main memory have to be retrieved from the second level cache. The second level cache keeps track of multiple versions of data, where more than one speculative thread is running in parallel, while the first level cache does not have any of the versions during speculation. A switch allows choosing between modes of operation of a speculation blind first level cache.
- Inventors:
- Issue Date:
- Research Org.:
- International Business Machines Corp., Armonk, NY (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1158923
- Patent Number(s):
- 8838906
- Application Number:
- 12/984,308
- Assignee:
- International Business Machines Corporation (Armonk, NY)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
Y - NEW / CROSS SECTIONAL TECHNOLOGIES Y02 - TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE Y02D - CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THIR OWN ENERGY USE
- DOE Contract Number:
- B554331
- Resource Type:
- Patent
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Gara, Alan, and Ohmacht, Martin. Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution. United States: N. p., 2014.
Web.
Gara, Alan, & Ohmacht, Martin. Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution. United States.
Gara, Alan, and Ohmacht, Martin. Tue .
"Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution". United States. https://www.osti.gov/servlets/purl/1158923.
@article{osti_1158923,
title = {Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution},
author = {Gara, Alan and Ohmacht, Martin},
abstractNote = {In a multiprocessor system with at least two levels of cache, a speculative thread may run on a core processor in parallel with other threads. When the thread seeks to do a write to main memory, this access is to be written through the first level cache to the second level cache. After the write though, the corresponding line is deleted from the first level cache and/or prefetch unit, so that any further accesses to the same location in main memory have to be retrieved from the second level cache. The second level cache keeps track of multiple versions of data, where more than one speculative thread is running in parallel, while the first level cache does not have any of the versions during speculation. A switch allows choosing between modes of operation of a speculation blind first level cache.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2014},
month = {9}
}
Works referenced in this record:
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
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
Context switching and synchronization
patent, June 2012
- Kriegel, Jon K.; Mejdrich, Eric O.
- US Patent Document 8,205,067
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
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
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
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
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
Bulk Disambiguation of Speculative Threads in Multiprocessors
conference, January 2006
- Ceze, L.; Tuck, J.; Torrellas, J.
- 33rd International Symposium on Computer Architecture (ISCA'06)