1. At a data processing device comprising a plurality of processor cores, a shared cache, and a memory comprising a plurality of memory banks, a method comprising: assigning resources of the shared cache based on a predicted pattern of accesses to the plurality of memory banks by prioritizing replacement of information stored at the shared cache based on the predicted pattern, the predicted pattern of accesses selected from the group consisting of: a pattern of memory accesses that are predicted to occur if a different set of threads were executing at the plurality of processor cores than a set of threads that is actually executing at the plurality of processor cores, and a pattern of memory accesses that are predicted to occur if the set of threads that is actually executing that are executing at the plurality of processor cores were to access the memory in a different way than the set of threads have previously accessed the memory.