Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 2 Parallelismparallelism Isis Here…Here… and and Growing!Growing!
Total Page:16
File Type:pdf, Size:1020Kb
ParallelismParallelism forfor thethe Masses:Masses: OpportunitiesOpportunities andand ChallengesChallenges Andrew A. Chien Vice President of Research Intel Corporation Carnegie Mellon University Parallel Thinking Seminar OctobeOctoberr 2299, 2008 OutlineOutline • Is Parallelism a crisis? • Opportunities in Parallelism • Expectations and Challenges • Moving Parallel Programming Forward • What’s Going on at Intel • Questions Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 2 ParallelismParallelism isis here…here… And And Growing!Growing! Future: 100+ Larrabee: 12-32 Nehalem: 8+ Dunnington (6) Core2 Quad (4) Number of Cores Core 2 Duo (2) 2006 20072008 2009 2010 … 2015 Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 3 Q.Q. IsIs parallelismparallelism aa crisis?crisis? A.A. Parallelism Parallelism isis anan opportunity.opportunity. Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 4 Parallelism is a key driver for Energy and Performance Dual-Core 1.73x Performance 1.73x Power 1.13x 1.00x 1.02x 0.87x 0.51x Over-clocked Design Dual-core (+20%) Frequency Underclocked (-20%) Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 5 Unified IA and Parallelism Vision – a Foundation Across Platforms PERFORMANCE Integration Options Example: Graphics Notebook, Desktop and Server Canmore, Tolapai, Atom Intel® Core™ 2, i7 Parallelism for the Masses “Opportunities and Challenges” POWER Visual Computing, Gaming ©Intel Corporation 6 Opportunity in Low-power Computing 10x Lower Power Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 7 Opportunity in Highly Parallel Computing 10x Higher Performance VECTOR VECTOR … VECTOR VECTOR IA CORE IA CORE IA CORE IA CORE INTERPROCESSOR NETWORK … COHERENT COHERENT COHERENT COHERENT CACHE CACHE CACHE CACHE COHERENT COHERENT … COHERENT COHERENT FIXED FUNCTION LOGIC FUNCTION FIXED CACHE CACHE CACHE CACHE INTERPROCESSOR NETWORK and I/O INTERFACES MEMORY VECTOR VECTOR … VECTOR VECTOR Visual Computing IA CORE IA CORE IA CORE IA CORE Financial Modeling Gaming, Entertainment Biological Modeling Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 8 OpportunityOpportunity #1:#1: HighlyHighly Portable,Portable, ParallelParallel SoftwareSoftware • All computing systems (servers, desktops, laptops, MIDs, smart phones, embedded…) converging to… – A single framework with parallelism and a selection of CPU’s and specialized elements – Energy efficiency and Performance are core drivers – Must become “forward scalable” Parallelism becomes widespread – all software is parallel Create standard models of parallelism in architecture, expression, and implementation. Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 9 “Forward Scalable” Software # Cores Academic Research 2N N 512 256 256 128 Today 32 16 16 8 Time Software with forward scalability can be moved unchanged from N -> 2N -> 4N cores with continued performance increases. Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 10 OpportunityOpportunity #2:#2: MajorMajor ArchitecturalArchitectural SupportSupport forfor ProgrammabilityProgrammability • Single core growth and aggressive frequency scaling are weakening competitors to other types of architecture innovation Architecture innovations for functionality – programmability, observability, GC, … are now possible Don’t ask for small incremental changes, be bold and ask for LARGE changes… that make a LARGE difference Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 11 NewNew GoldenGolden AgeAge ofof ArchitecturalArchitectural SupportSupport forfor Programming?Programming? Programming Support Parallelism System Integration Ghz Scaling Issue Scaling Language Support Integration Mid 60’s Mid 80’s Terascale To Mid 80’s To Mid 200x Era Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 12 OpportunityOpportunity #3:#3: HighHigh Performance,Performance, HighHigh LevelLevel ProgrammingProgramming ApproachesApproaches • Single chip integration enables closer coupling (cores, caches) and innovation in intercore coordination – Eases performance concerns – Supports irregular, unstructured parallelism Forward scalable performance with good efficiency may be possible without detailed control. Functional, declarative, transactional, object-oriented, dynamic, scripting, and many other high level models will thrive. Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 13 ManycoreManycore != != SMPSMP onon DieDie Parameter SMP Tera-scale Improvement On-die 12 GB/s ~1.2 TB/s ~100X Bandwidth On-die 400 cycles 20 cycles ~20X Latency • Less locality sensitive; Efficient sharing • Runtime techniques more effective for dynamic, irregular data and programs • Can we do less tuning? And program at a higher level? Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 14 OpportunityOpportunity #4:#4: ParallelismParallelism cancan AddAdd NewNew KindsKinds ofof CapabilityCapability andand ValueValue • Additional core and computational capability can be available on-chip – Single-chip design enables enhancement at low cost – Integration enables close coupling – Security: taintcheck, invariant monitoring, etc. – Robustness: race detection, invariant checking, etc. – Interface: sensor data processing, self-tuning, activity inference Deploy Parallelism to enable new applications, software quality, and enhance user experience Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 15 ExpectationsExpectations andand ChallengesChallenges Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 16 Two Students in 2015 Mine’s an Intel 1,000 How many cores core with 64 Out- does your of-Order cores! computer have? End Users don’t care about core counts; they care about capability Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 17 Chip Real Estate and Performance/Value • Tukwila – next generation Intel Itanium processor – 4 cores, 2B transistors, 30MB cache – 50% cache, 50% logic – 1% of chip area = 30M transistors = 1/3MB – 0.1% of chip area = 3M transistors = 1/30MB • How much performance benefit? • What incremental performance benefit should you expect for the last core in a 100-core? 1000-core? Incremental performance benefit or “forward scalability”, not efficiency should be the goal. Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 18 KeyKey SoftwareSoftware DevelopmentDevelopment ChallengesChallenges • New functionality • Productivity • Portability • Performance, Performance Robustness • Debugging/Test • Security • Time to market ⇒ Software Development is Hard! ⇒ Parallelism is critical for performance, but must be achieved in conjunction with all of these requirements… Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 19 HPC: What we have learned about Parallelism • Large-scale parallelism is possible, and typically comes with scaling of problems and data • Portable expression of parallelism matters • High level program analysis is a critical technology • Working with domain experts is a good idea • Multi-version programming (algorithms and implementations) is a good idea. Autotuning is a good idea • Locality is hard, modularity is hard, data structures are hard, efficiency is hard… • Of course, this list is not exhaustive…. Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 20 HPC… lessons not to learn … • Programmer effort doesn’t matter • Hardware efficiency matters • Low-level programming tools are acceptable • Low-level control is an acceptable path to performance • Horizontal locality / explicit control of communication is critical Move beyond conventional wisdom “parallelism is hard”, based on these lessons. Parallelism can be easy. Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 21 MovingMoving ParallelParallel ProgrammingProgramming ForwardForward Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 22 Spending Moore’s Dividend (Larus) • 30 year retrospective, analyzing Microsoft’s experience •Spent on -- – New Application Features – Higher level programming > Structured programming > Object-oriented > Managed runtimes – Programmer productivity (decreased focus) Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 23 Today, most programmers do not focus on performance Programmer • Productivity: “Quick functionality, adequate Productivity performance” – Matlab, Mathematica, R, SAS, etc. – VisualBasic, PERL, Javascript, Python, Ruby|Rails • Mixed: “Productivity and performance” – Java, C# (Managed languages + rich libraries) • Performance: “Efficiency is critical” (HPC focus) –C++ and STL –C and Fortran Execution Efficiency • How can we enable productivity programmers write 100-fold parallel programs? Parallelism must be accessible to productivity programmers. Parallelism for the Masses “Opportunities and Challenges” ©Intel Corporation 24 Challenge #1: Can we introduce parallelism in the Productivity Layer? • Enable productivity programmers to create large- scale parallelism with modest effort • A simple models of parallelism mated to productivity languages – Data and collection parallelism, determinism, functional/declarative – Parallel Libraries • Generate scalable parallelism for many applications • Exploit with