In a multiprocessor non-uniform cache architecture system, multiple CPU
cores shares one non-uniform cache that can be partitioned into multiple
cache portions with varying access latencies. A placement prediction
mechanism predicts whether a cache line should remain in a cache portion
or migrate to another cache portion. The prediction mechanism maintains
one or more prediction counters for each cache line. A prediction counter
can be incremented or decremented by a constant or a variable determined
by some runtime information, or set to its maximum or minimum value. An
effective placement prediction mechanism can reduce average access
latencies without causing cache thrashing among cache portions.