Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTEL CONFIDENTIAL Why Parallel? Why Now? Introduction to Parallel Programming – Part 1.

Similar presentations


Presentation on theme: "INTEL CONFIDENTIAL Why Parallel? Why Now? Introduction to Parallel Programming – Part 1."— Presentation transcript:

1 INTEL CONFIDENTIAL Why Parallel? Why Now? Introduction to Parallel Programming – Part 1

2 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Objectives At the end of this part you should be able to: Define parallel computing Explain why parallel computing is becoming mainstream Explain why explicit parallel programming is necessary 2

3 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. What Can We Do with Faster Computers? Solve problems faster Reduce turn-around time of big jobs Increase responsiveness of interactive apps Get better solutions in same amount of time Increase resolution of models Make model more sophisticated 3

4 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. What is Parallel Computing? Attempt to speed solution of a particular task by 1. Dividing task into sub-tasks 2. Executing sub-tasks simultaneously on multiple cores Successful attempts require both 1. Understanding of where parallelism can be effective 2. Knowledge of how to design and implement good solutions 4

5 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Why Parallel Computing? “The free lunch is over.” —Herb Sutter We want applications to execute faster Clock speeds no longer increasing exponentially 5 10 GHz 1 GHz 100 MHz 10 MHz 1 MHz ’79 ’87 ’95 ’03 ’11

6 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Clock Speeds Have Flattened Out Problems caused by higher speeds Excessive power consumption Heat dissipation Current leakage Power consumption critical for mobile devices Mobile computing platforms increasingly important 6

7 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Execution Optimization Popular optimizations to increase performance Instruction prefetching Instruction reordering Pipelined functional units Branch prediction Functional unit allocation Register allocation Hyperthreading Added sophistication  more silicon devoted to control hardware 7

8 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Multi-core Architectures Potential performance = core speed  # of cores Strategy: Limit core speed and sophistication Put multiple cores on a single chip 8 Potential performance the same cores Speed 124 2 4 4

9 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Old Dynamic of Parallel Computing 9 Parallel computers are expensive There are not many parallel computers Most people do not learn parallel programming Parallel computing not mainstream Parallel programming is difficult Parallel programming environments are inadequate

10 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Sequential Language Approach Problem has inherent parallelism Programming language cannot express parallelism Programmer hides parallelism in sequential constructs Compiler and/or hardware must find hidden parallelism Sadly, doesn’t work 10

11 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Alternate Approach Programmer and Compiler Work Together Problem has inherent parallelism Programmer has way to express parallelism Compiler translates program for multiple cores 11

12 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. Programmer/Compiler Team Programmers of modern CPUs must take architecture and compiler into account in order to get peak performance “…you can actively reorganize data and algorithms to take advantage of architectural capabilities…” Introduction to Microarchitectural Optimization for Itanium® 2 Processors, p. 3 12

13 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. New Dynamic of Parallel Computing 13 PCs are parallel computers Everyone has a parallel computer More people learning parallel programming Parallel programming considered mainstream Parallel programming gets easier Parallel programming environments improve

14 Copyright © 2009, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States or other countries. * Other brands and names are the property of their respective owners. References Richard H. Carver and Kuo-Chung Tai, Modern Multithreading: Implementing, Testing, and Debugging Java and C++/Pthreads/ Win32 Programs, Wiley-Interscience (2006). Robert L. Mitchell, “Decline of the Desktop,” Computerworld (September 26, 2005). Michael J. Quinn, Parallel Programming in C with MPI and OpenMP, McGraw-Hill (2004). Herb Sutter, “The Free Lunch is Over: A Fundamental Turn Toward Concurrency in Software,” Dr. Dobb’s Journal 30, 3 (March 2005). 14

15


Download ppt "INTEL CONFIDENTIAL Why Parallel? Why Now? Introduction to Parallel Programming – Part 1."

Similar presentations


Ads by Google