1. An apparatus comprising: a first cache set including a first plurality of cache lines and a second plurality of cache lines; a first group of sampling cache sets; a first controller to determine a number of misses that occur in the first group of sampling cache sets; a second controller to determine a victim cache line for the first cache set based at least on the number of misses from the first group; and a second group of sampling cache sets, wherein the first group is operable to select a victim cache line with shared data, wherein the second group is operable to select a victim cache line with non-shared data, wherein the second controller is operable to determine a victim cache line for the first cache set based on a first number of misses that occur in the first group and a second number of misses that occur in the second group.