Songjie Wang, R. Neupane, Ashish Pandey, Xiyao Cheng, P. Calyam
{"title":"Online Learning Platform for Application-Inspired Cloud and DevOps Curriculum","authors":"Songjie Wang, R. Neupane, Ashish Pandey, Xiyao Cheng, P. Calyam","doi":"10.1109/HiPCW54834.2021.00012","DOIUrl":"https://doi.org/10.1109/HiPCW54834.2021.00012","url":null,"abstract":"Cloud-hosted services are being increasingly used in hosting business applications due to cost effectiveness, scalability, and ease of deployment. To facilitate rapid development, change and release process of cloud-hosted applications, the area of Development and Operations (DevOps) is fast evolving. It is necessary to train the future generation of application development professionals such that they are knowledgeable in the continuous integration and continuous delivery automation. In this paper, we present the design and development of our “Mizzou Cloud DevOps platform”, an online platform to learn cutting-edge Cloud and DevOps tools/technologies using open/public cloud infrastructures for wide adoption amongst instructors/students. Our learning platform features scalability, flexibility, and extend ability in providing Cloud and DevOps concepts knowledge and hands-on skills. We detail our “application-inspired learning” methodology that is based on integration of real-world application use cases in four learning modules that include laboratory exercises and self-study activities using realistic cloud/HPC-based application testbeds. We describe the learning modules that allow students to gain skills in using latest technologies (e.g., containerization, cluster and edge computing, data pipeline automation) to implement relevant security, monitoring, and adaptation mechanisms. Lastly, we evaluate our platform via a knowledge growth study survey with instructors and students.","PeriodicalId":227669,"journal":{"name":"2021 IEEE 28th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131424889","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching High Productivity and High Performance in an Introductory Parallel Programming Course","authors":"Vivek Kumar","doi":"10.1109/HiPCW54834.2021.00010","DOIUrl":"https://doi.org/10.1109/HiPCW54834.2021.00010","url":null,"abstract":"Multicore processors are ubiquitous. Several prior research has emphasized the need for high productivity parallel programming models that require minimal changes to the sequential program and can still deliver high performance using runtimes based approaches on various architectures. In this paper, we present the structure and experience of teaching the Foundations of Parallel Programming course (FPP) at IIIT Delhi using a task-based parallel programming model, Habanero C/C++ Library (HClib). FPP covers a wide breadth of topics in parallel programming but emphasizes both high productivity and high performance. It is being offered at IIIT Delhi in the spring semester for undergraduate and postgraduate students since 2017. We describe our novel approach where the students start the learning process using the traditional parallel programming models, discover the underlying limitations, and build runtime solutions to achieve high performance.","PeriodicalId":227669,"journal":{"name":"2021 IEEE 28th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)","volume":"67 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115656368","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching Parallel and Distributed Computing Concepts Using OpenMPI and Java","authors":"Joel C. Adams","doi":"10.1109/HiPCW54834.2021.00008","DOIUrl":"https://doi.org/10.1109/HiPCW54834.2021.00008","url":null,"abstract":"The ACM/IEEE CS 2013 curriculum recommendations state that every undergraduate CS major should learn about parallel and distributed computing (PDC). One way to accomplish this is to teach students about the Message Passing Interface (MPI), a platform that is commonly used on modern supercomputers and Beowulf clusters, but can also be used on a Network of Workstations (NoW), or a multicore laptop or desktop. MPI incorporates many PDC concepts and can serve as a platform for hands-on learning activities in which students must apply those concepts. The MPI standard defines language bindings for Fortran and C/C++, but many university instructors lack expertise in these languages, preventing them from using MPI in their courses. OpenMPI is a free implementation of the MPI standard that also provides Java bindings for MPI. This paper describes how to install OpenMPI with these Java bindings; to illustrate the use of these bindings, the paper also presents several patternlets-minimalist example programs-that show how to implement PDC design patterns using OpenMPI and Java. This provides a new means of introducing students to PDC concepts.","PeriodicalId":227669,"journal":{"name":"2021 IEEE 28th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122844672","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"EduHiPC 2021 Keynote Talk Early Parallel and Distributed Computing Education: Canary in the Coal Mine","authors":"Charles Weems","doi":"10.1109/hipcw54834.2021.00002","DOIUrl":"https://doi.org/10.1109/hipcw54834.2021.00002","url":null,"abstract":"","PeriodicalId":227669,"journal":{"name":"2021 IEEE 28th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)","volume":"150 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116353965","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"We Need Community Effort to Achieve PDC Adoption!","authors":"Erik Saule, K. Subramanian, Jamie Payton","doi":"10.1109/HiPCW54834.2021.00013","DOIUrl":"https://doi.org/10.1109/HiPCW54834.2021.00013","url":null,"abstract":"The Center for Parallel and Distributed Computing Curriculum Development and Educational Resources (CDER) released a PDC guideline in 2012 and soon after IEEE/ACM included PDC topics in their CS curriculum guidelines in 2013. CDER is currently working to update the PDC guidelines. The primary strategy to achieve adoption of PDC in early CS course is the courseware approach where pedagogical materials are developed and made available for instructors to integrate PDC content into their courses. content. Despite the creation of many new materials, adoption of PDC content has been fairly slow. In this position paper, we present a framework to classify the marks one need to hit to develop courseware that is adoptable, portable, engaging, and easy to find. We review some of the efforts to improve PDC adoption in the US and we hypothesize that these efforts have not consistently exhibited the attributes necessary for wide adoption. Our position is that while the courseware that have been developed by the community are essential stepping stones, we will not see PDC adoption until a larger community can be brought to bear on the problem. We need to enable composing and remixing the existing materials and develop new materials to cover the needs of a diverse range of institutions.","PeriodicalId":227669,"journal":{"name":"2021 IEEE 28th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134172356","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
P. Dewan, Samuel George, Bowen Gu, Zhizhou Liu, Hao Wang, Andrew Wortas
{"title":"Broad Awareness of Unseen Work on a Concurrency-Based Assignment","authors":"P. Dewan, Samuel George, Bowen Gu, Zhizhou Liu, Hao Wang, Andrew Wortas","doi":"10.1109/HiPCW54834.2021.00009","DOIUrl":"https://doi.org/10.1109/HiPCW54834.2021.00009","url":null,"abstract":"During the Covid pandemic, we gave a Java assignment that exercised threads, synchronization, and coordination and wrote tests to check each concurrency aspect of the assignment. We used four different technologies to record events related to work on this assignment: the Piazza discussion forum, the Zoom conferencing system, an Eclipse plugin, and a testing framework. The recorded data have given the instructors of the course broad awareness of several aspects of student work: How much time did a student spend on an assignment? How many attempts students made on thread, synchronization, and coordination tests before they reached their final scores? How many times did they go to Piazza or use Zoom-supported office-hour visits to fix concurrency problems, and what was the nature of these problems? How effective was Zoom transcription to classify the office hour problems? How long and effective were the office hour visits, and to what extent was screen sharing used during these visits? To what extent did students use the tests to determine if they had met assignment requirements? These data, in turn, have provided us with preliminary answers to a variety of questions we had about unseen work and the concurrency aspects of the assignment. While the answers may be specific to our assignment, the questions answered by these mechanisms can be expected to apply to other settings.","PeriodicalId":227669,"journal":{"name":"2021 IEEE 28th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127836376","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"HPC@SCALE: A Hands-on Approach for Training Next-Gen HPC Software Architects","authors":"T. Islam, Chase Phelps","doi":"10.1109/HiPCW54834.2021.00011","DOIUrl":"https://doi.org/10.1109/HiPCW54834.2021.00011","url":null,"abstract":"High Performance Computing (HPC) systems enable multi-scale simulations to gain meaningful insights into otherwise experimentally intractable phenomena such as climate change and destabilizing drug-protein interactions to cure cancer. High levels of parallelism and heterogeneous architectures in these systems offer unprecedented computational capability at the cost of complexity and dynamism. Recent efforts in workforce development have focused on preparing students with the background to write a program for these complex heterogeneous platforms successfully [1]. However, computing is only one of the three tasks an HPC application performs; the other two are communication and I/O. Since network bandwidth is not scaling proportionately with computational capabilities, moving the large volume of data generated by these applications through the network slows down scientific progress. A high-level datadriven analysis shows that most existing curricula do not prepare students to consider design choices to scale parallel I/O, which is a crucial building component of an end-to-end system. At its core, the problem of scaling data-intensive applications is common in both high-performance, high-throughput, and Cloud computing environments, so any training in that regard will have a broad impact. To fill this gap, we have designed a new course called HPC@SCALE to train students at Texas State University in building scalable end-to-end system software focusing on minimizing parallel I/O.","PeriodicalId":227669,"journal":{"name":"2021 IEEE 28th International Conference on High Performance Computing, Data and Analytics Workshop (HiPCW)","volume":"120 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116743113","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}