A protocol engine is for use in each node of a computer system having a
plurality of nodes. Each node includes an interface to a local memory
subsystem that stores memory lines of information, a directory, and a
memory cache. The directory includes an entry associated with a memory
line of information stored in the local memory subsystem. The directory
entry includes an identification field for identifying sharer nodes that
potentially cache the memory line of information. The identification field
has a plurality of bits at associated positions within the identification
field. Each respective bit of the identification field is associated with
one or more nodes. The protocol engine furthermore sets each bit in the
identification field for which the memory line is cached in at least one
of the associated nodes. In response to a request for exclusive ownership
of a memory line, the protocol engine sends an initial invalidation
request to no more than a first predefined number of the nodes associated
with set bits in the identification field of the directory entry
associated with the memory line.
Двигатель протокола для пользы в каждом узле системы компьютера имея множественность узлов. Каждый узел вклюает поверхность стыка к местной подсистеме памяти хранит линии памяти информации, директории, и тайника памяти. Директория вклюает вход связанный при линия памяти информации, котор хранят в местной подсистеме памяти. Вход директории вклюает поле идентификации для определять узлы sharer потенциальн прячут линию в тайнике памяти информации. Поле идентификации имеет множественность битов на associated положениях внутри поле идентификации. Каждый соответственно бит поля идентификации связан с one or more узлами. Двигатель протокола furthermore устанавливает каждый бит в поле идентификации для линия памяти спрятана в тайнике в по крайней мере одном из associated узлов. In response to запрос для исключительного владения линии памяти, двигатель протокола посылает первоначально запрос invalidation к no more чем первый предопределенный количество узлов связанных с битами комплекта в поле идентификации входа директории связанного с линией памяти.