Low latency thread context caching
First Claim
1. A computer-implemented method executed by a processor, the method comprising:
- performing, by a processor core of the processor, one or more operations as requested by a thread executing on the processor, the thread having a thread context including information used by the thread during execution;
receiving, by the processor core, a park request from the thread indicating that execution of the thread should be suspended and the thread context should be stored in a cache included in the processor core and having a cache response time, the park request including a resume condition indicating when the thread should be resumed, the park request received following a request from the thread for a low latency resource to perform an operation for which the cache response time is less than or equal to a response time threshold so as to allow the thread context to be stored and retrieved from the cache in less time than a time it takes the low latency resource to complete the operation;
storing the thread context in the cache;
detecting that the resume condition has occurred, wherein detecting that the resume condition has occurred includes detecting that a value of a resume register has been updated;
retrieving the thread context from the cache; and
resuming execution of the thread on the processor core using the retrieved thread context.
2 Assignments
0 Petitions
Accused Products
Abstract
A method includes performing one or more operations as requested by a thread executing on a processor, the thread having a thread context; receiving a park request from the thread, the park request received following a request from the thread for a low latency resource, wherein the cache response time is less than or equal to a resource response threshold so as to allow the thread context to be stored and retrieved from the cache in less time than the portion of time it takes to complete the request for the low latency resource; storing the thread context in the cache; detecting that the resume condition has occurred; retrieving the thread context from the cache; and resuming execution of the thread.
32 Citations
17 Claims
-
1. A computer-implemented method executed by a processor, the method comprising:
-
performing, by a processor core of the processor, one or more operations as requested by a thread executing on the processor, the thread having a thread context including information used by the thread during execution; receiving, by the processor core, a park request from the thread indicating that execution of the thread should be suspended and the thread context should be stored in a cache included in the processor core and having a cache response time, the park request including a resume condition indicating when the thread should be resumed, the park request received following a request from the thread for a low latency resource to perform an operation for which the cache response time is less than or equal to a response time threshold so as to allow the thread context to be stored and retrieved from the cache in less time than a time it takes the low latency resource to complete the operation; storing the thread context in the cache; detecting that the resume condition has occurred, wherein detecting that the resume condition has occurred includes detecting that a value of a resume register has been updated; retrieving the thread context from the cache; and resuming execution of the thread on the processor core using the retrieved thread context. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
memory for storing data; and a processor operable to perform operations comprising; performing, by a processor core of the processor, one or more operations as requested by a thread executing on the processor, the thread having a thread context including information used by the thread during execution; receiving, by the processor core, a park request from the thread indicating that execution of the thread should be suspended and the thread context should be stored in a cache included in the processor core and having a cache response time, the park request including a resume condition indicating when the thread should be resumed, the park request received following a request from the thread for a low latency resource to perform an operation for which the cache response time is less than or equal to a response time threshold so as to allow the thread context to be stored and retrieved from the cache in less time than a time it takes the low latency resource to complete the operation; storing the thread context in the cache; detecting that the resume condition has occurred, wherein detecting that the resume condition has occurred includes detecting that a value of a resume register has been updated; retrieving the thread context from the cache; and resuming execution of the thread on the processor core using the retrieved thread context. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory, computer-readable medium storing instructions operable when executed to cause a processor to perform operations comprising:
-
performing, by a processor core of the processor, one or more operations as requested by a thread executing on the processor, the thread having a thread context including information used by the thread during execution; receiving, by the processor core, a park request from the thread indicating that execution of the thread should be suspended and the thread context should be stored in a cache included in the processor core and having a cache response time, the park request including a resume condition indicating when the thread should be resumed, the park request received following a request from the thread for a low latency resource to perform an operation for which the cache response time is less than or equal to a response time threshold so as to allow the thread context to be stored and retrieved from the cache in less time than a time it takes the low latency resource to complete the operation; storing the thread context in the cache; detecting that the resume condition has occurred, wherein detecting that the resume condition has occurred includes detecting that a value of a resume register has been updated; retrieving the thread context from the cache; and resuming execution of the thread on the processor core using the retrieved thread context. - View Dependent Claims (14, 15, 16, 17)
-
Specification