Technique to perform concurrent updates to a shared data structure
First Claim
Patent Images
1. An apparatus comprising:
- a plurality of processing elements to compute a plurality of partial results;
a first logic to receive the plurality of partial results in parallel and combine the partial results into a final result.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique to perform concurrent updates to a shared data structure. At least one embodiment of the invention concurrently stores copies of a data structure within a plurality of local caches, updates the local caches with a partial result of a computation distributed among a plurality of processing elements, and returns the partial results to combining logic in parallel, which combines the partial results into a final result.
26 Citations
30 Claims
-
1. An apparatus comprising:
-
a plurality of processing elements to compute a plurality of partial results;
a first logic to receive the plurality of partial results in parallel and combine the partial results into a final result. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a main memory to store an instruction to be performed by a plurality of processing elements;
a plurality of processing elements to generate a plurality of partial results of the instruction in parallel;
a first logic to receive the plurality of partial results in parallel and combine the plurality of partial results into a final result to be stored in the main memory;
- View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method comprising:
-
detecting a task that will use multiple processing elements to compute a number of partial results to be reduced to a combined result;
concurrently storing a plurality of copies of a data structure within a plurality of local memories corresponding to the multiple processing elements;
updating the plurality of copies of the data structure with the plurality of partial results. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A processor comprising:
-
a shared cache to store a data structure;
a plurality of local caches to concurrently store and update a plurality of copies of the data structure;
a memory controller to concurrently receive the updated plurality of copies of the data structure and to combine the updated plurality of copies of the data structure into a final result. - View Dependent Claims (27, 28, 29, 30)
-
Specification