Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology."— Presentation transcript:

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

2 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

3 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

4 integrating plan Course IDCourse NameSemester F0600110Computer Introduction1st E0600645Data Structures and Algorithms3rd G0601335Object-oriented Programming in Java 4th H0604130Computer Network Programming5th G0601625Computer Architecture6th E0600940Operating System6th E0601035Compiler Design6th H0604630Parallel and Distributed Computing7th

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

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

7 Lab Assignments COURSEASSIGNMENTTOPICSDETAIL E0600645Merge 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 E0600645Maze 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 E0600940Processes Scheduling Task/Thread Spawning, Tasks And Threads Design & implement a simplified process and resource manager, scheduling process based on priority. Lab E0600940Threads 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 E0600940Inter-Process Communication SynchronizationDesign and implement inter-process communication via pipe, socket or shared memory on Linux HW G0601625Basic Pipeline Design PipelinesDesign a single core with at least 10 MIPS instructionsLab G0601625Solve Data Dependence Pipelines, Data Dependence Solve data dependence determination and corresponding treatments based on the basic CPU. Lab G0601625Solve Control Dependence Pipelines, Control Dependence Solve control dependence determination and corresponding treatments.Lab G0601625Dual-Core CPU Design Pipelines, MulticoreDesign and implement a dual-core CPU with all above featuresElective lab H0604630Prefix SumData Parallel, SPMD Implement prefix-sum with CUDA. Effectively exploiting share memory.Lab H0604630N-Body SimulationMessage PassingTo implement N-body simulation program with MPI. Analysis the speedup.Lab H0604630Pi CalculationParallel Loops For Shared Memory To accelerate parallel Pi calculation program using OpenMP.HW G0601335Rotating EarthTask/Thread Spawning Rotate earth via Java multithreading.HW H0604130TCP 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 H0604130Distributed Application Client ServerDesign a Distributed Application using RMI for remote computation.Lab

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

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


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

Similar presentations


Ads by Google