Abstract
Present heterogeneous architectures interconnect nodes including multiple multi-core microprocessors and accelerators that allow different strategies to accelerate the applications and optimize their energy consumption according to the specific power-performance trade-offs. In this paper, a multilevel parallel procedure is proposed to take advantage of all nodes of a heterogeneous CPU–GPU cluster. Two more alternatives have been implemented, and experimentally compared and analyzed from both running time and energy consumption. Although the paper considers an evolutionary master–worker algorithm for feature selection in EEG classification, the conclusions from the experimental analysis here provided can be frequently applied, as many other useful bioinformatics and data mining applications show the same master–worker profile than the classification problem here considered. Our parallel approach allows to reduce the time by a factor of up to 83, with only about a 4.9% of energy consumed by the sequential procedure, in a cluster with 36 CPU cores and 43 GPU compute units.
Similar content being viewed by others
References
O’brien K, Pietri I, Reddy R, Lastovetsky A, Sakellariou R (2017) A survey of power and energy predictive models in HPC systems and applications. ACM Comput Surv 50(3):37:1–37:38
Zhang Y, Hu X. Chen D (2002) Task scheduling and voltage selection for energy minimization. In: Proceedings of the 39th Annual Design Automation Conference. DAC’2002, ACM, New Orleans, Louisiana, USA, pp 183–188
Baskiyar S, Abdel-Kader R (2010) Energy aware dag scheduling on heterogeneous systems. Clust Comput 13(4):373–383
Lee Y, Zomaya A (2011) Energy conscious scheduling for distributed computing systems under different operating conditions. IEEE Trans Parallel Distrib Syst 22(8):1374–1381
Dorronsoro B, Nesmachnow S, Taheri J, Zomaya A, Talbi EG, Bouvry P (2014) A hierarchical approach for energy-efficient scheduling of large workloads in multicore distributed systems. Sustain Comput Inform Syst 4(4):252–261
Barik R, Farooqui N, Lewis B, Hu C, Shpeisman T (2016) A black-box approach to energy-aware scheduling on integrated CPU–GPU systems. In: Proceedings of the 2016 International Symposium on Code Generation and Optimization. CGO’2016, ACM, Barcelona, Spain, pp 70–81
Ortega J, Asensio-Cubero J, Gan J, Ortiz A (2016) Classification of motor imagery tasks for BCI with multiresolution analysis and multiobjective feature selection. BioMed Eng OnLine 15(1):149–164
Raju K, Niranjan N (2018) A survey on techniques for cooperative CPU–GPU computing. Sustain Comput Inform Syst 19:72–85
Mittal S, Vetter J (2014) A survey of methods for analyzing and improving GPU energy efficiency. ACM Comput Surv 47(2):19:1–19:23
Escobar J, Ortega J, Díaz A, González J, Damas M (2018) Speedup and energy analysis of EEG classification for BCI tasks on CPU–GPU clusters. In: Proceedings of the 6th International Workshop on Parallelism in Bioinformatics. PBIO’2018, ACM, Barcelona, Spain, pp 33–43
Vidal P, Alba E, Luna F (2017) Solving optimization problems using a hybrid systolic search on GPU plus CPU. Soft Comput 21(12):3227–3245
Luong T, Melab N, Talbi E.G (July 2010) gPU-based island model for evolutionary algorithms. In: Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation. GECCO’2010, ACM, Portland, OR, USA, pp 1089–1096
Pospichal P, Jaros J, Schwarz J (2010) Parallel genetic algorithm on the cuda architecture. In: Proceedings of the 13th European Conference on the Applications of Evolutionary Computation. EvoApplications’2010, Springer, Istambul, Turkey, pp 442–451
Sharma D, Collet P (2013) Implementation techniques for massively parallel multi-objective optimization. In: Tsutsui S, Collet P (eds) Massively parallel evolutionary computation on GPGPUs. Natural computing series. Springer, Berlin, pp 267–286
Wong M, Cui G (2013) Data mining using parallel multi-objective evolutionary algorithms on graphics processing units. In: Tsutsui S, Collet P (eds) Massively parallel evolutionary computation on GPGPUs. Natural computing series. Springer, Berlin, pp 287–307
Gainaru A, Slusanschi E, Trausan-Matu S (2011) Mapping data mining algorithms on a gpu architecture: a study. In: Proceedings of the 19th International Symposium. Foundations of Intelligent Systems. ISMIS’2011, Springer, Warsaw, Poland, pp 102–112
Coello Coello C, Sierra M (2004) A study of the parallelization of a coevolutionary multi-objective evolutionary algorithm. In: Proceedings of the 3rd Mexican International Conference on Artificial Intelligence. MICAI’2004, Springer, Mexico City, Mexico, pp 688–697
Pruhs K, Stee R, Uthaisombut P (2008) Speed scaling of tasks with precedence constraints. Theory Comput Syst 43(1):67–80
Rotem E, Weiser U, Mendelson A, Ginosar R, Weissmann E, Aizik Y (2016) H-earth: heterogeneous multicore platform energy management. IEEE Comput Mag 49(10):47–55
Nesmachnow S, Dorronsoro B, Pecero J, Bouvry P (2013) Energy-aware scheduling on multicore heterogeneous grid computing systems. J Grid Comput 11(4):653–680
Valentini G, Lassonde W, Khan S, Min-Allah N, Madani S, Li J, Zhang L, Wang L, Ghani N, Kolodziej J, Li H, Zomaya A, Xu CZ, Balaji P, Vishnu A, Pinel F, Pecero J, Kliazovich D, Bouvry P (2013) An overview of energy efficiency techniques in cluster computing systems. Clust Comput 16(1):3–15
Hong S, Kim H (2010) An integrated GPU power and performance model. SIGARCH Comput Arch News 38(3):280–289
Ge R, Feng X, Burtscher M, Zong Z (2014) Peach: a model for performance and energy aware cooperative hybrid computing. In: Proceedings of the 11th ACM Conference on Computing Frontiers. CF’2014, ACM, Cagliari, Italy, pp 24:1–24:2
De Sensi D (2016) Predicting performance and power consumption of parallel applications. In: Proceedings of the 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing. PDP’2016, IEEE, Heraklion Crete, Greece, pp 200–207
Marowka A (2012) Energy consumption modeling for hybrid computing. In: Proceedings of the 18th International Conference on Parallel Processing, Euro-Par 2012. Euro-Par’2012, Springer, Rhodes Island, Greece, pp 54–64
Ma K, Li X, Chen W, Zhang C, Wang X (2012) Greengpu: a holistic approach to energy efficiency in GPU–CPU heterogeneous architectures. In: Proceedings of the 41st International Conference on Parallel Processing. ICPP’2012, IEEE, Pittsburgh, PA, USA, pp 48–57
Allen T, Ge R (2016) Characterizing power and performance of GPU memory access. In: Proceedings of the 4th International Workshop on Energy Efficient Supercomputing. E2SC’2016, IEEE Press, Salt Lake City, Utah, USA, pp 46–53
Escobar J, Ortega J, Díaz A, González J, Damas M (2018) Energy-aware load balancing of parallel evolutionary algorithms with heavy fitness functions in heterogeneous CPU–GPU architectures. Concurrency and Computation: Practice and Experience, p e4688
Free Software Foundation: GNU gprof documentation. https://ftp.gnu.org/pub/old-gnu/Manuals/gprof-2.9.1/html_node/gprof_toc.html. Accessed 10 Feb 2017
Guyon I, Elisseeff A (2003) An introduction to variable and feature selection. J Mach Learn Res 3:1157–1182
Charikar M, Guruswami V, Kumar R, Rajagopalan S, Sahai A (2000) Combinatorial feature selection problems. In: Proceedings of the 41st Annual Symposium on Foundations of Computer Science. FOCS’2000, IEEE, Redondo Beach, CA, USA, pp 631–640
Khronos Group: Khronos opencl registry (2015). https://www.khronos.org/registry/cl/. Accessed 30 Nov 2015
OpenMP Community: Openmp specifications. http://www.openmp.org/specifications/. Accessed 21 Nov 2016
Escobar J, Ortega J, Díaz A, González J, Damas M (2018) Multi-objective feature selection for eeg classification with multi-level parallelism on heterogeneous CPU–GPU clusters. In: Proceedings of the Annual Conference on Genetic and Evolutionary Computation. GECCO’2018, ACM, Kyoto, Japan, pp 1862–1869
The Open MPI Project: Openmpi documentation. https://www.open-mpi.org/doc/. Accessed 19 Nov 2018
Escobar J, Ortega J, González J, Damas M (2016) Assessing parallel heterogeneous computer architectures for multiobjective feature selection on EEG classification. In: Proceedings of the 4th International Conference on Bioinformatics and Biomedical Engineering. IWBBIO’2016, Springer, Granada, Spain, pp 277–289
Escobar J, Ortega J, González J, Damas M (2016) Improving memory accesses for heterogeneous parallel multi-objective feature selection on EEG classification. In: Proceedings of the 4th International Workshop on Parallelism in Bioinformatics. PBIO’2016, Springer, Grenoble, France, pp 372–383
Escobar J, Ortega J, González J, Damas M, Díaz A (2017) Parallel high-dimensional multi-objective feature selection for EEG classification with dynamic workload balancing on CPU–GPU. Clust Comput 20(3):1881–1897
Asensio-Cubero J, Gan J, Palaniappan R (2013) Multiresolution analysis over simple graphs for brain computer interfaces. J Neural Eng 10(4):21–26
Zitzler E, Thiele L (1998) Multiobjective optimization using evolutionary algorithms—a comparative case study. In: Proceedings of the 5th International Conference on Parallel Problem Solving from Nature. PPSN V, Springer, Amsterdam, The Netherlands, pp 292–301
Zitzler E (1999) Evolutionary algorithms for multiobjective optimization: methods and applications. Shaker Verlag, Herzogenrath
Sîrbu A, Babaoglu O (2016) Power consumption modeling and prediction in a hybrid CPU–GPU–MIC supercomputer. In: Proceedings of the 22nd International Conference on Parallel Processing, Euro-Par 2016. Euro-Par’2016, Springer, Grenoble, France, pp 117–130
Advanced Configuration and Power Interface (ACPI): Acpi specification. http://www.acpi.info/spec.htm. Accessed 30 Nov 2018
CPUFreq Governors: information for users and developers. https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt. Accessed 30 Nov 2018
Mathworks: Matlab histfit function. https://mathworks.com/help/stats/histfit.html. Accessed 02 Dec 2018
Acknowledgements
We would like to thank the BCI laboratory of the University of Essex, especially prof. John Q. Gan, for allowing us to use their databases
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This research has been funded by the Spanish “Ministerio de Ciencia, Innovación y Universidades” through the Grant PGC2018-098813-B-C31 and the ERDF funds.
Rights and permissions
About this article
Cite this article
Escobar, J.J., Ortega, J., Díaz, A.F. et al. Time-energy analysis of multilevel parallelism in heterogeneous clusters: the case of EEG classification in BCI tasks. J Supercomput 75, 3397–3425 (2019). https://doi.org/10.1007/s11227-019-02908-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-019-02908-4