Method and system for cache coherence in DSM multiprocessor system without growth of the sharing vector
First Claim
1. A method for cache coherence in a distributed shared memory (DSM) multiprocessor system comprising:
- (1) receiving a shared access request for information;
(2) determining whether the shared access request originates from a local node or from a remote node;
(3) processing the shared access request as an exclusive access request when the shared access request originates from the remote node; and
(4) processing the shared access request when the shared access request originates from the local node.
13 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a method and a system for maintaining cache coherence in a distributed shared memory (DSM) multiprocessor system. The method begins with a receiving of a shared access request by a receiving node, where the receiving node is an arbitrary node having at least one main memory unit containing information desired to be accessed. Then, the method determines whether the shared access request originates from a local node or from a remote node. When the shared access request originates from a local node, the shared access request is processed as a shared access request. If the shared access request is granted, a sharing vector is generated or updated to reflect the sharing local node(s). When the shared access request originates from a remote node, the shared access request is converted to an exclusive access request and the sharing vector is replaced with a pointer to the requesting remote node. This limits the potential size of the sharing vector according to the local nodes.
47 Citations
41 Claims
-
1. A method for cache coherence in a distributed shared memory (DSM) multiprocessor system comprising:
-
(1) receiving a shared access request for information;
(2) determining whether the shared access request originates from a local node or from a remote node;
(3) processing the shared access request as an exclusive access request when the shared access request originates from the remote node; and
(4) processing the shared access request when the shared access request originates from the local node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for cache coherence in a distributed shared memory (DSM) multiprocessor system having a directory-based protocol comprising:
-
(1) receiving a shared access request for information by a receiving node;
(2) determining whether the shared access request originates from a local node or from a remote node;
(3) processing the shared access request as an exclusive access request when the shared access request originates from the remote node;
(4) processing the shared access request when the shared access request originates from the local node;
(5) transmitting an invalidate instruction to other local or remote nodes to eliminate copies of the requested information from the other local or remote nodes;
(6) eliminating copies of the requested information from other local or remote nodes once the shared access request is converted to the exclusive access request;
(7) storing a pointer to a shared access requestor when the shared access request is remotely originated;
(8) determining whether the shared access request is valid;
(9) terminating an exclusive status when the exclusive access request is no longer valid; and
(10) returning information requested by the shared access request to cache. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method for cache coherence in a distributed shared memory (DSM) multiprocessor system comprising:
-
(1) receiving a first shared access request by a receiving node, wherein the receiving node contains shared information;
(2) receiving a second shared access request by the receiving node;
(3) processing one of a first and a second shared access requestor as an exclusive access request; and
(4) transmitting an invalidate instruction to other of the first and the second shared access requestor. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
-
34. A system for maintaining cache coherency in a distributed shared memory (DSM) multiprocessor systems, comprising:
-
a plurality of processing nodes, wherein each said node is attached to at least one central processing unit (CPU) and a memory unit;
at least one receiving node for receiving a shared access request;
a means for determining whether said shared access request originates from said local node or from said remote node;
a plurality of shared memory vectors, wherein each said shared memory vector defines either said local node requesting information sharing from said receiving node or said remote node requesting information sharing from said receiving node;
an exclusive memory access pointer, wherein said exclusive memory access pointer points to said remote node in the DSM multiprocessor system that has been granted an exclusive access to information in said receiving node;
a storage unit for storing said exclusive memory access pointer; and
,a deleting means for eliminating said exclusive memory access pointer, when said exclusive memory access pointer becomes invalid. - View Dependent Claims (35, 36, 37)
-
-
38. A system for maintaining cache coherency using a directory-based protocol environment in a distributed shared memory (DSM) multiprocessor systems, comprising:
-
a plurality of processing nodes, wherein each said node is attached to at least one central processing unit (CPU) and a memory unit;
at least one receiving node for receiving a shared access request;
a means for determining whether said shared access request originates from said local node or from said remote node;
a plurality of shared memory vectors, wherein each said shared memory vector defines either said local node requesting information sharing from said receiving node or said remote node requesting information sharing from said receiving node;
an exclusive memory access pointer, wherein said exclusive memory access pointer points to said remote node in the DSM multiprocessor system that has been granted an exclusive access to information in said receiving node;
a means for transmitting an invalidate instruction to other said processing nodes once said exclusive memory access pointer points to said remote node in the DSM multiprocessor system;
a storage unit for storing said exclusive memory access pointer; and
,a deleting means for eliminating said exclusive memory access pointer, when said exclusive memory access pointer becomes invalid.
-
-
39. A system for maintaining cache coherency using a directory-based protocol environment in a distributed shared memory (DSM) multiprocessor systems, comprising:
-
a means for receiving a shared access request for information;
a means for determining whether the shared access request originates from a local node or from a remote node;
a means for processing the shared access request as an exclusive access request when the shared access request originates from the remote node;
a means for processing the shared access request when the shared access request originates from the local node.
-
-
40. A system for maintaining cache coherency using a directory-based protocol environment in a distributed shared memory (DSM) multiprocessor systems, comprising:
-
a means for receiving a shared access request for information by a receiving node;
a means for determining whether the shared access request originates from a local node or from a remote node, wherein said local node is physically proximate to said receiving node, wherein said remote node is physically distant from said receiving node;
a means for processing said access request differently depending on whether said access request originates from said local node or from said remote node.
-
-
41. A computer program product comprising a computer useable medium having computer logic stored therein, said computer program logic enabling a computer system to maintain cache coherency in a distributed shared memory (DSM) system, wherein said computer program logic comprises:
-
a first function that enables the computer to receive a shared access request for information;
a second function that enables the computer to determine whether the shared access request originates from a local node or from a remote node;
a third function that enables the computer to process the shared access request as an exclusive access request when the shared access request originates from the remote node; and
a fourth function that enables the computer to process the shared access request when the shared access request originates from the local node.
-
Specification