A Parallel Programming Course Based on an Execution Time-Energy Consumption Optimization Problem

This paper presents an experience of Problem-based learning in a Parallel Programming course. The course includes the basics of Parallel Programming, from methodological and technological aspects to the analysis and design of parallel algorithms. The students work with an optimization problem in the field of Parallel Computing. The execution time and the energy consumption of a simplified master-slave scheme in a simplified heterogeneous system are optimized, so treating it as a bi-objective optimization problem, which is addressed with sequential, shared-memory, message-passing and hybrid parallel programming. In this way, the students follow the various parts of the syllabus of the course by working with a problem in which topics studied in previous courses are combined (green computing, computational systems architecture, optimization, heuristics), and this contributes to a deeper understanding of these topics and motivates the introduction of new concepts.

[1]  Lars Lundberg,et al.  Optimal Scheduling Results for Parallel Computing , 1996, Applications on Advanced Architecture Computers.

[2]  Javier Cuenca,et al.  An Experience on the Organization of the First Spanish Parallel Programming Contest , 2012 .

[3]  Larry Carter,et al.  Scheduling strategies for master-slave tasking on heterogeneous processor platforms , 2004, IEEE Transactions on Parallel and Distributed Systems.

[4]  Kwang-Ting Cheng,et al.  Fundamentals of algorithms , 2009 .

[5]  José Boaventura Cunha,et al.  Teaching particle swarm optimization through an open‐loop system identification project , 2014, Comput. Appl. Eng. Educ..

[6]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[7]  Zoran Jovanovic,et al.  Reengineering the SLEEP simulator in a concurrent and distributed programming course , 2014, Comput. Appl. Eng. Educ..

[8]  Juraj Hromkovic,et al.  Algorithmics for Hard Problems , 2002, Texts in Theoretical Computer Science An EATCS Series.

[9]  Enrique Alba,et al.  Parallel Metaheuristics: A New Class of Algorithms , 2005 .

[10]  Michael J. O'Grady,et al.  Practical Problem-Based Learning in Computing Education , 2012, TOCE.

[11]  Domingo Giménez,et al.  Using Metaheuristics in a Parallel Computing Course , 2008, ICCS.

[12]  Enrique Alba,et al.  Parallel Genetic Algorithms , 2011, Studies in Computational Intelligence.

[13]  Domingo Giménez,et al.  Analytical Modeling of the Energy Consumption for the High Performance Linpack , 2013, 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[14]  Edwin L. C. Mamani,et al.  Operating System from the Scratch: a Problem-Based Learning Approach for the Emerging Demands on OS Development , 2013, ICCS.

[15]  Melanie Mitchell,et al.  An introduction to genetic algorithms , 1996 .

[16]  Emilio Luque,et al.  Learning parallel programming: a challenge for university students , 2010, ICCS.

[17]  Lauri Malmi,et al.  PBL and Computer Programming — The Seven Steps Method with Adaptations , 2005, Comput. Sci. Educ..

[18]  Michel Gendreau,et al.  Parallel Tabu Search , 2005 .