High Performance Computers and Compilers: a Personal Perspective Fran Allen [email protected] Virginia Tech September 11

High Performance Computers and Compilers: a Personal Perspective Fran Allen Allen@Watson.Ibm.Com Virginia Tech September 11

High Performance Computers and Compilers: A Personal Perspective Fran Allen [email protected] Virginia Tech September 11, 2009 Peak Performance Computers by Year 1E+16 Blue Gene Doubling time = 1.5 yr. 1E+14 BlueLight ASCI White ASCI Red Blue Pacific 1E+12 ASCI Red NWT CP-PACS CM-5 Paragon 1E+10 Delta CRAY-2 i860 (MPPs) Y-MP8 X-MP4 Cyber 205 X-MP2 (parallel vectors) 1E+8 CRAY-1 CDC STAR-100 (vectors) CDC 7600 1E+6 CDC 6600 (ICs) Peak Speed (flops) IBM Stretch IBM 7090 (transistors) 1E+4 IBM 704 IBM 701 UNIVAC ENIAC (vacuum tubes) 1E+2 1940 1950 1960 1970 1980 1990 2000 2010 Year Introduced 2 Talk outline § A personal tour of compilers and computers for high performance systems § The new performance challenge § Addressing the performance challenge § Discussion 3 In 1957 I joined IBM Research as a Programmer 1957 IBM Recruiting Brochure 4 Fortran Project (1954-1957) Goals §User Productivity §Program Performance John Backus THE FORTRAN GOALS BECAME MY GOALS 5 The Fortran Language and Compiler § Available April 15, 1957 § Some features: v Beginnings of formal parsing techniques v Intermediate language form for optimization v Control flow graphs v Common sub-expression elimination v Generalized register allocation - for only 3 registers! § Spectacular object code!! 6 Stretch (1956-1961) § Goal: 100 times faster than any existing machine § Main Performance Limitation: Memory Access Time § Extraordinarily ambitious hardware § Equally ambitious compiler 7 HARVEST (1958 - 1962) § Built for NSA for code breaking § Hosted by Stretch § Streaming data computation model § Eight instructions and unbounded execution times § Only system with balanced I/O, memory and computational speeds (per conversation with Jim Pomerene 11/2000) § ALPHA: a language designed to fit the problem and the machine 8 Stretch – Harvest Compiler Organization Fortran Autocoder II ALPHA Translation Translation Translation IL OPTIMIZER IL REGISTER ALLOCATOR IL ASSEMBLER OBJECT CODE STRETCH STRETCH-HARVEST 9 Stretch - Harvest Outcomes § Stretch machine missed 100 x goal by 50%! § A new Fortran compiler replaced original § But “Stretch defined the limits of the possible for later generations of computer designers and users.” (Dag Spicer - Curator Computer History Museum) § National Security Agency used Harvest for 14 years 10 Advanced Computing System (ACS) 1962-1968 § Goal: Fastest Machine in the World vPipelined and superscalar vBranch prediction vOut of order instruction execution vInstruction and data caches § Experimental Compiler: v Built early to drive hardware design John Cocke vCompiler code often faster than the best hand code 11 ACS Compiler Optimization Results § Language-independent machine-independent optimization § A theoretical basis for program analysis and optimization § A Catalogue of Optimizations which included: v Procedure integration v Loop transformations: unrolling, jamming, unswitching v Redundant subexpression elimination, code motion, constant folding, dead code elimination, strength reduction, linear function test replacement, carry optimization, anchor pointing § Instruction scheduling § Register allocation IBM CANCELLED ACS PROJECT IN 1968! 12 PTRAN: Automatic Parallelization (1980s to 1995) § Research v Static Single Assignment (SSA) v Constructing Useful Parallelism v Whole Program Analysis Framework § Compiler development v RP3/NYU Ultra Computer v IBM’s XL Family of Compilers v Fortran 90 § Run-time technologies v Dynamic Process Scheduling v Debugging v Visualization 13 1994 was a bad year for compilers and parallelism § PTRAN project at IBM cancelled “IBM will never build another compiler.” “Parallelism is dead.” § HPF project at Rice cancelled 14 Talk outline § A personal tour of some languages, compilers, and computers for high performance systems § The new performance challenge § Addressing the performance challenge § Discussion 15 Technology is Hitting a Performance Limit § Transistors continue to shrink § More and more transistors fit on a chip § The chips are faster and faster § Result: HOT CHIPS! 16 Real Performance Stops Growing as Fast Performance (GOPS) 1000 100 Gap 10 1 Transistors 0.1 Real Performance 0.01 1992 1998 2002 2006 2010 17 Hardware Performance Solution: Multicores § Simpler, slower, cooler processors (multicores) § More processors on a chip § Software (and users) organize tasks to execute in parallel on the processors § Parallelism will provide the performance!!! 18 Parallelism § High performance computing applications and computers have long used parallelism for performance. èCurrent software cannot provide the parallelism needed èUsers can’t either 19 Two Perspectives on the Performance Challenge § “The biggest problem Computer Science has ever faced.” John Hennessy § “The best opportunity Computer Science has to improve user productivity, application performance, and system integrity.” Fran Allen 20 Talk outline § The new performance challenge § A personal tour of some languages, compilers, and computers for high performance systems § Addressing the performance challenge § Discussion 21 Urgent To-Dos § New, very high level languages § New compilers § New compiler techniques to manage data: locality, integrity, ownership, … in the presence of parallelism. § Eliminate caches § Remember the John Backus and Grace Hopper goals: v User Productivity v Program Performance 22 END OF TALK BEGINNING OF A NEW ERA IN LANGUAGES and COMPILERS (I HOPE) 23 End Note “The fastest way to succeed is to double your failure rate.” – T. J. Watson, Sr. 24.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    24 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us