A method for providing proactive synchronization in a computer system
includes a processor requesting exclusive access to a given memory
resource. The request may include one or more addresses associated with
the given memory resource. The method also includes comparing each of the
addresses in the request to each address in a plurality of sets of
addresses. Each address in the sets of addresses may correspond to a
respective memory resource to which a requestor has exclusive access. In
addition, in response to any address of the one or more addresses
matching any address in the plurality of sets of addresses, the method
includes returning a count value associated with the set including the
matching address. The count value may be indicative of the number of
requestors contending for the matching address. Software may utilize this
count value to proactively choose an item with lower contention
probabilities in subsequent attempts.