Teaching Parallel Programming for IT Students ... Why, When, and - - PowerPoint PPT Presentation

teaching parallel programming for it students why when
SMART_READER_LITE
LIVE PREVIEW

Teaching Parallel Programming for IT Students ... Why, When, and - - PowerPoint PPT Presentation

Teaching Parallel Programming for IT Students ... Why, When, and How? Ahmed Wagueeh Software Architect Ahmedx.wagueeh@intel.com Intel Corporation Agenda Why? When? How? Why? Why is it NOW important to teach parallel programming?!


slide-1
SLIDE 1

Ahmed Wagueeh

Software Architect Ahmedx.wagueeh@intel.com Intel Corporation

Teaching Parallel Programming for IT Students ... Why, When, and How?

slide-2
SLIDE 2

Agenda

Why? When? How?

slide-3
SLIDE 3

Why?

Why is it NOW important to teach parallel programming?!

Answer: it has ALWAYS been important to teach PP, but it just getting much more important

Why Parallel Programming is getting more important?

Answer: Because of Multi-Core processors, which shortly will be Many Core processors

slide-4
SLIDE 4

Why?

“[Multi-core processing is creating]…the biggest sea change in software development since the object-oriented programming revolution.” Herb Sutter, Microsoft

slide-5
SLIDE 5

Why?

Then, what we need to change to reflect this big change?

Answer: it is how we deal with teaching PP

And why industry moved to Multi-core?

Answer: Performance, but actually there was no other option

slide-6
SLIDE 6

Why?

50 100 150 200 250 300 350 400 450 2007 2008 2009

2010

2011 2012 1 Core 2 Cores 4 Cores 6 Cores

Source: PC Semiconductor Market Briefing: Re-Architecting the PC and the Migration of Value, June 2008

Performance

Performance Gain with Multi-Core Processors

slide-7
SLIDE 7

Why?

Power vs. frequency for single core architecture

9 59 109 159 209 259 309 359

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4

Frequency (GHz)

Power (w)

Dropping Frequency = Large Drop Power Growth in power is unsustainable

slide-8
SLIDE 8

Why?

What if we just ignored it?

Source: published SPECInt data

slide-9
SLIDE 9

Why?

What if we just ignored it?

51

slide-10
SLIDE 10

When?

What is it the best time to introduce Parallel Programming to IT students?

Answer: from day 1

slide-11
SLIDE 11

When?

“There is no question anymore whether we should start teaching parallel algorithms and programming at all levels. The question is when. IMHO we will deserve malpractice suits if we defer this teaching by too much. Currently, we produce 22-years old dinosaurs trained for 50-years career dominated by parallelism through programming yesterday’s computers. In fact, we don’t

  • nly under-teach: we mis-teach bad serial habits that will make

it much more difficult to switch to parallelism later”

  • Prof. Uzi Vishkin, University of Maryland
slide-12
SLIDE 12

When?

Almost each and every CS/CE/IT curriculum needs revisiting to include

  • r reflect parallel concepts
slide-13
SLIDE 13

When?

Data Structure

Non-blocking data structure Parallel Search and Sort Algorithms

Algorithm Design

Parallel Algorithms Design Scalability Metric Parallel Algorithm Complexity

slide-14
SLIDE 14

When?

Software Engineering

Parallel Design Patterns

Compilers Design Operating Systems Computer Architecture Database Systems Numerical Analysis Digital Image Processing Security Data Mining, etc. (name it and it is there)

slide-15
SLIDE 15

How?

Revise existing curriculums, year by year, and update them to include PP concepts Introduce PP to students as early as possible Start with simple, but powerful practices to demonstrate huge effect of parallelism on performance Commit to standards, not products

slide-16
SLIDE 16

How?

  • St. Petersperg State University Project

Cooperation to develop 7 introductory exercises that demonstrate basic concepts of PP Vector operations, matrix manipulation, and numerical analysis are some of the few problems solved using PP with emphasis on performance boost and issues that may affect it 2 labs are already finished, which covers basic vector

  • perations using OS specific APIs and OpenMP standard

library These labs will be available for academic use through Intel Academic Community site (http://academiccommunity.intel.com/)

slide-17
SLIDE 17

Thank You And please Think Parallel