TRANSACTIONAL MEMORY PROXY
First Claim
1. A method for optimizing processor performance in a compute node for transactional memory accesses, the method comprising:
- allocating a transactional memory agent to one or more processors in a compute node;
performing global memory transactions for a processor in a compute node by the allocated transactional memory agent ;
copying data from one or more globally shared memory addresses identified by a transactional request for data into a private region of memory associated with a requesting processor during shared memory read operations by the transactional memory agent; and
sending data from the private region of memory associated with the requesting processor by the transactional memory agent targeting globally shared memory during a transactional memory write operation.
5 Assignments
0 Petitions
Accused Products
Abstract
Processors in a compute node offload transactional memory accesses addressing shared memory to a transactional memory agent. The transactional memory agent typically resides near the processors in a particular compute node. The transactional memory agent acts as a proxy for those processors. A first benefit of the invention includes decoupling the processor from the direct effects of remote system failures. Other benefits of the invention includes freeing the processor from having to be aware of transactional memory semantics, and allowing the processor to address a memory space larger than the processor'"'"'s native hardware addressing capabilities. The invention also enables computer system transactional capabilities to scale well beyond the transactional capabilities of those found computer systems today.
-
Citations
28 Claims
-
1. A method for optimizing processor performance in a compute node for transactional memory accesses, the method comprising:
-
allocating a transactional memory agent to one or more processors in a compute node; performing global memory transactions for a processor in a compute node by the allocated transactional memory agent ; copying data from one or more globally shared memory addresses identified by a transactional request for data into a private region of memory associated with a requesting processor during shared memory read operations by the transactional memory agent; and sending data from the private region of memory associated with the requesting processor by the transactional memory agent targeting globally shared memory during a transactional memory write operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
15. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor to perform a method, the method comprising:
-
allocating a transactional memory agent to one or more processors in a compute node; performing global memory transactions for a processor in a compute node by the allocated transactional memory agent ; copying data from one or more globally shared memory addresses identified by a transactional request for data into a private region of memory associated with a requesting processor during shared memory read operations by the transactional memory agent; and sending data from the private region of memory associated with the requesting processor by the transactional memory agent targeting globally shared memory during a transactional memory write operation. - View Dependent Claims (17)
-
-
28. A system comprising:
-
a plurality of compute nodes; a memory in each of the compute nodes; and a transactional memory agent in one or more of the compute nodes of a data center, wherein the transactional memory agent in a first compute node performs global memory transactions between a requesting processor in a compute node to coherent shared memory controller, wherein the transactional memory agent copies data from one or more shared memory addresses to private memory associated with the requesting processor during memory read operations, and wherein the transactional memory agent sends data from the private memory associated with the requesting processor targeting shared memory.
-
Specification