Patent ID: 8407424
Filing Date: 2013-03-26
Classification: G06F

Abstract:
1. A method of maintaining data coherency in a computer system having a plurality of processing nodes, each processing node including at least one computer processor and a local memory, a subset of the processing nodes cooperating on a common task, the method comprising: grouping the processing nodes into a plurality of node groups, each node group having a level, wherein each node group in a lowest level consists of a single processing node in the subset, and each node group that has a given level other than the lowest level consists of a fixed number of node groups, each node group in the fixed number of node groups having a level that is lower than the given level, there being at least one node group having a level other than the lowest level; in each node of the subset, storing a data record comprising a memory directory, each memory directory having (1) data indicating a first level and (2) data relating to a plurality of node groups having that level; receiving, in a given node, a request from a requesting node to obtain a copy of a portion of the local memory of the given node, the given node hereinafter called the home node; determining whether the memory directory of the home node includes data relating to a node group that is associated with the requesting node; and when the memory directory does not include such data, setting the memory directory of the home node to have (1) data indicating a second, higher level and (2) data relating to a plurality of node groups at the higher level, wherein one node group of the plurality of node groups at the higher level is associated with the requesting node, and wherein setting the memory directory does not change its size, to save memory space required to store the memory directory.