Teaching Parallel and Distributed Computing Concepts in Simulation with WRENCH

Teaching topics related to high performance com- puting and parallel and distributed computing in a hands-on manner is challenging, especially at introductory, undergraduate levels. There is a participation challenge due to the need to secure access to a platform on which students can learn via hands-on activities, which is not always possible. There are also pedagogic challenges. For instance, any particular platform provided to students imposes constraints on which learning objectives can be achieved. These challenges become steeper as the topics being taught target more heterogeneous, more distributed, and/or larger platforms, as needed to prepare students for using and developing Cyberinfrastructure. To address the above challenges, we have developed a set of pedagogic activities that can be integrated piecemeal in university courses, starting at freshman levels. These activities use simulation so that students can experience hands-on any relevant application and platform scenarios. This is achieved by capitalizing on the capabilities of the WRENCH and SimGrid simulation frameworks. After describing our approach and the pedagogic activities currently available, we present results from an evaluation performed in an undergraduate university course.

[1]  Jesús Carretero,et al.  Design of a New Cloud Computing Simulation Platform , 2011, ICCSA.

[2]  Henri Casanova,et al.  WRENCH: A Framework for Simulating Workflow Management Systems , 2018, 2018 IEEE/ACM Workflows in Support of Large-Scale Science (WORKS).

[3]  P. Marshall,et al.  Virtual Clusters for Hands-on Linux Cluster Construction Education , 2010 .

[4]  Charles Peck,et al.  LittleFe: The high performance computing education appliance , 2013, 2013 IEEE International Conference on Cluster Computing (CLUSTER).

[5]  Omar Abuzaghleh,et al.  Implementing an affordable high-performance computing for teaching-oriented computer science curriculum , 2013, TOCE.

[6]  Rajkumar Buyya,et al.  GridSim: a toolkit for the modeling and simulation of distributed resource management and scheduling for Grid computing , 2002, Concurr. Comput. Pract. Exp..

[7]  Joseph A. Driscoll,et al.  A low-cost computer cluster for high-performance computing education , 2014, IEEE International Conference on Electro/Information Technology.

[8]  Arnaud Legrand,et al.  Accuracy study and improvement of network simulation in the SimGrid framework , 2009, SIMUTools 2009.

[9]  Jian Zhang,et al.  Learning Cluster Computing by Creating a Raspberry Pi Cluster , 2017, ACM Southeast Regional Conference.

[10]  S. Krause,et al.  OverSim: A Flexible Overlay Network Simulation Framework , 2007, 2007 IEEE Global Internet Symposium.

[11]  E. Kozinov,et al.  Learning Parallel Computations with ParaLab , 2015 .

[12]  Laxmikant V. Kalé,et al.  BigSim: a parallel simulator for performance prediction of extremely large parallel machines , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[13]  Nicholas Aaron Robison,et al.  Comparison of VM deployment methods for HPC education , 2012, RIIT '12.

[14]  Suzanne J. Matthews,et al.  Teaching Parallel and Distributed Computing with MPI on Raspberry Pi Clusters: (Abstract Only) , 2018, SIGCSE.

[15]  Márk Jelasity,et al.  PeerSim: A scalable P2P simulator , 2009, 2009 IEEE Ninth International Conference on Peer-to-Peer Computing.

[16]  Henri Casanova,et al.  On the validity of flow-level tcp network models for grid and cloud simulations , 2013, TOMC.

[17]  Thomas Phan,et al.  Parallel Simulation of Large-Scale Parallel Applications , 2001, Int. J. High Perform. Comput. Appl..

[18]  A. Lumsdaine,et al.  LogGOPSim: simulating large-scale applications in the LogGOPS model , 2010, HPDC '10.

[19]  Victor P. Gergel,et al.  The ParaLab System for Investigating the Parallel Algorithms , 2010, MTPP.

[20]  Emilio Luque,et al.  A quantitative approach for teaching parallel computing , 1992, SIGCSE '92.

[21]  Kurt Stockinger,et al.  OptorSim-A Grid Simulator for Studying Dynamic Data Replication Strategies , 2003 .

[22]  Charles Shubert,et al.  StarHPC — Teaching parallel programming within elastic compute cloud , 2009, Proceedings of the ITI 2009 31st International Conference on Information Technology Interfaces.

[23]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[24]  Arnaud Legrand,et al.  Toward Better Simulation of MPI Applications on Ethernet/TCP Networks , 2013, PMBS@SC.

[25]  Henri Casanova,et al.  Speed and accuracy of network simulation in the SimGrid framework , 2007, Valuetools 2007.

[26]  A. Pears Using the Dist Simulator to Teach Parallel Computing Concepts , .

[27]  Arnaud Legrand,et al.  Adding Storage Simulation Capacities to the SimGrid Toolkit: Concepts, Models, and API , 2015, 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[28]  Radu Prodan,et al.  Dynamic Cloud provisioning for scientific Grid workflows , 2010, 2010 11th IEEE/ACM International Conference on Grid Computing.

[29]  Bruce P. Lester The art of parallel programming , 1993 .

[30]  George F. Riley,et al.  The ns-3 Network Simulator , 2010, Modeling and Tools for Network Simulation.

[31]  Gabor Kecskemeti,et al.  DISSECT-CF: A simulator to foster energy-aware scheduling in infrastructure clouds , 2015, Simul. Model. Pract. Theory.

[32]  R. M. Fujimoto,et al.  Parallel discrete event simulation , 1989, WSC '89.

[33]  Henri Casanova,et al.  SMPI Courseware: Teaching Distributed-Memory Computing with MPI in Simulation , 2018, 2018 IEEE/ACM Workshop on Education for High-Performance Computing (EduHPC).

[34]  Emilio Luque,et al.  An Innovative Teaching Strategy to Understand High-Performance Systems through Performance Evaluation , 2012, ICCS.

[35]  J. D. Hartman,et al.  Teaching parallel processing using free resources , 1996, Technology-Based Re-Engineering Engineering Education Proceedings of Frontiers in Education FIE'96 26th Annual Conference.

[36]  Rolf Riesen,et al.  Instruction-level simulation of a cluster at scale , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[37]  Michael Laurenzano,et al.  PSINS: An Open Source Event Tracer and Execution Simulator , 2009, 2009 DoD High Performance Computing Modernization Program Users Group Conference.

[38]  David P. Anderson,et al.  EmBOINC: An emulator for performance analysis of BOINC projects , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[39]  Patricia J. Teller,et al.  SimBA: A Discrete Event Simulator for Performance Prediction of Volunteer Computing Projects , 2007, 21st International Workshop on Principles of Advanced and Distributed Simulation (PADS'07).

[40]  Henri Casanova,et al.  Versatile, scalable, and accurate simulation of distributed applications and platforms , 2014, J. Parallel Distributed Comput..

[41]  Christopher D. Carothers,et al.  ROSS: a high-performance, low memory, modular time warp system , 2000, PADS '00.

[42]  Radu Prodan,et al.  Fostering Energy-Awareness in Simulations behind Scientific Workflow Management Systems , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[43]  Harold Enrique Castro Barrera,et al.  Desktop Grids and Volunteer Computing Systems , 2012 .