Top Banner
Teaching Parallel and Distributed Computing Using a Cluster Computing Portal Hong Lin Hong Lin Computer and Mathematical Sciences Computer and Mathematical Sciences University of Houston – Downtown University of Houston – Downtown
29

Outline

Jan 03, 2016

Download

Documents

Juliet Joseph

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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Outline

Teaching Parallel and Distributed Computing Using a Cluster Computing Portal

Hong LinHong LinComputer and Mathematical Sciences Computer and Mathematical Sciences University of Houston – Downtown University of Houston – Downtown

Page 2: Outline

OutlineOutline

BackgroundBackground ApplicationsApplications Teaching PDC Topics in an OS CourseTeaching PDC Topics in an OS Course Evaluation ReportEvaluation Report ConclusionsConclusions

Page 3: Outline

BackgroundBackground

The use of the grid computing The use of the grid computing environment at UHD to support environment at UHD to support research and educationresearch and education

Establishment of the cluster-centered Establishment of the cluster-centered grid and student involvementgrid and student involvement

Faculty/student research projects Faculty/student research projects

Page 4: Outline

Educational grid at UHDEducational grid at UHD

A cluster-based high-performance A cluster-based high-performance platformplatform

To support research in educational To support research in educational training training

To support research in various areasTo support research in various areas a central system for development of a central system for development of

laboratory modules to support laboratory modules to support computer science curriculum computer science curriculum

Page 5: Outline

ArchitectureArchitecture

Page 6: Outline

The ClusterThe Cluster

Page 7: Outline

Project ObjectivesProject Objectives

Dynamic source code handling of Dynamic source code handling of student submissionsstudent submissions

Sequential – C, C++, JavaSequential – C, C++, Java Distributed – C, C++ (MPICH/openMPI), Java Distributed – C, C++ (MPICH/openMPI), Java

and Parallel Javaand Parallel Java Allow remote access to the cluster resourcesAllow remote access to the cluster resources Retain security Retain security Authenticate against existing system usersAuthenticate against existing system users

Page 8: Outline

ApplicationsApplications

FacilitationFacilitation• Distributed programsDistributed programs

On grid.uhd.eduOn grid.uhd.edu

• Aids beginner developersAids beginner developers Remotely upload, compile and execute 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 Home folder file management via Web

BrowserBrowser

Page 9: Outline

GoalsGoals

CompletionCompletion• Code handlingCode handling

C/C++ C/C++ • dynamic make file generationdynamic make file generation• distributiondistribution

Java – compilation and distributionJava – compilation and distribution Design and development of a Design and development of a

web based dynamic UI web based dynamic UI • J2EEJ2EE

Page 10: Outline

Web ApplicationWeb Application

User authenticationUser authentication

Language processingLanguage processing

File managementFile management

Page 11: Outline

Web Portal InterfaceWeb Portal Interface

Page 12: Outline

Web Portal Interface (cont’d)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

Page 13: Outline

Web Portal Interface (cont’d)Web Portal Interface (cont’d)

a. Cropped screen capture prior compilation and execution of a parallel C p rogram 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

Page 14: Outline

Web Portal Interface (cont’d)Web Portal Interface (cont’d)

FFunctionality of the file browser made accessible through the use of buttons

Page 15: Outline

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.”

Page 16: Outline

The Adopting CourseThe 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)

Page 17: Outline

Integration Plan Computer Organization module:

• pipeline• SIMD• MIMD

Operating System Organization module:• Multithreading

Memory Management module:• Memory Hierarchy• Cache• Consistency• Coherence

Page 18: Outline

Integration Plan (cont’d)Integration Plan (cont’d)

Synchronization:• spin lock• test-and-set instructions• semaphore

Deadlock Message Passing:

• Topology• Latency• routing

Page 19: Outline

Programming TopicsProgramming 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

Page 20: Outline

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

Page 21: Outline

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

Page 22: Outline

Sample labSample 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

Page 23: Outline

Learning Outcomes Assessment passing rate on the programming assignments

Multicore Hands-on Experience Passing rate*Multicore Lab 1 Synchronization with Java

50%

Multicore Lab 2 Spin Lock and Cache Coherence

67%

Multicore Lab 3 UMA and NUMA Access 39%Lab for Process and Thread Management

44%

Lab for Basic Synchronization Methods 61%Lab for Deadlock 50%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

Page 24: Outline

Learning Outcomes Assessment (cont’d)

passing rate on multicore questions on exams

Exams Passing rate 1* Passing rate 2**

Midterm 17% 33%

Final 22% 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.

Page 25: Outline

Entrance and exit surveysEntrance and exit surveys

Question 1: How much do you think you know about PDC technology?1) A lot2) Somewhat3) Only a little4) 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?

Page 26: Outline

Survey responsesSurvey responses

Question #

Mean on Entrance Survey

Mean on Exit Survey

1 3.00 2.00

2 2.56 2.38

3 1.33 1.38

4 1.44 1.38

5 2.00 2.75

6 2.22 3.00

comparison of the student responses in two surveys.

Page 27: Outline

Student commentStudent 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. …”

Page 28: Outline

ConclusionsConclusions A web interface for the cluster based grid at a small minority serving A web interface for the cluster based grid at a small minority serving

institution:institution:• implementing a web application to allow access to cluster implementing a web application to allow access to cluster

computational powercomputational power• developing the backend for compilation, execution and distribution of developing the backend for compilation, execution and distribution of

sequential, parallel and interactive applications on the clusters sequential, parallel and interactive applications on the clusters available resourcesavailable resources

• incorporating a file browser allowing the download, and upload of incorporating a file browser allowing the download, and upload of multiple files, their editing and basic file manipulations like copy, multiple files, their editing and basic file manipulations like copy, move, rename.move, rename.

Teaching PDC topics using the platform: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. .

Page 29: Outline

QuestionsQuestions