• DocumentCode
    2906987
  • Title

    Set Utilization Based Dynamic Shared Cache Partitioning

  • Author

    Deayton, Peter ; Chung, Chung-Ping

  • Author_Institution
    Dept. of Comput. Sci., Nat. Chiao-Tung Univ., Hsinchu, Taiwan
  • fYear
    2011
  • fDate
    7-9 Dec. 2011
  • Firstpage
    284
  • Lastpage
    291
  • Abstract
    As the number of processors sharing a cache increases, conflict misses due to interference amongst competing processes have an increasing impact on the individual performance of processes. Cache partitioning is a method of allocating a cache between concurrently executing processes in order to counteract the effects of inter-process conflicts. However, cache partitioning methods commonly divide a shared cache into private partitions dedicated to a single processor, which can lead to underutilized portions of the cache when set accesses are non-uniform. Our proposed method compliments these cache partitioning algorithms by creating an additional shared partition able to be shared amongst all processors. Underutilized areas of the cache are identified by a monitoring circuit and used for the shared partition. Detection of underutilization is based on the number of unique set accesses for a given allocated way. For a 16-way set associative cache, the implementation of our method requires 64 bytes of storage overhead per core in addition to that needed for the method that determines the sizes of the private partitions. For the tested system, our method is able to improve performance over the traditional LRU policy for a number of selected benchmark sets by an average of 1.4% and up to 13.3% for a two core system and an average of 1.4% and up to 7.8% for a four core system, and is able to improve the performance of a conventional cache partitioning method (Utility-Based Cache Partitioning) by an average of 0.1% and up to 0.5% for both a two and four core systems.
  • Keywords
    cache storage; storage management; 16-way set associative cache; dynamic shared cache partitioning; inter-process conflicts; set utilization; utility-based cache partitioning; Benchmark testing; Classification algorithms; Cost function; Monitoring; Multicore processing; Partitioning algorithms; Program processors; cache partitioning; chip multi-processor; set utilization; shared cache;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Systems (ICPADS), 2011 IEEE 17th International Conference on
  • Conference_Location
    Tainan
  • ISSN
    1521-9097
  • Print_ISBN
    978-1-4577-1875-5
  • Type

    conf

  • DOI
    10.1109/ICPADS.2011.119
  • Filename
    6121289