A method, implemented in a computer processing system having a plurality of cache lines running a computer application, of cache replacement management, wherein the computer processing system contains a computer processor including a computer readable storage medium containing computer executable code that when executed by the local computer causes the local computer to perform the method comprising:
- receiving a processor core data request to cheek the status of cache misses and hits, from the computer application:
- adding additional bits on each cache line of the plurality of cache lines to identify a core ID of an at least one processor core of a plurality of processor cores that provides each cache line in a shared cache, when the computer application requests data from the at least one processor core;
- allocating a tag table for each processor core, wherein the tag table functions as a tag cache for the at least one processor core, wherein the tag table for the at least one processor core is independent from other tag tables for other processor cores in a shared processor socket, wherein an address tag is stored in the tag table, wherein a replacement operation used for the tag table equals a replacement operation used for the shared cache, wherein the tag table keeps track of an index of processor core miss rates, wherein the index contains cache misses per cache reference for each processor core, and wherein the index of processor core miss rates indicates how cache friendly the computer application is;
- setting a threshold to define a level of cache usefulness for each processor core;
- checking the tag table to determine one of whether the index of processor core miss rates exceeds the threshold and whether the index of processor core miss rates does not exceed the threshold, wherein when the index of processor core miss rates exceeds the threshold, then there is not enough cache line reuse available for the computer application and cache use for the computer application is evicted first, and wherein when the index of processor core miss rates does not exceed the threshold, then a standard shared cache replacement policy is applied.