  Multi-core processors improve performance, but they can create
unpredictability owing to shared resources such as caches interfering. Cache
partitioning is used to alleviate the Worst-Case Execution Time (WCET)
estimation by isolating the shared cache across each thread to reduce
interference. It does, however, prohibit data from being transferred between
parallel threads running on different cores. In this paper we present (SRCP) a
cache replacement mechanism for partitioned caches that is aware of data being
shared across threads, prevents shared data from being replicated across
partitions and frequently used data from being evicted from caches. Our
technique outperforms TA-DRRIP and EHC, which are existing state-of-the-art
cache replacement algorithms, by 13.34% in cache hit-rate and 10.4% in
performance over LRU (least recently used) cache replacement policy.
