Cache metadata for implementing bounded transactional memory
First Claim
1. A computer-readable medium having computer-executable instructions for causing a computer to perform steps comprising:
- access cache metadata in a cache of a central processing unit from a bounded transactional memory application;
when performing a transactional read from the bounded transactional memory application, software sets a cache line metadata transaction-read bit; and
when performing a transactional write from the bounded transactional memory application, software sets a cache line metadata transaction-write bit, configured as a speculative-write bit, and performs a conditional store.
2 Assignments
0 Petitions
Accused Products
Abstract
Various technologies and techniques are disclosed for providing a bounded transactional memory application that accesses cache metadata in a cache of a central processing unit. When performing a transactional read from the bounded transactional memory application, a cache line metadata transaction-read bit is set. When performing a transactional write from the bounded transactional memory application, a cache line metadata transaction-write bit is set and a conditional store is performed. At commit time, if any lines marked with the transaction-read bit or the transaction-write bit were evicted or invalidated, all speculatively written lines are discarded. The application can also interrogate a cache line metadata eviction summary to determine whether a transaction is doomed and then take an appropriate action.
176 Citations
20 Claims
-
1. A computer-readable medium having computer-executable instructions for causing a computer to perform steps comprising:
-
access cache metadata in a cache of a central processing unit from a bounded transactional memory application;
when performing a transactional read from the bounded transactional memory application, software sets a cache line metadata transaction-read bit; and
when performing a transactional write from the bounded transactional memory application, software sets a cache line metadata transaction-write bit, configured as a speculative-write bit, and performs a conditional store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for improving operations of a bounded transactional memory system using cache metadata in a cache of a central processing unit comprising the steps of:
-
providing a bounded transactional memory application with access to cache metadata in a cache of a central processing unit;
for every transactional read, setting a cache line metadata transaction-read bit;
for every transactional write, setting a cache line metadata transaction-write bit that also designates a speculative write; and
at commit time, if any lines marked with the cache line metadata transaction-read bit or the cache line metadata transaction-write bit were evicted or invalidated, discarding all speculatively written lines. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method for handling a doomed transaction, using cache metadata in a cache of a central processing unit comprising the steps of:
-
providing a bounded transactional memory application with access to cache metadata in a cache of a central processing unit;
configuring an eviction handler to be invoked if a cache metadata transaction-read or transaction-write bit is evicted or invalidated; and
performing an appropriate action since the transaction is doomed. - View Dependent Claims (17, 18, 19, 20)
-
Specification