Download presentation
Presentation is loading. Please wait.
Published byKelly Bryan Modified over 9 years ago
1
Hong Lin Computer and Mathematical Sciences University of Houston – Downtown Teaching Parallel and Distributed Computing Using a Cluster Computing Portal Hong Lin Computer 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 programsDistributed programs On grid.uhd.edu Aids beginner developersAids beginner developers Remotely upload, compile and execute C/C++, JavaC/C++, Java Remote access to cluster resourcesRemote access to cluster resources Home folder file management via Web BrowserHome folder file management via Web Browser
9
Goals Goals Completion Code handlingCode handling C/C++ dynamic make file generationdynamic make file generation distributiondistribution Java – compilation and distribution Design and development of a web based dynamic UI J2EEJ2EE
10
Web Application User authentication Language processing File management
11
Web Portal Interface
12
Web Portal Interface (cont’d) a. Selection for parallel C++ requesting compilation and execution. b. Selection of serial C and processing type is execution. Demonstration of different selections
13
Web Portal Interface (cont’d) a. Cropped screen capture prior compilation and execution of a parallel C program b. Cropped screen capture after the execution of the parallel C program A view of the inputs and results from compilation and execution of a parallel C program
14
Web Portal Interface (cont’d) FFunctionality of the file browser made accessible through the use of buttons
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 passing rate on the programming assignments Multicore Hands-on ExperiencePassing rate* Multicore Lab 1 Synchronization with Java 50% Multicore Lab 2 Spin Lock and Cache Coherence 67% Multicore Lab 3 UMA and NUMA Access39% Lab for Process and Thread Management 44% Lab for Basic Synchronization Methods61% Lab for Deadlock50% Programming Assignment 3 Bounded Buffer Problem 56% Note*: Passing rate is the percentage of the students who have scored at least 70 out of 100
24
Learning Outcomes Assessment (cont’d) passing rate on multicore questions on exams ExamsPassing rate 1*Passing rate 2** Midterm17%33% Final22%80% 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.
25
Entrance and exit surveys Question 1: How much do you think you know about PDC technology? 1) 1)A lot 2) 2)Somewhat 3) 3)Only a little 4) 4)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 Question # Mean on Entrance Survey Mean on Exit Survey 13.002.00 22.562.38 31.331.38 41.441.38 52.002.75 62.223.00 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 powerimplementing 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 resourcesdeveloping 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.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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.