Persistent ticket operation
First Claim
Patent Images
1. A method, comprising:
- performing a transactional operation, such that if one step of the transactional operation is performed, each other step of the transactional operation is performed, wherein the transactional operation includes;
making a first copy, stored in a first persistent memory, of a next ticket number adjacent to a next ticket owner stored in a second persistent memory;
updating the next ticket number and the next ticket owner in the second persistent memory with a double word compare-and-swap-operation; and
determining when to serve a first thread based on the first copy of the next ticket number and the next ticket owner, wherein the next ticket number and the next ticket owner are global variables shared by each thread using a persistent ticket lock in the first persistent memory and in the second persistent memory.
1 Assignment
0 Petitions
Accused Products
Abstract
In one example in accordance with the present disclosure, a method may include performing a transactional operation such that if one step of the transactional operation is performed, each other step of the transactional operation is performed. The transactional operation may include making a first copy, stored in a first persistent memory, of a next ticket number stored in a second persistent memory and updating the next ticket number in the second persistent memory. The method may also include determining when to serve a first thread based on the first copy of the next ticket number.
28 Citations
20 Claims
-
1. A method, comprising:
-
performing a transactional operation, such that if one step of the transactional operation is performed, each other step of the transactional operation is performed, wherein the transactional operation includes; making a first copy, stored in a first persistent memory, of a next ticket number adjacent to a next ticket owner stored in a second persistent memory; updating the next ticket number and the next ticket owner in the second persistent memory with a double word compare-and-swap-operation; and determining when to serve a first thread based on the first copy of the next ticket number and the next ticket owner, wherein the next ticket number and the next ticket owner are global variables shared by each thread using a persistent ticket lock in the first persistent memory and in the second persistent memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a first persistent memory; a second persistent memory; a processor to; make a copy, stored in a first persistent memory, of a next ticket number adjacent to a next ticket owner for a first thread, wherein the next ticket number is a global variable shared by each thread using a persistent ticket lock in the first persistent memory and in the second persistent memory stored in a second persistent memory, and update the next ticket number and the next ticket owner in the second persistent memory with a double word compare and swap operation; and a ticket server to determine when the copy matches a now serving ticket number. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A non-transitory machine-readable storage medium configured to store instructions which, when executed by a processor, cause a system to perform a method comprising:
-
blocking, using a persistent ticket lock, a next ticket number from being updated by threads other than a first thread, wherein the next ticket number is a global variable shared by each thread accessing a first persistent memory and a second persistent memory; and performing a transactional operation, such that if one step of the transactional operation is performed, each other step of the transactional operation is performed, wherein the transactional operation includes; making a first copy, stored in the first persistent memory, of the next ticket number stored adjacent to a next ticket owner in the second persistent memory, and updating the next ticket number and the next ticket owner in the second persistent memory with a double word compare-and-swap operation; and determining when to serve the first thread based on the first copy of the next ticket number and the next ticket owner, wherein the next ticket number and the next ticket owner are global variables shared by each thread using a persistent ticket lock in the first persistent memory and in the second persistent memory. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification