Reducing AVX-Induced Frequency Variation With Core Specialization

  • Author:

    Mathias Gottschlag, Frank Bellosa

  • Source:

    The 9th Workshop on Systems for Multi-core and Heterogeneous Architectures co-located with Eurosys 2019, Dresden, Germany, March 25-28, 2019

  • Abstract:
    Recent Intel server processors temporarily reduce their frequency when many AVX2 or AVX-512 SIMD instructions are executed. The frequency change is only reverted two milliseconds after the system has stopped executing such instructions. Before this time, any non-vectorized (and potentially unrelated) code which could execute at higher frequencies is slowed down. The effect on overall performance depends on the specificworkload and is hard to predict. We describe a scenario where vectorizing one component with AVX-512 instructions improves performance by 10% for one workload and reduces performance by 10% for another workload.
    If only some of the cores of a system execute such vectorized code, the frequency effect is limited to those cores. We propose a scheduling algorithm as well as a mechanism to intercept problematic code sections so that threads executing vectorized code are transparently migrated to a small subset of the cores. While our work is still in progress, we describe a partial implementation which is able to reduce the negative performance impact of AVX2 and AVX-512 instructions by over 70%.

    Bibtex:

    @inproceedings{gottschlag19sfma,
      author = {Gottschlag, Mathias and Bellosa, Frank},
      title = {Reducing AVX-Induced Frequency Variation With Core Specialization},
      booktitle = {The 9th Workshop on Systems for Multi-core and Heterogeneous Architectures},
      address = {Dresden, Germany},
      year = 2019,
      month = mar# "~25",
    }