a common machine language for communication exposed
play

A Common Machine Language for Communication-Exposed Architectures - PowerPoint PPT Presentation

A Common Machine Language for Communication-Exposed Architectures Bill Thies, Michal Karczmarek, Michael Gordon, David Maze and Saman Amarasinghe MIT Laboratory for Computer Science HPCA Work-in-Progress Session, February 2002 A Common


  1. A Common Machine Language for Communication-Exposed Architectures Bill Thies, Michal Karczmarek, Michael Gordon, David Maze and Saman Amarasinghe MIT Laboratory for Computer Science HPCA Work-in-Progress Session, February 2002

  2. A Common Machine Language for Communication-Exposed Architectures Language Designers Have Been Ignoring Architects Bill Thies, Michal Karczmarek, Michael Gordon, David Maze and Saman Amarasinghe MIT Laboratory for Computer Science HPCA Work-in-Progress Session, February 2002

  3. Back in The Good Old Days… • Architecture: simple von-Neumann • “Common Machine Language”: C – Abstracts away idiosyncratic differences • Instruction set • Pipeline depth • Cache configuration • Register layout – Exposes common properties • Program counter • Arithmetic instructions • Monolithic memory – Efficient implementations on many machines – Portable: everyone uses it

  4. Programming Language Evolution 40 Language Effectiveness 35 30 Java 25 20 C++ 15 10 C 5 0 1970 1975 1980 1985 1990 1995 2000 2005

  5. Programming Language Evolution 10000000 Language Effectiveness 1000000 Moore's Law 100000 10000 1000 100 10 1 1970 1975 1980 1985 1990 1995 2000 2005

  6. Languages Have Not Kept Up C von-Neumann Modern machine architecture • Two choices: • Two choices: • Two choices: • Develop cool architecture with • Develop cool architecture with • Develop cool architecture with complicated, ad-hoc language complicated, ad-hoc language complicated, ad-hoc language • Bend over backwards to support • Bend over backwards to support • Bend over backwards to support old languages like C/C++ old languages like C/C++ old languages like C/C++

  7. Evidence: Superscalars • Huge effort into improving performance of sequential instruction stream • Complexity has grown unmanageable • Even with 1 billion transistors on a chip, what more can be done? Branch Pipelining Prediction Out-of-Order Value Prefetching Execution Prediction Speculative Renaming Execution

  8. A New Era of Architectures • Facing new design parameters – Transistors are in excess – Wire delays will dominate • “Communication-exposed” architectures – Explicitly parallel hardware – Compiler-controlled communication – e.g. RAW, Smart Memories, TRIPS, Imagine, the Grid Processor, Blue Gene

  9. A New Common Machine Language • Should expose shared properties: • Should expose shared properties: – Explicit parallelism (multiple program counters) – Explicit parallelism (multiple program counters) – Regular communication patterns – Regular communication patterns – Distributed memory banks – No global clock • Should hide small differences: – Granularity of computation elements – Topology of network interconnect – Interface to memory units C does not qualify! �

  10. The StreamIt Language • A high-level language for communication- exposed architectures • Computation is expressed as a hierarchical composition of independent filters

  11. The StreamIt Language • A high-level language for communication- exposed architectures • Computation is expressed as a hierarchical composition of independent filters • Features: – High-bandwidth channels – Low-bandwidth messaging – Re-initialization

  12. The StreamIt Compiler • We have a compiler for a uniprocessor – Performs comparably to C++ runtime system

  13. The StreamIt Compiler • We have a compiler for a uniprocessor – Performs comparably to C++ runtime system • Working on a backend for RAW – Fission and fusion transformations – Many optimizations in progress

  14. The StreamIt Compiler • We have a compiler for a uniprocessor – Performs comparably to C++ runtime system • Working on a backend for RAW – Fission and fusion transformations – Many optimizations in progress • Goal: High-performance, portable language for communication-exposed architectures

  15. For more information, see: http://cag.lcs.mit.edu/streamit/ Thank you!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend