Abstract

Heterogeneous multicore and manycore systems clustered in multiple voltage islands are a promising alternative for power and energy efficiency over their homogeneous counterparts, as an application’s thread/task might witness large improvements in computational performance and/or power when mapped to an appropriate type of core (an example of such a platform is the Exynos 5 Octa (5422) processor based on ARM’s big.LITTLE architecture) . Because of the power and performance heterogeneity of the clusters, the power consumption and execution time of a thread/task changes not only with the Dynamic Voltage and Frequency Scaling (DVFS) settings, but also according to the task-to-cluster assignment. Furthermore, given that different tasks execute different types of instructions and have different behaviors in regards to memory accesses, executing different tasks on a given core and given DVFS levels might anyway result in different average power consumptions. Therefore, task partitioning, task-to-core mapping, DVFS, and Dynamic Power Management (DPM) play a major role in energy minimization, however, the state-of-the-art solutions remain inefficient in terms of energy minimization, as they fail to properly handle the existence of heterogeneous clusters. In this chapter, we present efficient and lightweight algorithms focusing on overall energy minimization for periodic real-time tasks (or performance-constrained applications) running on clustered multicore/manycore systems with heterogeneous voltage/frequency islands, in which the cores in a cluster are homogeneous and share the same voltage and frequency, but different clusters may have different types and numbers of cores and can be executed at different voltages and frequencies at any point in time. Moreover, unlike most state-of-the-art, in this chapter we assume that different tasks may consume different average power values, even when running on the same core and at the same DVFS levels. The proposed techniques consist on the coordinated selection of the DVFS levels on individual clusters, together with a task partitioning strategy that considers the energy consumption of every task executing on different clusters and at different DVFS levels, as well as the impact of the frequency and the underlying core architecture to the resulting execution time. Every task is then mapped to the most energy-efficient cluster for the selected DVFS levels, and onto a core inside the cluster such that the workloads of the cores in a cluster are balanced and all tasks meet their deadlines.

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