1. An apparatus comprising: a plurality of caches distributed at a memory hierarchy level; a usefulness predictor associated with at least a source cache of the plurality of caches, the usefulness predictor to determine a spill usefulness of a cache line; and a cache spill module to spill the cache line from the source cache to a target cache of the plurality of caches based on the spill usefulness of the cache line.