YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: INTEGRATING PARALLEL AND DISTRIBUTED COMPUTING MODULES INTO CS …tcpp.cs.gsu.edu/curriculum/sites/default/files/poster... · 2018. 5. 23. · INTEGRATING PARALLEL AND DISTRIBUTED

INTEGRATING PARALLEL AND DISTRIBUTED COMPUTING

MODULES INTO CS CURRICULUM AT UESTC

Guoming Lu, Jie Xu, Jieyan Liu, Bo Dai, Shenglin Gui, Siyu Zhan

University of Electronic Science and Technology of China

Introduction This poster provides a status update on the

integration of NSF/IEEE‐TCPP Curricular standard

at University of Electronic Science and Technology

of China(UESTC). So far, TCPP recommended

curriculum has been integrated into eight courses of

our current curriculum of Computer Science and

Technology( Computer Science Direction).

evaluations show our integration efforts are

successful. Evaluation also shows that practices

such as lab/homework assignment effectively

improve students’ conception.

Conclusion TCPP recommended curriculum has been integrated

eight courses, evaluation shows our integration effort is

successful.

Practices such as lab/homework assignment effective

improve students’ conception and practical skill.

Contest can significantly motivate students’ imagination

and creativity.

Acknowledgements This work was support by the NSF/IEEE-TCPP Curriculum Initiative on Parallel and

Distributed Computing Early Adopters Program. This work was also funded by Key

Technology Research and Development Program of the Bureau of Science and

Technology of Sichuan Province (2014GZ0174). We would also like to thank NVDIA

for their support on GPU and related technology application.

Lab Assignments Related To Pdc

Topics

Project Goal

Re-structure curriculum of Computer Science and

Technology( Computer Science Direction)to make

students ‘think in parallel’ naturally.

Sufficient practical exposure to strengthen

students’ development and analytical skills.

Integrating PDC topics at early stage of

curriculum to make students see PDC as a

natural and common part of programming.

Involved Courses

Course Name Seme

ster Related PDC topics

Computer

Introduction

1st Why and What Is PDC, make students

‘Think in parallel’ as early as possible. Data Structures and

Algorithms

3rd Discussing some possible parallel solutions

while teaching typical sequential algorithms. Object-oriented

Programming in Java

4th Enhancing PDC topics on Client/Server

paradigms, RMI and pThreads. Computer Network

Programming

5th Java threads and concurrency defects .

Computer Architecture 6th Cover most architecture topics of PDC Operating System 6th Discussing how parallelism propagation

from hardware to higher programming

platform.

Compiler Design 6th To know the basic mechanism that parallel

code parsing and generating Parallel and

Distributed Computing

7th Focus on algorithms and programming

topics of PDC

Computer Architecture PDC Topics

Assignment Architecture

Taxonomy(K)

Superscalar (C)

SIMD/Vector (K)

Pipeline(A)

MIMD(K)

Simultaneous Multi-Threading(K)

Multicore (C)

Heterogeneous (K)

SMP(K)

NUMA(K)

Algorithms

Space/Memory(K)

Cost reduction:

Speedup (A)

Cost tradeoffs:

Time vs. space(K)

Power vs. time(K)

Cache Organization(K)

Cache organization(A)

Impact on software(C)

Floating point representation(A)

Cycles per instruction (A)

Benchmarks(C)

Peak performance

MIPS/FLOPS(C)

Sustained performance(C)

Notions from complexity-

theory:

Simulation/emulation(K)

Notions from scheduling:

Dependencies (A)

Parallel And Distributed Computing

PDC Topics Assignment Architecture

Taxonomy(C) Data vs. control parallelism (K)

Shared vs. distributed memory(C) Memory Hierarchy(C)

Performance metrics(K).

Algorithm

Divide and Conquer (C) Recursion (C)

Scan (C) Map-Reduce (K)

Series-Parallel Composition(C) Sorting(C)

PRAM(K) Task graphs(C)

Synchronization(K) Matrix product(K)

Programming

Shared memory(A) Distributed memory(C)

Hybrid(K) Data parallel(A)

Synchronization(A) Concurrency defects(C),

Performance metrics(C)

COURSE ASSIGNMENT TOPICS LAB /HW

Data

Structures and

Algorithms

Merge Sort Divide And Conquer Lab

Maze Solving Graph Algorithms HW

Operating

System

Processes Scheduling Task/Thread Spawning,

Tasks And Threads

Lab

Threads Synchronization Synchronization, Tasks And

Threads

Lab

Inter-Process

Communication

Synchronization HW

Computer

Architecture

Basic Pipeline Design Pipelines Lab

Solve Data Dependence Pipelines,

Data Dependence

Lab

Solve Control Dependence Pipelines, Control

Dependence

Lab

Dual-Core CPU Design Pipelines, Multicore Elective

lab

Parallel and

Distributed

Computing

Prefix Sum Data Parallel,

SPMD

Lab

N-Body Simulation Message Passing Lab

Pi Calculation Parallel Loops For Shared

Memory

HW

Java Rotating Earth Task/Thread Spawning HW

Computer

Network

Programming

TCP Server Simultaneous Multi-

Threading, Client Server

Lab

Distributed Application Client Server Lab

HPC Contest Club HPC club was setup up in order to encourage students to

actively explore HPC knowledge.

The discussion and exercises topics include:

Supercomputer architecture.

Parallel benchmark test.

Parallel software tuning and optimization.

Parallelizing serial programs.

Recent achievement: Rank 18th in ASC2015( 152

teams from all over the world)

Related Documents