Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology.

Slides:



Advertisements
Similar presentations
Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan.
Advertisements

1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
Dhananjai M. Rao CSE Department, Oxford, OHIO Using C++11 to teach Concurrency and Parallelism Concepts.
Hong Lin Computer and Mathematical Sciences University of Houston – Downtown Teaching Parallel and Distributed Computing Using a Cluster Computing Portal.
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Reference: Message Passing Fundamentals.
Introduction CS 524 – High-Performance Computing.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 1 Introduction/Overview Wed. 9/6/00.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
Parallel Programming Models and Paradigms
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Early Adopter: ASU - Intel Collaboration in Parallel and Distributed Computing Yinong Chen, Eric Kostelich, Yann-Hang Lee, Alex Mahalov, Gil Speyer, and.
To GPU Synchronize or Not GPU Synchronize? Wu-chun Feng and Shucai Xiao Department of Computer Science, Department of Electrical and Computer Engineering,
Advanced Hybrid MPI/OpenMP Parallelization Paradigms for Nested Loop Algorithms onto Clusters of SMPs Nikolaos Drosinos and Nectarios Koziris National.
CSinParallel Modules and the Topics in the Curriculum 2013 Core Libby Shoop Math, Statistics, and Computer Science Macalester College.
Jawwad A Shamsi Nouman Durrani Nadeem Kafi Systems Research Laboratories, FAST National University of Computer and Emerging Sciences, Karachi Novelties.
Early Adopter Introduction to Parallel Computing: Research Intensive University: 4 th Year Elective Bo Hong Electrical and Computer Engineering Georgia.
Lecture 29 Fall 2006 Lecture 29: Parallel Programming Overview.
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Performance Evaluation of Hybrid MPI/OpenMP Implementation of a Lattice Boltzmann Application on Multicore Systems Department of Computer Science and Engineering,
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Quan Yuan and Sasithorn Zuge Dept. of Computing and New Media Technologies University of Wisconsin-Stevens Point.
Adding PDC within a Six-Course Subset of the CS Major Apan Qasem Texas State University.
Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
1 Chapter 1 Parallel Machines and Computations (Fundamentals of Parallel Processing) Dr. Ranette Halverson.
Integrating Parallel and Distributed Computing Topics into an Undergraduate CS Curriculum Andrew Danner & Tia Newhall Swarthmore College Third NSF/TCPP.
Performance Tuning on Multicore Systems for Feature Matching within Image Collections Xiaoxin Tang*, Steven Mills, David Eyers, Zhiyi Huang, Kai-Cheung.
TRACEREP: GATEWAY FOR SHARING AND COLLECTING TRACES IN HPC SYSTEMS Iván Pérez Enrique Vallejo José Luis Bosque University of Cantabria TraceRep IWSG'15.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Fall 2012: Early Adopter Plan for Teaching Concurrent and Distributed Systems Jawwad Shamsi FAST NU, Pakistan.
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
Motions for Permanent Undergraduate Course Numbers Brian L. Evans On Behalf of the ECE Curriculum Committee September 21, 2015.
Lecture 01: Welcome Computer Architecture! Kai Bu
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
CSC 7600 Lecture 28 : Final Exam Review Spring 2010 HIGH PERFORMANCE COMPUTING: MODELS, METHODS, & MEANS FINAL EXAM REVIEW Daniel Kogler, Chirag Dekate.
DISTRIBUTED COMPUTING. Computing? Computing is usually defined as the activity of using and improving computer technology, computer hardware and software.
Introducing Every CS Major to Parallel Programming: Baby Steps at Ohio State Gagan Agrawal Feng Qin P. Sadayappan.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
Sep 08, 2009 SPEEDUP – Optimization and Porting of Path Integral MC Code to New Computing Architectures V. Slavnić, A. Balaž, D. Stojiljković, A. Belić,
{ Applying the NSF/TCPP Curriculum Recommendations to a Liberal Arts Curriculum Akshaye Dhawan, Ursinus College.
Parallelization of the Telemedicine Benchmark for the Xbox 360 Architecture Howard Wong, SURF-IT Fellow Professor Jean-Luc Gaudiot, EECS August 29, 2008.
PGP Project Viktor Yarmolenko Lewis Mackenzie Paul Cockshott Ewan Borland.
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.
Computer Science in Context Evangelos E. Milios Professor and Graduate Coordinator Faculty of Computer Science Dalhousie University.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Incorporating Parallel & Distributed Computing Across a Liberal Arts Computer Science Curriculum Tia Newhall, Andrew Danner, Kevin Webb Swarthmore College.
Shouqing Hao Institute of Computing Technology, Chinese Academy of Sciences Processes Scheduling on Heterogeneous Multi-core Architecture.
Course Introduction David Ferry, Chris Gill Department of Computer Science and Engineering Washington University, St. Louis MO 1E81.
A Pattern Language for Parallel Programming Beverly Sanders University of Florida.
Parallel Computing Presented by Justin Reschke
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Linux internals: Understanding through Analogies Dr. Jeyakesavan Veerasamy Senior Lecturer University of Texas at Dallas
Lecture 01: Welcome Computer Architecture! Kai Bu
Multi-Core CPUs Matt Kuehn. Roadmap ► Intel vs AMD ► Early multi-core processors ► Threads vs Physical Cores ► Multithreading and Multi-core processing.
Accelerators to Applications
Parallel Programming By J. H. Wang May 2, 2017.
Parallel and Distributed Algorithms (CS 6/76501) Spring 2007
CS 21a: Intro to Computing I
Inculcating “Parallel Programming” in UG curriculum
Parallel and Distributed Computing Overview
CSCI1600: Embedded and Real Time Software
The 25th annual IEEE International Conference on High Performance Computing, Data, and Analytics. Challenges of integrating parallel and distributed computing.
Threaded Programming in Python
An XML-based System Architecture for IXA/IA Intercommunication
Presentation transcript:

Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology of China

Introduction to UESTC Two majors in Department of Computer Science and Engineering o Information Security(200+ students/year) o Computer Science and Technology(300+ students/year) Computer Science Computer Engineering

Project Goal Re-structure department curriculum to fully cover parallel and distributed computing with both a breadth and depth. o fundamental concepts o Full framework of parallel and distributed computing Sufficient practical exposure and hands on development experience Integration PDC topics at early stage of curriculum Think in parallel

integrating plan Course IDCourse NameSemester F Computer Introduction1st E Data Structures and Algorithms3rd G Object-oriented Programming in Java 4th H Computer Network Programming5th G Computer Architecture6th E Operating System6th E Compiler Design6th H Parallel and Distributed Computing7th

First step Of Integration, Fall 2013 Object-oriented Programming in Java (G , core) o Java threads Computer Network Programming (H , elective) o pthreads Computer Architecture (G , core) o Most architectures topics Parallel and Distributed Computing (H core) o Algorithms and programming topics

Second Stage Integration, Fall 2014 Operating System (E , core) o To show how parallelism propagation from hardware to higher programming platform Compiler Design (E , core) o Basic mechanism of parallel code parsing and generating Data Structures and Algorithms (E , core) o Possible parallel algorithms solution, OpenMP Computer Introduction (F , core) o Few PDC related topics, making students ‘Think in parallel’ as early as possible

Lab Assignments COURSEASSIGNMENTTOPICSDETAIL E Merge SortDivide And Conquer Sort data by k-way (k>2) merge sort algorithm. Accelerate it by OpenMP, and benchmark program on single core, 2 cores, 4 cores machine and analysis speedup. Parallel implementation is welcome. Lab E Maze SolvingGraph AlgorithmsMinimum distance between start and end by going through must visit points in a maze. Accelerate it by OpenMP, and benchmark program on single core, 2 cores, 4 cores machine and analysis speedup. HW E Processes Scheduling Task/Thread Spawning, Tasks And Threads Design & implement a simplified process and resource manager, scheduling process based on priority. Lab E Threads Synchronization Synchronization, Tasks And Threads Design and solve the producer/consumer problem via semaphores, using Pthreads to implement synchronization and mutex between producer thread and consumer thread Lab E Inter-Process Communication SynchronizationDesign and implement inter-process communication via pipe, socket or shared memory on Linux HW G Basic Pipeline Design PipelinesDesign a single core with at least 10 MIPS instructionsLab G Solve Data Dependence Pipelines, Data Dependence Solve data dependence determination and corresponding treatments based on the basic CPU. Lab G Solve Control Dependence Pipelines, Control Dependence Solve control dependence determination and corresponding treatments.Lab G Dual-Core CPU Design Pipelines, MulticoreDesign and implement a dual-core CPU with all above featuresElective lab H Prefix SumData Parallel, SPMD Implement prefix-sum with CUDA. Effectively exploiting share memory.Lab H N-Body SimulationMessage PassingTo implement N-body simulation program with MPI. Analysis the speedup.Lab H Pi CalculationParallel Loops For Shared Memory To accelerate parallel Pi calculation program using OpenMP.HW G Rotating EarthTask/Thread Spawning Rotate earth via Java multithreading.HW H TCP ServerSimultaneous Multi- Threading, Client Server Design and implement a concurrent TCP server and client in Linux, using Pthreads and concurrency to controls how many connections may be active at the same time. Lab H Distributed Application Client ServerDesign a Distributed Application using RMI for remote computation.Lab

Conclusion TCPP recommended curriculum has been integrated eight courses, evaluation shows our integration effort is successful. Practice such as lab/homework assignment effective improve students’ conception and practical skill. Contest can significantly motivate students’ imagination and creativity.

Future work ‘General education’ leads to majors reformation. CS and CE will merge into a single CST(Computer Science and Technology) major in UESTC. o Courses adjustment and condense. o CST Curriculum is very full. o Parallel and Distributed Computing will change into elective course o Scatter TCPP PDC topics in large amount of elective courses o Add more upper-level courses that provide more breadth and depth of coverage of parallel and distributed computing. Computer Graphics, Information Security etc.