Abstract

With the era of many-core processing upon us, it is important to be able to effectively utilize the abundant number of cores available in the processor. Given multiple programs to be run simultaneously, one must decide not only how many cores to allocate to each program, but also at what frequency and voltage to run them. Furthermore, the goal of producing the best performance and the lowest energy consumption or the lowest energy delay product (EDP), without any knowledge about the programs, this can be a challenging task. For programs that can take advantage of multiple cores, what we observed is that the largest benefit in reducing the execution time and EDP is by allowing the program to use additional cores. This execution time advantage can follow an exponentially decaying function, thus providing an effective mechanism in determining the number of cores to use for each program. In this paper we introduce a heuristic method - GreedyTalents - to accomplish this task based on the empirical observation of the execution time of the running programs. We also show that GreedyTalents provides equal or better results than other comparable methods, and converges faster in determining the settings to use, showing it as a promising method of energy-aware auto-tuning for many-core processors.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call