In a multiprocessor system having a plurality of nodes coupled by an interconnecting communications pathway comprised of a central hardware device which is capable of storing information regarding the location and state of data within the system, each node having at least one cache, a memory device local to the node and at least one processor device, the memory and processor device being coupled to form a complete subsystem, the processor device within each node being capable of accessing data from the local memory device, the local cache, or over the interconnecting communications pathway from a non local memory device, or a non local cache, wherein such system classifies transactions within the system in part in accordance with the address of the transaction, and one or more transactions occurring later in time may conflict with an address of with a transaction previous in time, a method of handling conflicts between such transactions including the steps of
- placing conflicting transactions later in time a ordering queue;
- holding said conflicting transactions in said ordering queue until any first in tune transactions with which said conflicting transactions conflict have progressed to a point defined by a predetermined classification of the relationship between said first in time and said second in time transactions;
- and
- releasing said second in time transactions from said ordering queue,
- wherein said predetermined, classification includes:
- a first class wherein said first in time transaction is placed in an ordered processor bus of said at least one processor device;
- a second class wherein said first in time transaction is placed in an ordered memory queue;
- and
- a third class wherein said first in time transaction has all required dependencies on that transaction throughout the system released before any conflicting second in time transaction can proceed in the system.