• DocumentCode
    1787047
  • Title

    Variation aware cache partitioning for multithreaded programs

  • Author

    Kozhikkottu, Vivek ; Pan, Andrew ; Pai, Vijay ; Dey, Shuvashis ; Raghunathan, Anand

  • Author_Institution
    Sch. of Electr. & Comput. Eng., Purdue Univ., West Lafayette, IN, USA
  • fYear
    2014
  • fDate
    1-5 June 2014
  • Firstpage
    1
  • Lastpage
    6
  • Abstract
    Multithreaded programs are commonly written and optimized for homogeneous multi-core processors assuming equal performance from all the cores. This assumption greatly simplifies the partitioning and balancing of an application´s workload across threads; however, it no longer holds when the frequencies of the cores differ due to within-die variations, leading to a degradation in performance. We observe that, in addition to the frequency of the core that it executes on, the performance of a thread is also dependent on the share of shared system resources, such as last-level cache, that it receives. We propose variation-aware cache partitioning as an approach to redress the variation-induced imbalance in the execution times of threads, thereby improving the performance of multi-threaded programs. We discuss the challenges involved in realizing our proposal, including synchronization (e.g., barriers) across threads, which results in faster threads being limited by slower threads, the complex and non-linear relationship between a thread´s performance and the cache capacity allocated to it, and the fact that different program phases, can respond quite differently to varying cache capacity. We propose a runtime scheme to perform spatio-temporal cache partitioning while considering both chip characteristics (frequency variations) and program characteristics. We evaluate the proposed technique by applying it to an ensemble of variation-impacted multi-cores executing multi-threaded programs from the PAR-SEC and SPEC-OMP suites, and demonstrate that it results in an average performance improvement of 15% by mitigating the impact of frequency variations.
  • Keywords
    cache storage; microprocessor chips; multi-threading; multiprocessing systems; resource allocation; PAR-SEC; SPEC-OMP; application workload balancing; application workload partitioning; cache capacity; homogeneous multicore processors; last-level cache; multithreaded programs; nonlinear relationship; program phases; shared system resources; spatio-temporal cache partitioning; variation aware cache partitioning; variation-induced imbalance; within-die variations; Benchmark testing; Instruction sets; Multicore processing; Resource management; Runtime; Sensitivity; Synchronization; Multicores; Parallel Programs; Variation Aware Design; Variation Tolerance; Variations;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design Automation Conference (DAC), 2014 51st ACM/EDAC/IEEE
  • Conference_Location
    San Francisco, CA
  • Type

    conf

  • Filename
    6881526