A messaging scheme to synchronize processes within a distributed memory
multiprocessing computer system having two or more processing nodes
interconnected using an interconnect structure of dual-unidirectional
links. Each unidirectional link forms a point-to-point interconnect to
transfer packetized information between two processing nodes. A lock
acquisition request from a lock requesting node is placed into service by
an arbitrating node when no previous lock requests are pending for
service. The arbitrating node transmits a broadcast message to all nodes
in the system, which, in turn, respond with a corresponding probe
response message to inform the arbitrating node of cessation of issuance
of new requests by the node sending the probe response message. The
arbitrating node informs the lock requesting node of the requesting
node's lock ownership by transmitting a target done message thereto.
After completion of lock operations, the lock requesting node sends a
lock release request to the arbitrating node, which, in turn, informs all
processing nodes of lock release by transmitting another broadcast
message within the system. The messaging protocol is completed when each
node sends another probe response to the arbitrating node, which, in
turn, sends a final target done message to the lock requesting node. Lock
operations are performed without contention for system resources and
without deadlocks among various processing nodes.