Building web-based services for practical exercises in parallel and distributed computing

Abstract The paper presents an approach to the design and implementation of web-based environments for practical exercises in parallel and distributed computing (PDC). The presented approach introduces minimal development and operational costs by relying on Everest, a general-purpose platform for building computational web services. The flexibility of proposed service-oriented architecture enables the development of different types of services targeting various use cases and PDC topics. The generic execution services support the execution of different types of parallel and distributed programs on corresponding computing systems, while the assignment evaluation services implement the execution and evaluation of solutions to programming assignments. As was demonstrated by teaching two introductory PDC courses, the presented approach helps to enhance students’ practical experience while avoiding low-level interfaces, reducing the grading time and providing a level of automation necessary for scaling the course to a large number of students. In contrast to other efforts, the exploited Platform as a Service model provides the ability to quickly reuse this approach by other PDC educators without installation of the Everest platform.

[1]  Marek Nowicki,et al.  On-line Service for Teaching Parallel Programming , 2015, Euro-Par Workshops.

[2]  Riccardo Sisto,et al.  A Grid-Powered Framework to Support Courses on Distributed Programming , 2007, IEEE Transactions on Education.

[3]  Bertil Schmidt,et al.  SAUCE: A Web-Based Automated Assessment Tool for Teaching Parallel Programming , 2015, Euro-Par Workshops.

[4]  Juan Touriño,et al.  A grid portal for an undergraduate parallel programming course , 2005, IEEE Transactions on Education.

[5]  Hong Lin Teaching Parallel and Distributed Computing Using a Cluster Computing Portal , 2013, 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum.

[6]  Samantha S. Foley,et al.  OnRamp: A web-portal for teaching parallel and distributed computing , 2017, J. Parallel Distributed Comput..

[7]  Richard A. Brown,et al.  WebMapReduce: an accessible and adaptable tool for teaching map-reduce computing , 2011, SIGCSE '11.

[8]  Kivanc Dincer,et al.  Design issues in building Web-based parallel programming environments , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

[9]  Oleg Sukhoroslov,et al.  Integration and Combined Use of Distributed Computing Resources with Everest , 2016 .

[10]  Wen-mei W. Hwu,et al.  WebGPU: A Scalable Online Development Platform for GPU Programming Courses , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW).

[11]  Valentina Kustikova,et al.  Internet-Oriented Educational Course “Introduction to Parallel Computing”: A Simple Way to Start , 2016 .

[12]  Vivek Sarkar,et al.  Pedagogy and tools for teaching parallel computing at the sophomore undergraduate level , 2017, J. Parallel Distributed Comput..

[13]  Sam Ruby,et al.  RESTful Web Services , 2007 .