US2014013055A1PendingUtilityA1

Ensuring causality of transactional storage accesses interacting with non-transactional storage accesses

48
Assignee: FREY BRADLY GPriority: Jul 6, 2012Filed: Feb 26, 2013Published: Jan 9, 2014
Est. expiryJul 6, 2032(~6 yrs left)· nominal 20-yr term from priority
G06F 9/466G06F 12/0813G06F 12/0842G06F 12/0831
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A data processing system implements a weak consistency memory model for a distributed shared memory system. The data processing system concurrently executes, on a plurality of processor cores, one or more transactional memory instructions within a memory transaction and one or more non-transactional memory instructions. The one or more non-transactional memory instructions include a non-transactional store instruction. The data processing system commits the memory transaction to the distributed shared memory system only in response to enforcement of causality of the non-transactional store instruction with respect to the memory transaction.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method, comprising:
 in a data processing system implementing a weak consistency memory model for a distributed shared memory system, concurrently executing on a plurality of processor cores one or more transactional memory instructions within a memory transaction and one or more non-transactional memory instructions, wherein the one or more non-transactional memory instructions include a non-transactional store instruction; and   committing the memory transaction to the distributed shared memory system of the data processing system only in response to enforcement of causality of the non-transactional store instruction with respect to the memory transaction.   
     
     
         2 . The method of  claim 1 , wherein:
 the data processing system includes a system fabric that distributes memory access requests to the shared distributed memory system;   the memory transaction includes a transactional load instruction that reads a value stored to the distributed shared memory system by the non-transactional store instruction;   the method further includes snooping, on the system fabric, a store request corresponding to the non-transactional store instruction and snooping, on the system fabric, a read request corresponding to the transactional load instruction; and   the committing includes:
 in response to snooping the read request while the store request is pending, preventing the memory transaction from committing until the store request is no longer pending. 
   
     
     
         3 . The method of  claim 2 , wherein preventing the memory transaction from committing includes providing a retry response to a request on the system fabric to commit the memory transaction. 
     
     
         4 . The method of  claim 1 , wherein the committing further includes committing the memory transaction only in response to an invalidation necessitated by a memory update of a transactional store instruction among the one or more transactional memory instructions in the memory transaction having fully propagated throughout the distributed shared memory system. 
     
     
         5 . The method of  claim 1 , and further comprising:
 in response to detecting a conflict for the memory transaction, refraining from committing the transaction to the distributed shared memory system.   
     
     
         6 . The method of  claim 5 , and further comprising:
 in response to detecting a conflict for the memory transaction, refraining from executing one or more instructions in the memory transaction and invoking execution of a fail handler.   
     
     
         7 . The method of  claim 1 , and further comprising controlling commitment of the memory transaction by one or more lower level store-in cache memories in the distributed shared memory system.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.