Synchronization of metadata in a multi-threaded system
First Claim
1. A method, comprising:
- receiving, by a first thread of a processing device, a request for a metadata structure located in a first cache associated with an object;
accessing, by the first thread of the processing device, the first cache based upon a state of a synchronization mechanism associated with the first cache;
comparing, by the first thread of the processing device, wherein comparing comprises;
performing a comparison of the metadata structure to a value associated with the metadata structure, andholding, by the first thread of the processing device, the metadata structure associated with the object;
operating, by the first thread of the processing device, on the metadata structure based upon the comparison of the metadata structure to the value;
receiving, by a second thread of the processing device, a request for the metadata structure in a second cache associated with the object;
accessing, by the second thread of the processing device, the second cache based upon a state of a synchronization mechanism associated with the second cache; and
operating, by the second thread of the processing device, on the metadata structure after the first thread ceases holding the requested metadata structure.
2 Assignments
0 Petitions
Accused Products
Abstract
Synchronization of metadata structures in a multi-threaded system includes receiving, by a first thread of a processing device, a request for a metadata structure located in a first cache associated with an object, obtaining, by the first thread of the processing device, a synchronization mechanism associated with the first cache, holding, by the first thread of the processing device, the metadata structure associated with the object, receiving, by a second thread of the processing device, a request for the metadata structure in a second cache associated with the object, obtaining, by the second thread of the processing device, a synchronization mechanism associated with the second cache and informing the second thread of the processing device that the metadata structure associated with the object is not available.
-
Citations
32 Claims
-
1. A method, comprising:
-
receiving, by a first thread of a processing device, a request for a metadata structure located in a first cache associated with an object; accessing, by the first thread of the processing device, the first cache based upon a state of a synchronization mechanism associated with the first cache; comparing, by the first thread of the processing device, wherein comparing comprises; performing a comparison of the metadata structure to a value associated with the metadata structure, and holding, by the first thread of the processing device, the metadata structure associated with the object; operating, by the first thread of the processing device, on the metadata structure based upon the comparison of the metadata structure to the value; receiving, by a second thread of the processing device, a request for the metadata structure in a second cache associated with the object; accessing, by the second thread of the processing device, the second cache based upon a state of a synchronization mechanism associated with the second cache; and operating, by the second thread of the processing device, on the metadata structure after the first thread ceases holding the requested metadata structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system having a multi-threaded processing device sharing a metadata cache, comprising:
-
a plurality of object local caches configured to store metadata structures; a global cache configured to store copies of each of the metadata structures; a first thread of the processing device configured to; receive a request for a metadata structure located in a first local cache associated with an object; access the first local cache based upon a state of a synchronization mechanism associated with the first local cache; compare the metadata structure, wherein comparing the metadata structure comprises; performing a comparison of the metadata structure to a value associated with the metadata structure, and holding the metadata structure associated with the object; and operate on the metadata structure based upon the comparison of the metadata structure to the value; and a second thread of the processing device configured to; receive a request for the metadata structure in the global cache associated with the object; access the global cache based upon a state of a synchronization mechanism associated with the global cache; and operate on the metadata structure after the first thread ceases holding the requested metadata structure. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer-readable medium having instructions stored thereon, the instructions causing at least one computing device to perform operations, the operations comprising:
-
receiving, by a first thread of a processing device, a request for a metadata structure located in a first cache associated with an object; accessing, by the first thread of the processing device, the first cache based upon a state of a synchronization mechanism associated with the first cache; comparing, by the first thread of the processing device, wherein comparing comprises; performing a comparison of the metadata structure to a value associated with the metadata structure, and holding, by the first thread of the processing device, the metadata structure associated with the object; operating, by the first thread of the processing device, on the metadata structure based upon the comparison of the metadata structure to the value; receiving, by a second thread of the processing device, a request for the metadata structure in a second cache associated with the object; accessing, by the second thread of the processing device, the second cache based upon a state of a synchronization mechanism associated with the second cache; and operating, by the second thread of the processing device, on the metadata structure after the first thread ceases holding the requested metadata structure. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
Specification