1 / 29

Outline

Teaching Parallel and Distributed Computing Using a Cluster Computing Portal Hong Lin Computer and Mathematical Sciences University of Houston – Downtown. Outline. Background Applications Teaching PDC Topics in an OS Course Evaluation Report Conclusions. Background.

echapman
Download Presentation

Outline

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teaching Parallel and Distributed ComputingUsing a Cluster Computing PortalHong LinComputer and Mathematical Sciences University of Houston – Downtown

  2. Outline • Background • Applications • Teaching PDC Topics in an OS Course • Evaluation Report • Conclusions

  3. Background • The use of the grid computing environment at UHD to support research and education • Establishment of the cluster-centered grid and student involvement • Faculty/student research projects

  4. Educational grid at UHD • A cluster-based high-performance platform • To support research in educational training • To support research in various areas • a central system for development of laboratory modules to support computer science curriculum

  5. Architecture

  6. The Cluster

  7. Project Objectives Dynamic source code handling of student submissions • Sequential – C, C++, Java • Distributed – C, C++ (MPICH/openMPI), Java and Parallel Java • Allow remote access to the cluster resources • Retain security • Authenticate against existing system users

  8. Applications • Facilitation • Distributed programs • On grid.uhd.edu • Aids beginner developers • Remotely upload, compile and execute • C/C++, Java • Remote access to cluster resources • Home folder file management via Web Browser

  9. Goals • Completion • Code handling • C/C++ • dynamic make file generation • distribution • Java – compilation and distribution • Design and development of a web based dynamic UI • J2EE

  10. Web Application • User authentication • Language processing • File management

  11. Web Portal Interface

  12. b. Selection of serial C and processing type is execution. a. Selection for parallel C++ requesting compilation and execution. Demonstration of different selections Web Portal Interface (cont’d)

  13. b. Cropped screen capture after the execution of the parallel C program a. Cropped screen capture prior compilation and execution of a parallel C program A view of the inputs and results from compilation and execution of a parallel C program Web Portal Interface (cont’d)

  14. Functionality of the file browser made accessible through the use of buttons Web Portal Interface (cont’d)

  15. Teaching Parallel Computing Topics Using the Platform NSF/IEEE-TCPP Curriculum Initiative on Parallel and Distributed Computing “A primary benefit would be for CS/CE students and their instructors to receive periodic guidelines that identify aspects of PDC that are important to cover, and suggested specific core courses in which their coverage might find an appropriate context.”

  16. The Adopting Course • Operating System (CS 4315) • Spring 2012 • traditional systems utilizing a single processor • Resource sharing (processor, memory) • Main modules: device management, process and resource management, and storage management (main memory and file system management)

  17. Integration Plan • Computer Organization module: • pipeline • SIMD • MIMD • Operating System Organization module: • Multithreading • Memory Management module: • Memory Hierarchy • Cache • Consistency • Coherence

  18. Integration Plan (cont’d) • Synchronization: • spin lock • test-and-set instructions • semaphore • Deadlock • Message Passing: • Topology • Latency • routing

  19. Programming Topics Shared memory: Task/thread spawning (Java, Pthread) Distributed memory: SPMD (MPI) Closed labs: Sample codes were provided to students to skip learning new languages

  20. Evaluation • difficulty to integrate the new topics into the existing course: • interweaving PDC topics into the existing uni-processor based topics • traditional topics must be still covered • feedbacks from the students: • Entrance and exit surveys • Closed labs • Questionnaire: whether the topics were interesting, the depth of the topics, and the pace of the class

  21. Design of the Course Modules • existing course modules (e.g., synchronization and deadlock) • Additional course modules • On PDC topics: • 6 closed labs • 1 programming assignment

  22. Sample lab • Multicore Lab 3 UMA and NUMA Access: • Using Pthread and MPI to simulate and evaluate the access times to local shared memory and the access times to remote memory. • Access to local memory – spin lock • Access to remote memory – message-passing

  23. Learning Outcomes Assessment Note*: Passing rate is the percentage of the students who have scored at least 70 out of 100 passing rate on the programming assignments

  24. Learning Outcomes Assessment (cont’d) Note*: Passing rate 1 is the percentage of the students who have scored at least 70 out of 100 among the entire class. Note**: Passing rate 2 is the percentage of the students who have scored at least 70 out of 100 among the students who received a passing grade (C or up) for the course. passing rate on multicore questions on exams

  25. Entrance and exit surveys • Question 1: How much do you think you know about PDC technology? • A lot • Somewhat • Only a little • Not at all • Question 6: In a scale of 1 to 5, rate your knowledge about multi-threading using Pthread with 1 being the least knowledge and 5 being the full knowledge?

  26. Survey responses comparison of the student responses in two surveys.

  27. Student comment “I find the topic interesting as well as useful when programming applications for multi-core devices, but I personally find the topic to be complex and too much to cover in an Introduction class. I understand the need to push out as much information as possible, but from a students perspective that is still very new learning about multi-core processing and the CS curriculum being so broad, I would of liked to gone through more examples during class time to get a better understanding and take more time to learn each topic. Also programming some labs and projects in different languages is extremely hard when you don't know the programming language that well. …”

  28. Conclusions • A web interface for the cluster based grid at a small minority serving institution: • implementing a web application to allow access to cluster computational power • developing the backend for compilation, execution and distribution of sequential, parallel and interactive applications on the clusters available resources • incorporating a file browser allowing the download, and upload of multiple files, their editing and basic file manipulations like copy, move, rename. • Teaching PDC topics using the platform: • case study of using an operating system course as the adopting course. • Mingle add-on topics with existing topics seamlessly. • Use closed labs. • evaluation of teaching PDC topics indicated positive learning outcomes and student feedback. • establishing necessary computing platforms in an undergraduate institution to support experiments on newly emerged computer architectures.

  29. Questions

More Related