Let's HPC: A web-based interactive platform to aid High Performance Computing education

Let's HPC (www.letshpc.org) is an open-access online platform to supplement conventional classroom oriented High Performance Computing (HPC) and Parallel & Distributed Computing (PDC) education. The web based platform provides online plotting and analysis tools which allow users to learn, evaluate, teach and see the performance of parallel algorithms from a system's viewpoint. The user can quantitatively compare and understand the importance of numerous deterministic as well as non-deterministic factors of both the software and the hardware that impact the performance of parallel programs. At the heart of this platform is a database archiving the performance and execution environment related data of standard parallel algorithms executed on different computing architectures using different programming environments, this data is contributed by various stakeholders in the HPC community. The plotting and analysis tools of our platform can be combined seamlessly with the database to aid self-learning, teaching, evaluation and discussion of different HPC related topics. Instructors of HPC/PDC related courses can use the platform's tools to illustrate the importance of proper analysis in understanding factors impacting performance, to encourage peer learning among students, as well as to allow students to prepare a standard lab/project report aiding the instructor in uniform evaluation. The platform's modular design enables easy inclusion of performance related data from contributors as well as addition of new features in the future.

[1]  Samuel Williams,et al.  Roofline: an insightful visual performance model for multicore architectures , 2009, CACM.

[2]  Gerhard Wellein,et al.  Introduction to High Performance Computing for Scientists and Engineers , 2010, Chapman and Hall / CRC computational science series.

[3]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[4]  M. J. Quinn,et al.  Parallel Computing: Theory and Practice , 1994 .

[5]  David Kaeli,et al.  Introduction to Parallel Programming , 2013 .

[6]  David P. Bunde Topics in Parallel and Distributed Computing : Introducing Concurrency in Undergraduate Courses , 2015 .

[7]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[8]  Eduard Ayguadé,et al.  Tareador: a tool to unveil parallelization strategies at undergraduate level , 2015, WCAE.

[9]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[10]  Denis Trystram,et al.  Parallel algorithms and architectures , 1995 .

[11]  Vipin Kumar,et al.  Isoefficiency: measuring the scalability of parallel algorithms and architectures , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[12]  Alan H. Karp,et al.  Measuring parallel processor performance , 1990, CACM.

[13]  Rajkumar Buyya,et al.  High-Performance Cloud Computing: A View of Scientific Applications , 2009, 2009 10th International Symposium on Pervasive Systems, Algorithms, and Networks.

[14]  Leonie Kohl,et al.  Parallel Programming In C With Mpi And Open Mp , 2016 .

[15]  Elham Sahebkar Khorasani Algorithms Sequential & Parallel: A Unified Approach , 2007, Scalable Comput. Pract. Exp..

[16]  John L. Gustafson,et al.  Fixed Time, Tiered Memory, and Superlinear Speedup , 1990, Proceedings of the Fifth Distributed Memory Computing Conference, 1990..

[17]  Torsten Hoefler,et al.  Scientific Benchmarking of Parallel Computing Systems Twelve ways to tell the masses when reporting performance results , 2017 .