Weitere ähnliche Inhalte
Ähnlich wie Parallelism, the Cloud, and the Tools of the Future for the next generation of practitioners (20)
Mehr von Kevin Goldsmith (20)
Kürzlich hochgeladen (20)
Parallelism, the Cloud, and the Tools of the Future for the next generation of practitioners
- 1. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Kevin Goldsmith | Senior Software Development Manager
Parallelism, the Cloud, and the Tools of the Future for the next
generation of practitioners
- 2. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
HPC and the CS Curriculum
§ HPC as applied to specific domains is a specialization or concentration
2
- 3. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
HPC and the CS Curriculum
§ HPC as applied to specific domains is a specialization or concentration
§ The foundational techniques of HPC should be part of the general curriculum
3
- 4. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
HPC and the CS Curriculum
§ HPC as applied to specific domains is a specialization or concentration
§ The foundational techniques of HPC should be part of the general curriculum
§ Distributed Computing
§ Multi-threading
§ GPGPU
§ Algorithms
§ Data Structures
§ Design Patterns
4
- 5. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
HPC and the CS Curriculum
§ HPC as applied to specific domains is a specialization or concentration
§ The foundational techniques of HPC should be part of the general curriculum
§ Distributed Computing
§ Multi-threading
§ GPGPU
§ Algorithms
§ Data Structures
§ Design Patterns
§ HPC is moving mainstream
5
- 6. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
My Current Product
6
- 7. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
My Current Product
7
ü Data Parallelism
ü SIMD, GPGPU
ü Task Parallelism
ü Reactive Architecture
ü Grand Central Dispatch
ü Distributed Computing
ü AWS-based web services
ü Scale up to 100s of servers
- 8. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Understanding Parallelism Means
§ Understanding computer architecture
§ Understanding low-level threading implementations
§ Task-level parallelism
§ Data-level parallelism
§ Race Conditions
§ Lock-Free data structures
§ Strategies for mapping algorithms to parallel architectures efficiently
8
- 9. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Can’t I Use Higher Level Abstractions to Teach Parallelism?
§ Higher-level abstractions provide good starting places for introductory classes
§ How does a student know to choose one abstraction over another?
§ High level abstractions come in and out of favor
§ Students must know when they should abandon the abstraction and go to a
lower level library for a problem
Once students understand parallelism they should feel free to use higher-level
libraries if it suits their projects
9
- 10. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Abstractions for CS Education
§ Introductory CS
§ OpenMP or C++11
§ Algorithms
§ TBB, GCD, OpenCL
§ Computer Architecture
§ pThreads, SSE
§ Server programming
§ Hadoop
§ Software Engineering, Specialized Courses
§ Student’s choice
10
- 11. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Parallelism Must Be Integrated Through the Entire CS Curriculum
§ All Modern Computer Architectures Are Parallel
§ Parallelism can’t be confined to a single class or a section of another class
§ Parallel techniques and algorithms need to be part of every class
§ Students must learn the basics because the hardware and techniques are
continuing to evolve
§ The industry needs students who are proficient in parallel programming
techniques and will expect applicants to demonstrate that skill
Will your students be ready?
11
- 12. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.