27
Bev Bachmayer Bev Bachmayer Software and Solutions group Software and Solutions group With special thanks to With special thanks to Matthew Wolf Matthew Wolf Georgia Technical Georgia Technical Universitiy Universitiy Pacifying the Pandora's Box of Parallelism: Intel's Pacifying the Pandora's Box of Parallelism: Intel's Curriculum Program for Multi-Core and Curriculum Program for Multi-Core and Multithreaded Programming Multithreaded Programming

Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Embed Size (px)

Citation preview

Page 1: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Bev BachmayerBev BachmayerSoftware and Solutions groupSoftware and Solutions group

With special thanks to With special thanks to Matthew Wolf Matthew Wolf Georgia Technical UniversitiyGeorgia Technical Universitiy

Pacifying the Pandora's Box of Parallelism: Pacifying the Pandora's Box of Parallelism: Intel's Curriculum Program for Multi-Core and Intel's Curriculum Program for Multi-Core and Multithreaded ProgrammingMultithreaded Programming

Page 2: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Agenda

• Moving to massively parallel environment

• Intel Academic community

Page 3: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

3

Today’s Processors Designed Within New MetricsToday’s Processors Designed Within New Metrics

Moore’s Law continues to be validated Moore’s Law continues to be validated

Multiple cores on-die has become the standard to deliver Multiple cores on-die has become the standard to deliver performance at reasonable powerperformance at reasonable power

10s and 100s of Cores will happen10s and 100s of Cores will happen

Intel Research Chip: 80 core Polaris

Intel® Core™ 2 Duo

(Merom, 65nm Process)

L2 L2

4 Cores4 Cores

L2

2 Cores2 Cores

Intel® Core™ 2 Duo

(Penryn, 45nm Process)

Page 4: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

4

10s and 100s of Cores – Becoming a Reality10s and 100s of Cores – Becoming a Reality

CoreCacheCore

Cache50%50%50%50%

65nm, 4 Cores1V, 3GHz10mm die, 5mm each coreCore Logic: 6MT, Cache: 44MTTotal transistors: 200M

10mm 10mm45nm

8 Cores, 1V, 3GHz3.5mm each coreTotal: 400MT

10mm32nm

16 Cores, 1V, 3GHz2.5mm each coreTotal: 800MT

10mm22nm

32 Cores, 1V, 3GHz1.8mm each coreTotal: 1.6BT

10mm16nm

64 Cores, 1V, 3GHz1.3mm each coreTotal: 3.2BTNote: the above pictures don’t represent any current or future Intel Note: the above pictures don’t represent any current or future Intel

productsproducts

Page 5: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

5

Where Are We Heading with Many Core?Where Are We Heading with Many Core?

Pentium® II ArchitecturePentium® II Architecture

Pentium® 4 ArchitecturePentium® 4 Architecture

Pentium® ArchitecturePentium® Architecture

486486386386

MeromMerom

1.E+061.E+06

1.E+1.E+0707

1.E+081.E+08

1.E+091.E+09

1.E+101.E+10

1.E+111.E+11

1.E+121.E+12

1.E+131.E+13

1.E+141.E+14

1.E+151.E+15

19851985 19901990 19951995 20002000 20052005 20102010

FlopsFlops

Pentium® III ArchitecturePentium® III Architecture

TeraTera

PetaPeta

GigaGiga

Projected Projected Multi/Many Core Multi/Many Core

PerformancePerformance

Source: IntelSource: Intel

Penryn (2H Penryn (2H ’07)’07)

Page 6: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

6

SW “joins HW” to lead PerformanceSW “joins HW” to lead Performance

65nm 65nm processprocess

20062006

30nm30nm20n20nmm

45nm 45nm processprocess

20082008

32nm32nmprocessprocess

20102010

15nm15nm

22nm 22nm processprocess

20122012

10nm10nm

Moore’sLawcontinuestransistordensity 2Xevery 24 months

But… SW cannot “just” rely on increasing clock speeds

Performance will come from ParallelismPerformance will come from Parallelism

something new,a paradigm shift

Biggest sea of change for software developers

since the OOO(Out Of Order Machine)- Herb Sutter, Microsoft

Page 7: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

7

Think ParallelThink Parallel

something new,a paradigm shift

Developers need to“Think Parallel (or perish)”

- James Reinders, Intel

We have achievedgeneral awareness.

Sequential applications do not result in continued performance improvement on future multi-core and many-core platforms.

Developers have much to learn! Thinking Parallel

Software shipping in 2007have Quad-core processors available to utilize.What is the useful economic life for SW in this new HW reality?

Could be run 16 core processors* in 2010 –is it ready today for a 3 year lifespan?

*assumes doubling of cores every 2 years, start with 4 cores in 2006

Page 8: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

8

processor cores

We have a future ahead with whereWe have a future ahead with where

Processors have more and more cores.Processors have more and more cores.

CHALLENGE:CHALLENGE:

UNLOCKING THISUNLOCKING THIS

TREMENDOUSTREMENDOUS

POWER USINGPOWER USING

SOFTWARESOFTWARE

Think ParallelThink Parallel

Page 9: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

9

processor cores

software with very limited concurrency

software with very limited concurrency

Aside from servers,Aside from servers,concurrency is mostlyconcurrency is mostlyoutside applications today.outside applications today.

Multiple tasks. Environment.Multiple tasks. Environment.

Limited concurrency.Limited concurrency.

Think ParallelThink Parallel

Page 10: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

10

software with very limited concurrency

processor cores

EmergingEmerging

Step are beingStep are beingmade made todaytoday to put concurrency in to put concurrency inmore software development.more software development.

Learning to THINK PARALLEL,Learning to THINK PARALLEL,

New methods to use,New methods to use,

New methods to explore.New methods to explore.

Think ParallelThink Parallel

Page 11: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

11

software with very limited concurrency

processor cores

EmergingEmerging

WE KNOWWE KNOW

SOFTWARE DEVELOPERSSOFTWARE DEVELOPERS

NEED TO LEARNNEED TO LEARN

THIS NEW WORLDTHIS NEW WORLD

IN ORDER TO COMPETEIN ORDER TO COMPETE

Think ParallelThink Parallel

Page 12: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

12

software with very limited concurrency

processor cores

EmergingRese

arch

Research

We already see a future with evenWe already see a future with evenmore cores. Research today is critical tomore cores. Research today is critical toleading us into the future.leading us into the future.

Think ParallelThink Parallel

Page 13: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

13

What advice we haveWhat advice we haveCS Educators

Teach students to think parallel.

Help them answer these questions:1. How will it scale to N

processors?2. How are new correctness

issues addressed?3. How maintainable is the

solution we create?

Future developers1. Learn to THINK PARALLEL.2. Approach all problems looking

for parallelism (not step-by-step sequential methods)

3. Use tools designed for concurrent programming.

4. Program to tasks (chores), never threads. Do not use raw threading packages.

5. For debugability, create programs which can be debugged in a single-threaded mode.

6. Minimize explicit synchronization.

7. Use scalable memory allocation.

8. Plan to scale workloads.

Page 14: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

14

What we are doing to helpWhat we are doing to helpHelp mainstream programmers to quickly develop quality code

ResearchResearchTomorrow’sTomorrow’sTechniquesTechniques

TransactionalTransactionalMemoryMemory

Main threadMain thread Speculative Speculative threadthread

SpawnSpawn

CommitCommitspeculative speculative

resultsresults

CC

BBAA

Main threadMain thread Speculative Speculative threadthread

SpawnSpawn

CommitCommitspeculative speculative

resultsresults

CCCC

BBBBAAAASpeculativeSpeculativeMulti-Multi-threadingthreading

EducateEducateTomorrow’sTomorrow’s

ExpertsExperts

• 2006 - Helped 45 universities add2006 - Helped 45 universities addparallel programming coursesparallel programming courses

• 2007 400+ univ. 25000 students2007 400+ univ. 25000 students• 2008 reaching out to 1000+ univ2008 reaching out to 1000+ univ

Intel Intel Academic Academic CommunityCommunity

ACCELERATE TRANSITIONTO PARALLEL PROGRAMMING

ProvideProvideToolsToolsTodayToday

Architect, Architect, Thread, Thread, Debug & Debug & TuneTune

http://www.intel.com/software/products

Page 15: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Intel® Academic CommunityGet Involved!

• Connect with peers & technologists

• Access new technology curriculum

• Lead global discussion forums

• Share your knowledge!– Join the discussions in the

forums– Give your opinions in the blogs– Add your content to the Wiki– Comment on what you are

viewing

http://academiccommunity.intel.com

Page 16: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Join the Intel® Academic Community Forums!

Share your knowledge

Connect with peers

Meet the technologists

Join the Intel® Academic Community Forums!

Share your knowledge

Connect with peers

Meet the technologists

Do you have an opinion?How is parallel programming becoming easier?

Many problems can be parallelized as both task and domain decomposition. What types of problems can be parallelized by only one of these methods, but not another?

Want to know more about potential parallelism?Read “Recognizing Potential Parallelism” for the technologist’s point of view. (Available online at the Intel® Academic Community.)

Do you have an opinion?How is parallel programming becoming easier?

Many problems can be parallelized as both task and domain decomposition. What types of problems can be parallelized by only one of these methods, but not another?

Want to know more about potential parallelism?Read “Recognizing Potential Parallelism” for the technologist’s point of view. (Available online at the Intel® Academic Community.)

http://academiccommunity.intel.com

Page 17: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

University ProgramSupporting Your Curriculum Needs

• New technology curriculums developed specifically for the needs of the academic community

• Access to course downloads

• Obtain the latest Intel® Software Development Products for your classroom

• Become a member today!http://academiccommunity.intel.com

Page 18: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Intel Academic Community – Academic Community Collaborating Worldwide

In 51 countries around the worldIn 51 countries around the world ,

at more than 460 Universitiesat more than 460 Universities800 professors are800 professors are

teaching more than 25000 new software professionalsteaching more than 25000 new software professionalsMulti-core programmingMulti-core programming

Page 19: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

What are the Universities saying?

“The change to multi-core means a re-emphasis on concurrency and parallelism… It's an interesting challenge for us to educate students in that direction. Whether they build gaming applications, vision applications, robotics applications or traditional applications in the high performance domain, they have to always think parallel. That renewed emphasis in understanding parallelism is important to impart to our students.” Professor Karsten Schwan, College of Computing, Georgia Institute of Technology

Page 20: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Intel University Program provides:

Recipe for SuccessRecipe for Success

Courseware to drop into existing courses

Continual technology

updates

Free Intel® Software

Development Tools licenses for the classroom

Wiki and blog for collaboration,

Forums for specific questions

Courseware to drop into existing courses

Continual technology

updates

Free Intel® Software

Development Tools licenses for the classroom

Wiki and blog for collaboration,

Forums for specific questions

Page 21: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Implementing a parallel curriculum

• CERCS team consists of CS and ECE faculty, awarded equipment and grant funding for multi-core curriculum development:

Key Idea: “… to upgrade the core curriculum at the College of Computing (CoC) and School of Electrical and Computer Engineering (ECE) at Georgia Tech to better prepare future generations of hardware and software practitioners … to harness the potential of current and future multi-core platforms.”

• PIs: AdaGavrilovska, Hsien-Hsin-Lee, Karsten Schwan, SudhaYalamanchili, Matthew Wolf

• Bring concurrency and parallelism back into CS/ CompEeducation by coordinated updates to an entire ecosystem of courses

• Engage broad set of faculty beyond PIs

Georgia Tech Multi-core Background

Page 22: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:
Page 23: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:
Page 24: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:
Page 25: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Summary

• Visit Intel at booth 317

academiccommunity.intel.com

Register for the Intel Academic community

Page 26: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.

EUR: Tech U Munich, ETH Zurich, U Politecnica de Catalunya, RWTH Aachen, U Karlsruhe, Budapest Polytechnic Institute

Page 27: Bev Bachmayer Software and Solutions group With special thanks to Matthew Wolf Georgia Technical Universitiy Pacifying the Pandora's Box of Parallelism:

Bev BachmayerBev Bachmayer

Intel University Program Manager Intel University Program Manager Software and Solutions GroupSoftware and Solutions Group

March 14, 2007March 14, 2007

Parallelism