• DocumentCode
    1783290
  • Title

    Runtime-Guided Cache Coherence Optimizations in Multi-core Architectures

  • Author

    Manivannan, M. ; Stenstrom, Per

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Chalmers Univ. of Technol., Gothenburg, Sweden
  • fYear
    2014
  • fDate
    19-23 May 2014
  • Firstpage
    625
  • Lastpage
    636
  • Abstract
    Emerging task-based parallel programming models shield programmers from the daunting task of parallelism management by delegating the responsibility of mapping and scheduling of individual tasks to the runtime system. The runtime system can use semantic information about task dependencies supplied by the programmer and the mapping information of tasks to enable optimizations like data-flow based execution and locality-aware scheduling of tasks. However, should the cache coherence substrate have access to this information from the runtime system, it would enable aggressive optimizations of prevailing access patterns such as one-to-many producer-consumer sharing and migratory sharing. Such linkage has however not been studied before. We present a family of runtime guided cache coherence optimizations enabled by linking dependency and mapping information from the runtime system to the cache coherence substrate. By making this information available to the cache coherence substrate, we show that optimizations, such as downgrading and self-invalidation, that help reducing overheads associated with producer-consumer and migratory sharing can be supported with reasonable extensions to the baseline cache coherence protocol. Our experimental results establish that each optimization provides significant performance gain in isolation and can provide additional gains when combined. Finally, we evaluate these optimizations in the context of earlier proposed runtime-guided prefetching schemes and show that they can have synergistic effects.
  • Keywords
    multiprocessing systems; storage management; access patterns; baseline cache coherence protocol; cache coherence substrate; data-flow based execution; dependency information; locality-aware scheduling; mapping information; migratory sharing; multicore architectures; one-to-many producer-consumer sharing; overheads reduction; parallelism management; prefetching schemes; runtime-guided cache coherence optimizations; semantic information; synergistic effects; task dependencies; task-based parallel programming models; Arrays; Coherence; Optimization; Prefetching; Radiation detectors; Runtime; Substrates; cache coherence; prefetching; runtime system; self invalidation; task parallelism;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium, 2014 IEEE 28th International
  • Conference_Location
    Phoenix, AZ
  • ISSN
    1530-2075
  • Print_ISBN
    978-1-4799-3799-8
  • Type

    conf

  • DOI
    10.1109/IPDPS.2014.71
  • Filename
    6877295