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

Slides:



Advertisements
Similar presentations
CONCEPTUAL WEB-BASED FRAMEWORK IN AN INTERACTIVE VIRTUAL ENVIRONMENT FOR DISTANCE LEARNING Amal Oraifige, Graham Oakes, Anthony Felton, David Heesom, Kevin.
Advertisements

Distributed Systems CS
Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan.
SE-292 High Performance Computing
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
1 Introduction to MIMD Architectures Sima, Fountain and Kacsuk Chapter 15 CSE462.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Course: Operating Systems Instructor: Umar Kalim NUST Institute of Information Technology, Pakistan Operating Systems.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Lecture 1: Introduction CS170 Spring 2015 Chapter 1, the text book. T. Yang.
1 I/O Management in Representative Operating Systems.
Introduction to Parallel Processing Ch. 12, Pg
CS 470/570:Introduction to Parallel and Distributed Computing.
Multimedia Tutorials for an Electrical and Computer Engineering Course S. Supanakorn, University of Wyoming and R. Thamvichai, Saint Cloud University.
Jawwad A Shamsi Nouman Durrani Nadeem Kafi Systems Research Laboratories, FAST National University of Computer and Emerging Sciences, Karachi Novelties.
Introducing Enterprise Technologies David Dischiave Syracuse University School of Information Studies “The original iSchool” June 3, 2013 Information School,
Parallel and Distributed Computing in CS2013 Mehran Sahami Computer Science Department Stanford University.
Early Adopter Introduction to Parallel Computing: Research Intensive University: 4 th Year Elective Bo Hong Electrical and Computer Engineering Georgia.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
Computer System Architectures Computer System Software
OpenMP in a Heterogeneous World Ayodunni Aribuki Advisor: Dr. Barbara Chapman HPCTools Group University of Houston.
Advanced Operating Systems CIS 720 Lecture 1. Instructor Dr. Gurdip Singh – 234 Nichols Hall –
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Integrating Parallel and Distributed Computing Topics into an Undergraduate CS Curriculum Andrew Danner & Tia Newhall Swarthmore College Third NSF/TCPP.
CIS4930/CDA5125 Parallel and Distributed Systems Florida State University CIS4930/CDA5125: Parallel and Distributed Systems Instructor: Xin Yuan, 168 Love,
Parallel and Distributed Systems Instructor: Xin Yuan Department of Computer Science Florida State University.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
Hands-On Exploration of Parallelism for Absolute Beginners With Scratch Steven Bogaerts Department of Mathematics & Computer Science Wittenberg University.
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology.
Introducing Every CS Major to Parallel Programming: Baby Steps at Ohio State Gagan Agrawal Feng Qin P. Sadayappan.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
1 IDLOOPC1998. Object-Oriented Programming Using C++ CLASS 1.
Fall-11: Early Adoption of NSF/TCPP PDC Curriculum at Texas Tech University and Beyond Yong Chen Yu Zhuang Noe Lopez-Benitez May 10 th, 2013.
Multi-Semester Effort and Experience to Integrate NSF/IEEE-TCPP PDC into Multiple Department- wide Core Courses of Computer Science and Technology Department.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
Application Software System Software.
Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College.
Building Security In January 2009 Workshop Harry Hochheiser, Building Security In: January 2009 Workshop Harry Hochheiser Towson.
CS533 Concepts of Operating Systems Jonathan Walpole.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Course Introduction David Ferry, Chris Gill Department of Computer Science and Engineering Washington University, St. Louis MO 1E81.
August 13, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 11: Multiprocessors: Uniform Memory Access * Jeremy R. Johnson Monday,
CPE432: Computer Design Course Introduction Dr. Gheith Abandah د. غيث علي عبندة.
Background Computer System Architectures Computer System Software.
Incorporating PDC Topics into University Level Digital Principles Class Abstract: Digital Computer Principles (CSC 115) is a university wide freshman level.
Elec/Comp 526 Spring 2015 High Performance Computer Architecture Instructor Peter Varman DH 2022 (Duncan Hall) rice.edux3990 Office Hours Tue/Thu.
PERFORMANCE OF THE OPENMP AND MPI IMPLEMENTATIONS ON ULTRASPARC SYSTEM Abstract Programmers and developers interested in utilizing parallel programming.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Introduction to threads
Introduction to Operating Systems
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
Advanced Operating Systems CIS 720
CS5102 High Performance Computer Systems Thread-Level Parallelism
Processes and Threads Processes and their scheduling
Computer Systems Summary
Lecture 1: Parallel Architecture Intro
CS 456 Interactive Software.
Distributed Systems CS
Concurrency: Mutual Exclusion and Process Synchronization
MPJ: A Java-based Parallel Computing System
EE 4xx: Computer Architecture and Performance Programming
Chapter 4 Multiprocessors
Presentation transcript:

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

Outline  Background  Applications  Teaching PDC Topics in an OS Course  Evaluation Report  Conclusions

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

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

Architecture

The Cluster

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

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

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

Web Application  User authentication  Language processing  File management

Web Portal Interface

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

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

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

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

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)

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

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

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

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

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

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

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

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.

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?

Survey responses Question # Mean on Entrance Survey Mean on Exit Survey comparison of the student responses in two surveys.

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

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.

Questions