Modifying data prefetching operation based on a past prefetching attempt
First Claim
Patent Images
1. A computer-implemented method performed by a processor having a transactional memory and a cache, the method comprising:
- initiating a conflict detection transaction in the transactional memory, wherein the conflict detection transaction is configured to detect a read-write conflict in the transactional memory, wherein the conflict detection transaction is configured to perform prefetching of data associated with a load instruction of a computer program, wherein said prefetching is performed in anticipation to performing the load instruction, whereby the data is retained in the cache, wherein the conflict detection transaction is configured to end immediately upon completion of said prefetching;
in response to a modification of the data that is loaded during the conflict detection transaction, the transactional memory detecting a read-write conflict; and
in response to said detecting, adaptively determining whether to modify the prefetching data operation associated with the load instruction thereby treating future operations of the load instruction differently.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus and product for data prefetching. The method comprising: prefetching data associated with a load instruction of a computer program, wherein the prefetching is performed in anticipation to performing the load instruction, whereby the data is retained in the cache; detecting whether the prefetched data of the prefetching is invalidated after the prefetching commenced and prior to performing the load instruction; and adaptively determining whether to modify the prefetching data operation associated with the load instruction in response to the detection.
-
Citations
16 Claims
-
1. A computer-implemented method performed by a processor having a transactional memory and a cache, the method comprising:
-
initiating a conflict detection transaction in the transactional memory, wherein the conflict detection transaction is configured to detect a read-write conflict in the transactional memory, wherein the conflict detection transaction is configured to perform prefetching of data associated with a load instruction of a computer program, wherein said prefetching is performed in anticipation to performing the load instruction, whereby the data is retained in the cache, wherein the conflict detection transaction is configured to end immediately upon completion of said prefetching; in response to a modification of the data that is loaded during the conflict detection transaction, the transactional memory detecting a read-write conflict; and in response to said detecting, adaptively determining whether to modify the prefetching data operation associated with the load instruction thereby treating future operations of the load instruction differently. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computerized apparatus comprising:
-
a transactional memory for retaining data, wherein said transactional memory is operatively coupled to a cache; and a processor, having an associated cache, which is arranged to; initiate a conflict detection transaction in said transactional memory, wherein the conflict detection transaction is configured to detect a read-write conflict in said transactional memory, wherein the conflict detection transaction is configured to prefetch data associated with a load instruction of a computer program, wherein the prefetching is performed in anticipation to performing the load instruction, whereby the data is retained in the cache, wherein the conflict detection transaction is configured to end immediately upon completion of said prefetching; in response to a modification of the data that is loaded during the conflict detection transaction, the transactional memory is configured to detect a read-write conflict; and in response to the detection, adaptively determine whether to modify the prefetching data operation associated with the load instruction thereby treating future operations of the load instruction differently. - View Dependent Claims (13, 14, 15)
-
-
16. A computer program product comprising:
-
a non-transitory computer readable medium; a first program instruction for initiating a conflict detection transaction in a transactional memory, wherein the conflict detection transaction is configured to detect a read-write conflict in the transactional memory, wherein the conflict detection transaction is configured to perform prefetching of data associated with a load instruction of a computer program, wherein said prefetching is performed in anticipation to performing the load instruction, whereby the data is retained in the cache, wherein the conflict detection transaction is configured to end immediately upon completion of said prefetching; a second program instruction for detecting, by the transactional memory and in response to a modification of the data that is loaded during the conflict detection transaction, a read-write conflict; a third program instruction for adaptively determining, in response to said detecting, whether to modify the prefetching data operation associated with the load instruction in response to said detection thereby treating future operations of the load instruction differently; and wherein said first, second, and third program instructions are stored on said non-transitory computer readable medium.
-
Specification