Trading-off Accuracy vs Energy in Multicore Processors via Evolutionary Algorithms Combining Loop Perforation and Static Analysis-Based Scheduling
This work addresses the problem of energy efficient scheduling and allocation of tasks in multicore environments, where the tasks can permit certain loss in accuracy of either final or intermediate results, while still providing proper functionality. Loss in accuracy is usually obtained with techniques that decrease computational load, which can result in significant energy savings. To this end, in this work we use the loop perforation technique that transforms loops to execute a subset of their iterations, and integrate it in our existing optimisation tool for energy efficient scheduling in multicore environments based on evolutionary algorithms and static analysis for estimating energy consumption of different schedules. The approach is designed for multicore XMOS chips, but it can be adapted to any multicore environment with slight changes. The experiments conducted on a case study in different scenarios show that our new scheduler enhanced with loop perforation improves the previous one, achieving significant energy savings (31 % on average) for acceptable levels of accuracy loss.
KeywordsPareto Front Finite Impulse Response Loop Iteration Cloud Computing Environment Accuracy Loss
The research leading to these results has received funding from the European Union 7th Framework Programme under grant agreement 318337, ENTRA - Whole-Systems Energy Transparency, Spanish MINECO TIN’12-39391 StrongSoft and TIN’08-05624 DOVES projects, and Madrid TIC-1465 PROMETIDOS-CM project.
- 3.Kerrison, S., Eder, K.: Energy modelling of software for a hardware multi-threaded embedded microprocessor. ACM Trans. Embed. Comput. Syst. (TECS) (2015, to appear)Google Scholar
- 4.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) CrossRefGoogle Scholar
- 5.López-García, P. (ed.) Initial Energy Consumption Analysis. ENTRA Project: Whole-Systems Energy Transparency (FET project 318337), April 2014. Deliverable 3.2, http://entraproject.eu
- 6.XMos Ltd., Xs1-su01a-fb96 datasheet, November 2012Google Scholar
- 7.Hoffmann, H., Misailovic, S., Sidiroglou, S., Rinard, M.: Managing performance vs. accuracy trade-offs with loop perforation. In: Proceedings of FSE 2011. ACM Press (2011)Google Scholar
- 8.Serrano, A., Lopez-Garcia, P., Hermenegildo, M.: Resource usage analysis of logic programs via abstract interpretation using sized types. In: Theory and Practice of Logic Programming, 30th Int’l. Conference on Logic Programming (ICLP 2014) Special Issue, 14(4–5):739–754, (2014)Google Scholar
- 9.Watt, D.: Programming XC on XMOS Devices. XMOS Limited (2009)Google Scholar
- 10.Yassa, S., Chelouah, R., Chelouah, R., Granado, B.: Multi-objective approach for energy-aware workflow scheduling in cloud computing environments. Sci. World J. 2013, Article ID: 350934, 1–13 (2013)Google Scholar
- 11.Ye, G., Rao, R., Li, M.: A multiobjective resources scheduling approach based on genetic algorithms in grid environment. In: Fifth International Conference on Grid and Cooperative Computing Workshops, GCCW 2006, pp. 504–509, October 2006Google Scholar
- 12.Yu, J., Kirley, M., Buyya, R.: Multi-objective planning for workflow execution on grids. In: Proceedings of the 8th IEEE/ACM International Conference on Grid Computing, GRID 2007, pp. 10–17. IEEE Computer Society, Washington, DC (2007)Google Scholar