Abstract

In today’s multicore systems, depending on an application’s computational demand, cores are either operated individually at different Voltage/Frequency (V/F) levels or grouped into multiple Voltage-Frequency Islands (VFIs) to reduce system energy consumption. This paper formulates a task scheduling and VFI partitioning problem whose optimization goal is to minimize the task set (application) execution time (makespan) for a given energy budget. First, the constrained optimization problem is formulated with integer Linear Programming (ILP) to obtain per-core, per-task dynamic V/F levels in a fine-grain VFI-based system with single-core islands. Next, static task scheduling on coarse-grain VFI-based systems, where an island can contain several cores operated at the same V/F level, is formulated with Mixed integer Linear Programming (MILP), considering the energy budget and task set’s precedence constraints. As an extension of this work and to address varying computational workload of the applications at runtime, this paper proposes a DVFS-enabled VFI system, which forms the VFIs based on the cores’ workload similarities and dynamically adjusts the VFIs’ V/F levels over the applications’ execution phases. The experimental results show that under different energy budget constraints, fine-grain, dynamic task allocations provide on average 1.35x speedup over static coarse-grain scheduling and partitioning methods. Also, the results show that while our dynamically tuned VFI system’s performance is comparable to the fine-grain V/F assignment technique, compared to the static task scheduling/VFI partitioning method, it achieves on average 1.5x speedup across the applications considered in this study.

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