Claims Analysis
Total Claims: 7
Claim 1
Independent Claim
130 words
A computer system, comprising: an interconnect network; and a plurality of processing nodes, wherein the plurality of processing nodes includes a first processing node, wherein each of the plurality of processing nodes are connected to the first processing node through said interconnect network and wherein each processing node comprises: a memory having a plurality of memory locations, including a first memory location; a local swap register; and processing means for operating on data stored in the first memory location of said first processing node, wherein the processing means performs an atomic swap operation in which data stored in the first memory location of said first processing node is transferred to the processing means and a lock value stored in the local swap register is stored in said first memory location.
Claim 2
Dependent Claim
130 words
A computer system, comprising: an interconnect network; and a plurality of processing nodes, wherein the plurality of processing nodes includes a first processing node, wherein each of the plurality of processing nodes are connected to the first processing node through said interconnect network and wherein each processing node comprises: a memory having a plurality of memory locations, including a first memory location; a local swap register; and processing means for operating on data stored in the first memory location of said first processing node, wherein the processing means performs an atomic swap operation in which data stored in the first memory location of said first processing node is transferred to the processing means and a lock value stored in the local swap register is stored in said first memory location.
Claim 3
Dependent Claim
235 words
In a computer system having a plurality of processor nodes connected through an interconnect network, wherein the plurality of processor nodes includes first and second processor nodes and wherein each processor node includes a local swap register for storing a lock value, a method of protecting data stored on the first processor node when that data is being accessed by a process on said second processor node, the method comprising the steps of: a) defining a lock value; b) writing the lock value in the local swap register of the second processor node; c) providing a hash table having a plurality of hash table cells, including a first hash table cell, wherein the first hash table cell contains a lock entry for a protected memory location; d) selecting said first hash table cell from the plurality of hash table cells, wherein the step of selecting comprises calculating a hash value; e) reading the lock entry at the selected first hash table cell, wherein the step of reading the lock entry comprises the step of atomically swapping the lock value stored in the local swap register of the second processor node with the lock entry at the selected first hash table cell; f) comparing the lock entry read from the selected first hash table cell to the defined lock value; and g) if the lock entry read does equal the defined lock value, repeating steps e-g.
Claim 4
Dependent Claim
235 words
In a computer system having a plurality of processor nodes connected through an interconnect network, wherein the plurality of processor nodes includes first and second processor nodes and wherein each processor node includes a local swap register for storing a lock value, a method of protecting data stored on the first processor node when that data is being accessed by a process on said second processor node, the method comprising the steps of: a) defining a lock value; b) writing the lock value in the local swap register of the second processor node; c) providing a hash table having a plurality of hash table cells, including a first hash table cell, wherein the first hash table cell contains a lock entry for a protected memory location; d) selecting said first hash table cell from the plurality of hash table cells, wherein the step of selecting comprises calculating a hash value; e) reading the lock entry at the selected first hash table cell, wherein the step of reading the lock entry comprises the step of atomically swapping the lock value stored in the local swap register of the second processor node with the lock entry at the selected first hash table cell; f) comparing the lock entry read from the selected first hash table cell to the defined lock value; and g) if the lock entry read does equal the defined lock value, repeating steps e-g.
Claim 5
Dependent Claim
26 words
The method according to claim 2 wherein the step of reading comprises storing the lock entry read from the selected hash table cell in a cache.
Claim 6
Dependent Claim
39 words
The method according to claim 2 wherein the method further comprises the step of: h) if the lock entry read from the selected first hash table cell does not equal the defined lock value, accessing the protected memory location.
Claim 7
Dependent Claim
21 words
The method according to claim 4 wherein the step of repeating comprises waiting a period of time before executing step e.