Method and apparatus to trigger synchronization and validation actions upon memory access
First Claim
1. A method to trigger synchronization and validation actions at memory access, comprising:
- identifying a storage class associated with a region of shared memory being accessed by a thread, in a memory system having the shared memory in which one or more regions at a predetermined granularity are assigned storage classes, the storage class represented as a fixed number of bits that identify the storage class, and in response to determining that no storage class is identified with the region of shared memory being accessed by the thread, issuing memory access in normal manner, and in response to identifying the storage class, performing;
determining whether the thread holds the storage class and acquiring the storage class automatically if the thread does not hold the storage class, the acquiring including holding the storage class in an array of storage classes in the thread'"'"'s own memory context such that the array of storage classes is private to the thread and wherein the storage class is not exclusive to a thread such that the same storage class can be acquired by multiple threads;
identifying a programmable action associated with the storage class held by the thread, the identifying including looking up an action table storing one or more storage classes and associated programmable actions in response to identifying the storage class associated with a region of shared memory being accessed by a thread, the action table being a process specific data structure that is configurable, including encoding of an action related to the storage class, a context that specifies whether the action should be taken upon the storage class held or not held, an operation that specifies if the action should be invoked at read, write, or read and write, and an action specification, entries in the action table enabled to be registered and removed through a set of predetermined functions; and
triggering the programmable action based on the storage class assigned to the accessed shared memory location, the thread'"'"'s array of storage classes, and type of memory access.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method to trigger synchronization and validation actions at memory access, in one aspect, identifies a storage class associated with a region of shared memory being accessed by a thread, determines whether the thread holds the storage class and acquires the storage class if the thread does not hold the storage class, identifies a programmable action associated with the storage class and the thread, and triggers the programmable action. One or more storage classes are respectively associated with one or more regions of shared memory. An array of storage classes associated with a thread holds one or more storage classes acquired by the thread. A configurable action table associated with a thread indicates one or more programmable actions associated with a storage class.
-
Citations
20 Claims
-
1. A method to trigger synchronization and validation actions at memory access, comprising:
-
identifying a storage class associated with a region of shared memory being accessed by a thread, in a memory system having the shared memory in which one or more regions at a predetermined granularity are assigned storage classes, the storage class represented as a fixed number of bits that identify the storage class, and in response to determining that no storage class is identified with the region of shared memory being accessed by the thread, issuing memory access in normal manner, and in response to identifying the storage class, performing; determining whether the thread holds the storage class and acquiring the storage class automatically if the thread does not hold the storage class, the acquiring including holding the storage class in an array of storage classes in the thread'"'"'s own memory context such that the array of storage classes is private to the thread and wherein the storage class is not exclusive to a thread such that the same storage class can be acquired by multiple threads; identifying a programmable action associated with the storage class held by the thread, the identifying including looking up an action table storing one or more storage classes and associated programmable actions in response to identifying the storage class associated with a region of shared memory being accessed by a thread, the action table being a process specific data structure that is configurable, including encoding of an action related to the storage class, a context that specifies whether the action should be taken upon the storage class held or not held, an operation that specifies if the action should be invoked at read, write, or read and write, and an action specification, entries in the action table enabled to be registered and removed through a set of predetermined functions; and triggering the programmable action based on the storage class assigned to the accessed shared memory location, the thread'"'"'s array of storage classes, and type of memory access. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for triggering synchronization and validation actions at memory access, comprising:
-
a processing unit; a memory system structure that maps one or more storage classes to respective one or more regions of shared memory, in a memory system having the shared memory in which one or more regions at a predetermined granularity are assigned storage classes, the storage class represented as a fixed number of bits that identify the storage class; one or more arrays of storage classes respectively associated with one or more threads executing in the processing unit, one array for each thread, said one or more arrays operable to hold one or more storage classes acquired by said respective one or more threads and wherein the storage class is not exclusive to a thread such that the same storage class can be acquired by multiple threads; and one or more configurable action tables respectively associated with said one or more threads executing in the processing unit, said one or more configurable action tables specifying one or more configurable actions associated with one or more storage classes, the configurable action table being a process specific data structure that is configurable, including encoding of an action related to the storage class, a context that specifies whether the action should be taken upon the storage class held or not held, an operation that specifies if the action should be invoked at read, write, or read and write, and an action specification, entries in the action table enabled to be registered and removed through a set of predetermined functions, wherein a thread executing in the processing unit and attempting access to said one or more regions of shared memory which have storage classes assigned and which storage classes the thread holds, causes one or more configurable actions to be triggered based on content of an array of storage classes and a configurable action table associated with said thread. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method to trigger synchronization and validation actions at memory access, comprising:
-
identifying a storage class associated with a region of shared memory being accessed by a thread, in a memory system having the shared memory in which one or more regions at a predetermined granularity are assigned storage classes, the storage class represented as a fixed number of bits that identify the storage class, and in response to determining that no storage class is identified with the region of shared memory being accessed by the thread, issuing memory access in normal manner, and in response to identifying the storage class, performing; determining whether the thread holds the storage class and acquiring the storage class automatically if the thread does not hold the storage class, the acquiring including holding the storage class in an array of storage classes in the thread'"'"'s own memory context such that the array of storage classes is private to the thread and wherein the storage class is not exclusive to a thread such that the same storage class can be acquired by multiple threads; identifying a programmable action associated with the storage class, the identifying including looking up an action table register storing one or more storage classes and associated programmable actions in response to identifying the storage class associated with a region of shared memory being accessed by a thread, the action table register being a process specific data structure that is configurable, including encoding of an action related to the storage class, a context that specifies whether the action should be taken upon the storage class held or not held, an operation that specifies if the action should be invoked at read, write, or read and write, and an action specification, entries in the action table register enabled to be registered and removed through a set of predetermined functions; and triggering the programmable action based on the storage class assigned to the accessed shared memory location, the thread'"'"'s array of storage classes, and type of memory access. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification