A Practical Approach for Energy Efficient Scheduling in Multicore Environments by Combining Evolutionary and YDS Algorithms with Faster Energy Estimation
Energy efficient scheduling and allocation in multicore environments is a well-known NP-hard problem. Nevertheless approximated solutions can be efficiently found by heuristic algorithms, such as evolutionary algorithms (EAs). However, these algorithms have some drawbacks that hinder their applicability: typically they are very slow, and if the space of the feasible solutions is too restricted, they often fail to provide a viable solution. In this paper we propose an approach that overcomes these issues. The approach is based on a custom EA that is fed with predicted information provided by an existing static analysis about the energy consumed by tasks. This solves the time inefficiency problem. In addition, when this algorithm fails to produce a feasible solution, we resort to a modification of the well-known YDS algorithm that we have performed, well adapted to the multicore environment and to the situations when the static power becomes the predominant part. This way, we propose a combined approach that produces an energy efficient scheduling in reasonable time, and always finds a viable solution. The approach has been tested on multicore XMOS chips, but it can easily be adapted to other multicore environments as well. In the tested scenarios the modified YDS can improve the original one up to 20%, while our EA can save 55 − 90% more energy on average than the modified YDS.
KeywordsScheduling energy efficiency multicore systems evolutionary algorithms YDS
Unable to display preview. Download preview PDF.
- 1.Albers, S., Müller, F., Schmelzer, S.: Speed scaling on parallel processors. In: Proc. of SPAA 2007, pp. 289–298. ACM, USA (2007)Google Scholar
- 2.Banković, Z., López-García, P.: Energy efficient allocation and scheduling for Dvfs-Enabled multicore environments using a multiobjective evolutionary algorithm. In: Proc. of GECCO 2015. ACM (2015, to appear)Google Scholar
- 5.Gaál, B.: Multi-Level Genetic Algorithms and Expert System for Health Promotion. PhD thesis, Univ. of Panonia, Faculty of Information Technology, 12 (2009)Google Scholar
- 6.Gerards, M.E.T., et al.: Analytic clock frequency selection for global DVFS. In: Proc. of PDP 2014, pp. 512–519 (2014)Google Scholar
- 7.Jejurikar, R., Pereira, C., Gupta, R.: Leakage aware dynamic voltage scaling for real-time embedded systems. In: Proc. of DAC 2004, pp. 275–280. ACM (2004)Google Scholar
- 8.Kerrison, S., Eder, K.: Measuring and modelling the energy consumption of multithreaded, multi-core embedded software. ICT Energy Letters, 18–19 (July 2014)Google Scholar
- 9.Liqat, U., Georgiou, K., Kerrison, S., Lopez-Garcia, P., Hermenegildo, M.V., Gallagher, J.P., Eder, K.: Inferring Energy Consumption at Different Software Levels: ISA vs. LLVM IR. Technical report, ENTRA Project, Appendix D3.2.4 of Deliverable D3.2 (April 2014). http://entraproject.eu
- 10.Liqat, U., Kerrison, S., Serrano, A., Georgiou, K., Lopez-Garcia, P., Grech, N., Hermenegildo, M.V., Eder, K.: Energy consumption analysis of programs based on XMOS ISA-level models. In: Gupta, G., Peña, R. (eds.) LOPSTR 2013, LNCS 8901. LNCS, vol. 8901, pp. 72–90. Springer, Heidelberg (2014)Google Scholar
- 11.Mezmaz, M., et al.: A bi-objective hybrid genetic algorithm to minimize energy consumption and makespan for precedence-constrained applications using dynamic voltage scaling. In: Proc. IEEE CEC 2010, pp. 1–8. IEEE (2010)Google Scholar
- 12.Miyoshi, A., et al.: Critical power slope: Understanding the runtime effects of frequency scaling. In: Proc. of ICS 2002, pp. 35–44. ACM, USA (2002)Google Scholar
- 14.Watt, D.: Programming XC on XMOS Devices. XMOS Limited (2009)Google Scholar
- 15.Yao, F., Demers, A., Shenker, S.: A scheduling model for reduced cpu energy. In: 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, 374 (1995)Google Scholar