thinking in parallel adopting the tcpp core curriculum in computer systems principles

Post on 14-Feb-2016

26 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles. Tim Richards University of Massachusetts Amherst. Computer Systems Principles. A Core C ourse in Computer S ystems UMass Amherst Computer Science Department. Software. To teach students fundamental - PowerPoint PPT Presentation

TRANSCRIPT

Thinking in ParallelAdopting the TCPP Core Curriculum

in Computer Systems Principles

Tim RichardsUniversity of Massachusetts Amherst

Computer Systems Principles

A Core Course in Computer SystemsUMass Amherst

Computer Science Department

To teach students fundamentalprinciples and techniques incomputer systems and howto program them.

Hardware

Software

Problem

Introducing parallelism intoan existing course is difficult

Program Representation

Architecture

Virtual Memory

Memory Management

First Half

Process & Exceptions

Threads

Synchronization

Network Programming

Second Half

Problem

Introducing parallelism intoan existing course is difficult

Program Representation

Architecture

Virtual Memory

Memory Management

First Half

Process & Exceptions

Threads

Synchronization

Network Programming

Second HalfAbrupt Switch

from sequential to parallel

programming model

Gap in Understanding

Goal #1Re-focus existing course material to make

parallelism a common thread

Program Representation

Architecture

Virtual Memory

Memory Management

First Half

Thinking in Parallel

Multi-Processing in Life & Shell

Pipelines, ILP, Multicore, GPUs

Processing in Parallel

Enhanced assignments

to include problemsin parallelism, concurrency,

& synchronization

Goal #2Migrate course material over time, teach students

to think in parallel early, to reduce gap in understanding

Program Representation

Architecture

Virtual Memory

Memory Management

First Half

Thinking in Parallel

Multi-Processing in Life & Shell

Pipelines, ILP, Multicore, GPUs

Processing in Parallel

Results• Introducing parallelism

incrementally in existing course infrastructure is easy.

• Making parallelism a common thread improved student success rates in project assignments.

• Improved discussion and understanding in class and online forums.

• Increased overall student performance in course.

Survey Results S13• Introducing parallelism

incrementally in existing course infrastructure is easy.

• Making parallelism a common thread improved student success rates in project assignments.

• Improved discussion and understanding in class and online forums.

• Increased overall student performance in course.

29%

44%

13%

14%

Understanding Parallelism (Start of Course)

NoneLittleSatisfactoryModerateExellent

Survey Results S13• Introducing parallelism

incrementally in existing course infrastructure is easy.

• Making parallelism a common thread improved student success rates in project assignments.

• Improved discussion and understanding in class and online forums.

• Increased overall student performance in course.

2%

14%

40%

39%

5%

Understanding Parallelism (End of Course)

NoneLittleSatisfactoryModerateExellent

Thanks!

Tim RichardsUniversity of Massachusetts Amherst

Computer Science Departmentrichards@cs.umass.edu

top related