Identifying high-conflict cache lines in transactional memory computing environments
First Claim
1. A method for reducing transaction conflicts in a computing environment with transactional memory, the computing environment including a cache configured to hold a plurality of cache lines, each cache line configurable with a coherency mode, each cache line associated with a high-conflict indicator, the method comprising:
- examining a first high-conflict indicator associated with a first cache line;
based on the examining, placing the first cache line in a sub-line coherency mode, wherein cache control logic associated with the cache is configured to operate or manage a plurality of sub-cache line portions of the first cache line in the sub-line coherency mode;
executing a transaction in the computing environment, the transaction accessing a memory address within the first cache line; and
accessing and managing, while executing the transaction, only a relevant sub-cache line portion of the first cache line in the sub-line coherency mode, the relevant sub-cache line portion associated with the memory address, wherein the first cache line is a first-cache copy of the first cache line in a first cache, and wherein the first high-conflict indicator is associated with the first-cache copy, the method further comprising;
determining, before executing the transaction, that a second-cache copy of the first cache line in a second cache is a high-conflict cache line;
setting a second high-conflict indicator associated with the second-cache copy; and
based on the setting the second high-conflict indicator, setting the first high-conflict indicator associated with the first-cache copy.
6 Assignments
0 Petitions
Accused Products
Abstract
Cache lines in a computing environment with transactional memory are configurable with a coherency mode and are associated with a high-conflict indicator. Cache lines in full-line coherency mode are operated or managed with full-line granularity. Cache lines in sub-line coherency mode are operated or managed as sub-cache line portions of a full cache line. A cache line is placed in sub-line coherency mode based on examining the high-conflict indicator. A transaction accessing a memory address in a cache line in sub-line coherency mode marks only the sub-cache line portion associated with the memory address as transactionally accessed. The high-conflict indicator may be included in a set of descriptive bits associated with the cache line. A copy of the high-conflict indicator for a cache line in a first cache may be updated with the high-conflict indicator for the cache line in a second cache.
37 Citations
17 Claims
-
1. A method for reducing transaction conflicts in a computing environment with transactional memory, the computing environment including a cache configured to hold a plurality of cache lines, each cache line configurable with a coherency mode, each cache line associated with a high-conflict indicator, the method comprising:
-
examining a first high-conflict indicator associated with a first cache line; based on the examining, placing the first cache line in a sub-line coherency mode, wherein cache control logic associated with the cache is configured to operate or manage a plurality of sub-cache line portions of the first cache line in the sub-line coherency mode; executing a transaction in the computing environment, the transaction accessing a memory address within the first cache line; and accessing and managing, while executing the transaction, only a relevant sub-cache line portion of the first cache line in the sub-line coherency mode, the relevant sub-cache line portion associated with the memory address, wherein the first cache line is a first-cache copy of the first cache line in a first cache, and wherein the first high-conflict indicator is associated with the first-cache copy, the method further comprising; determining, before executing the transaction, that a second-cache copy of the first cache line in a second cache is a high-conflict cache line; setting a second high-conflict indicator associated with the second-cache copy; and based on the setting the second high-conflict indicator, setting the first high-conflict indicator associated with the first-cache copy. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system for reducing transaction conflicts in a computing environment with transactional memory, the computing environment including a cache configured to hold a plurality of cache lines, each cache line configurable with a coherency mode, each cache line associated with a high-conflict indicator, the computer system comprising:
-
a memory; and a processor in communication with the memory, wherein the computer system is configured to perform a method, the method comprising; examining a first high-conflict indicator associated with a first cache line; based on the examining, placing the first cache line in a sub-line coherency mode, wherein cache control logic associated with the cache is configured to operate or manage a plurality of sub-cache line portions of the first cache line in the sub-line coherency mode; executing a transaction in the computing environment, the transaction accessing a memory address within the first cache line; and accessing and managing, while executing the transaction, only a relevant sub-cache line portion of the first cache line in the sub-line coherency mode, the relevant sub-cache line portion associated with the memory address, wherein the first cache line is a first-cache copy of the first cache line in a first cache, and wherein the first high-conflict indicator is associated with the first-cache copy, the method further comprising; determining, before executing the transaction, that a second-cache copy of the first cache line in a second cache is a high-conflict cache line; setting a second high-conflict indicator associated with the second-cache copy; and based on the setting the second high-conflict indicator, setting the first high-conflict indicator associated with the first-cache copy. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A computer program product for reducing transaction conflicts in a computing environment with transactional memory, the computing environment including a cache configured to hold a plurality of cache lines, each cache line configurable with a coherency mode, each cache line associated with a high-conflict indicator, the computer program product comprising:
-
a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method, the method comprising; examining a first high-conflict indicator associated with a first cache line; based on the examining, placing the first cache line in a sub-line coherency mode, wherein cache control logic associated with the cache is configured to operate or manage a plurality of sub-cache line portions of the first cache line in the sub-line coherency mode; executing a transaction in the computing environment, the transaction accessing a memory address within the first cache line; and accessing and managing, while executing the transaction, only a relevant sub-cache line portion of the first cache line in the sub-line coherency mode, the relevant sub-cache line portion associated with the memory address, wherein the first cache line is a first-cache copy of the first cache line in a first cache, and wherein the first high-conflict indicator is associated with the first-cache copy, the method further comprising; determining, before executing the transaction, that a second-cache copy of the first cache line in a second cache is a high-conflict cache line; setting a second high-conflict indicator associated with the second-cache copy; and based on the setting the second high-conflict indicator, setting the first high-conflict indicator associated with the first-cache copy. - View Dependent Claims (14, 15, 16, 17)
-
Specification