Energy-efficient execution of task-based parallel applications is crucial as tasking is a widely supported feature in many parallel programming libraries and runtimes. Currently, state-of-the-art proposals primarily rely on leveraging core asymmetry and CPU DVFS. Additionally, these proposals mostly use heuristics and lack the ability to explore the trade-offs between energy usage and performance. However, our findings demonstrate that focusing solely on CPU energy consumption for energy-efficient scheduling while neglecting memory energy consumption leaves room for further energy savings. We propose JOSS, a runtime scheduling framework that leverages both CPU DVFS and memory DVFS in conjunction with core asymmetry and task characteristics to enable energy-efficient execution of task-based applications. JOSS also enables the exploration of energy and performance trade-offs by supporting user-defined performance constraints. JOSS uses a set of models to predict task execution time, CPU and memory power consumption, and then selects the configuration for the tunable knobs to achieve the desired energy performance trade-off. Our evaluation shows that JOSS achieves 21.2% energy reduction, on average, compared to the state-of-the-art. Moreover, we demonstrate that even in the absence of a memory DVFS knob, taking energy consumption of both CPU and memory into account achieves better energy savings compared to only accounting for CPU energy. Furthermore, JOSS is able to adapt scheduling to reduce energy consumption while satisfying the desired performance constraints.
翻译:任务型并行应用的能效执行至关重要,因为任务调度是众多并行编程库与运行时系统广泛支持的核心特性。当前最先进的研究方案主要依赖处理器核心非对称性与CPU DVFS技术,且大多采用启发式方法,缺乏对能耗与性能权衡的探索能力。然而,我们的研究发现,在能效调度中仅关注CPU能耗而忽视内存能耗,仍存在进一步节能的空间。为此,我们提出JOSS运行时调度框架,该框架协同利用CPU DVFS与内存DVFS技术,并结合处理器核心非对称性与任务特性,实现任务型应用的高能效执行。JOSS通过支持用户自定义性能约束,使能对能耗与性能权衡进行探索。该框架采用多模型体系预测任务执行时间、CPU及内存功耗,进而为可调参数选择配置方案以实现期望的能耗-性能权衡。评估结果表明,与当前最优方案相比,JOSS平均实现21.2%的能耗降低。此外,我们证明即便在缺乏内存DVFS调控机制时,同时考虑CPU与内存能耗的调度策略相比仅考虑CPU能耗的方案仍能取得更优的节能效果。更进一步,JOSS能够自适应调整调度策略,在满足指定性能约束的前提下有效降低能耗。