Transaction and task scheduler
First Claim
Patent Images
1. A method implemented by a computer device, comprising:
- determining a transaction of a thread has blocked; and
retrying the blocked transaction based on a state of a memory previously accessed by the blocked entity.
2 Assignments
0 Petitions
Accused Products
Abstract
The described implementations relate to efficient scheduling of transactions and tasks. A memory location, address, or variable previously accessed by a blocked entity is observed periodically to determine an appropriate time to wake and retry the blocked entity. If the previous accessed memory location, address or variable changes state, a scheduler wakes the blocked entity and the blocked entity retries processing. A doubly-indexed data structure of blocked entities and memory locations associated with the blocked entities may be used to efficiently determine when a retrying execution would be profitable.
61 Citations
20 Claims
-
1. A method implemented by a computer device, comprising:
-
determining a transaction of a thread has blocked; and
retrying the blocked transaction based on a state of a memory previously accessed by the blocked entity. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method implemented by a computer device, comprising:
-
accounting for entities that block in a computer device; and
retrying a blocked entity based on a reference to a data structure that is doubly-indexed. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A method implemented by a computer device, comprising:
-
maintaining a data structure that includes an index of blocked entities and an index of memory addresses that blocked entities attempted to access before being blocked; and
referencing the data structure after an entity commits to determine if a blocked entity may benefit from a retrying execution. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification