Concurrency Theme 12 10 2006HwuIntro

Uploaded from authorPOINT
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Concurrent Systems Theme Meeting: 

Wen-mei Hwu Mary Jane Irwin Kurt Keutzer December 10, 2006 Concurrent Systems Theme Meeting

The Concurrent Systems Theme: 

The Concurrent Systems Theme

Background: 

Background Concurrent platforms potentially offer more effective use of chip space and power than large monolithic CPU’s Multi-core, Many-core, Cell BE™, GPU, etc. All semiconductor market domains converging to concurrent system platforms PCs, game consoles, mobile handsets, servers, supercomputers, networking, etc. Big picture How can we make these systems effectively execute valuable, demanding apps?

Intel Data (Borkar): 

Intel Data (Borkar) 13mm, 100W, 96MB Cache, 8B Transistors, in 16nm

Technical Challenge: 

Technical Challenge Current parallel systems require programmers to determine threading granularity manage synchronization and thread communication isolate serial code remove control flow constraints privatize data As a result, parallel software development has been extremely costly. Future microarchitectures, OS, and programming systems must provide abstractions and tools to drastically reduce the complexity of concurrent software development while meeting system correctness, performance, reliability and power goals

Fundamental Assumptions: 

Fundamental Assumptions System target (2016 and beyond) Chips with 64 to thousands of cores, large on-chip storage, sophisticated on-chip network Software development model Combination of hand and automatic parallelism management Scalability Software also needs to track Moore’s law

Theme Guiding Principles: 

Theme Guiding Principles Focus on carefully selected apps That are valuable to a large user population and which will become more valuable with increased on-chip computing power Innovate around a full-system design Use intellectual, if not physical, system design to keep all components in the big picture Leverage synergistic industry efforts In applications development, intellectual property cores, tools, and expertise – monthly e-seminars (Mondays) Collaborate with synergistic GSRC Themes Design space exploration tools (Core), system prototyping infrastructure (Design Driver), and reliability features (Resilience)

Picking Battles What are our applications?: 

Picking Battles What are our applications? Traditional GP compilers cover traditional apps (pit) Parallel programming models and OpenMP API cover simpler, earlier super-apps (peach skin) Concurrent Systems to cover new super-apps Reflective of real-world, abundant parallelism but complex in code and data structures (peach flesh)

Theme Organization: 

Theme Organization Programming Tools Explicit programming models and tools (Keutzer, Amarasinghe, Asanovic) Traditional programming models and tools (Hwu, Mahlke, August) Concurrent multi-core software verification (Clarke) OS and run-time Thread and synch management (Lumetta, Navarro) Hardware control API (Irwin) Top-Down Microarchitecture Scalable multi-core hardware models (Wawrzynek, Martonosi, Peh, Frank) Multi-core hardware verification (Sakallah) Bottom-Up

Fronts of Attack: 

Fronts of Attack Goal: to remove programmability roadblocks for future concurrent computing systems Programming models from above – controlling concurrent SW development cost Traditional programming models (with focus on new code base) Transactional, streaming parallel programming models Verification of concurrent software systems Hardware and OS support from below – making platforms more usable and efficient OS and library support for programming models Low-power microarchitecture for efficient and reliable program execution (with Resilient theme and (C2S2) Microarchitecture Thrust) Joint HW/SW implementation space exploration (with Metropolis)

Top-Down Questions: 

Top-Down Questions What can compiler/tools know about your program? How costly is it to develop, verify and scale apps? How can one get the best hybrid of programming models? Does your executable code employ the right model? Traditional programming model Transactional programming model

Bottom-Up Questions: 

Bottom-Up Questions What is the benefit seen by apps? How resilient is the scheme to temperature variations and transient and permanent faults? How well can one verify and test your design? How scalable is your design? both technology-wise and application-wise

Vertical Teams: 

Vertical Teams A major concern is that the top-down and bottom-up parts will not integrate well A potential approach is to have vertical teams that work on the design and implementation of a system based on a particular programming model and application domain (Kurt Keutzer) A vehicle for high-impact publications Please keep this in mind through the day

Proposed Top-Down Report Card: 

Proposed Top-Down Report Card

Proposed Bottom-up Report Card: 

Proposed Bottom-up Report Card

Summary: 

Summary A coherent programming system integrating productive programming models and effective compilation tools A coherent microarchitecture and OS that provide a usable, effective execution platform The theme’s efforts will be judged by success in target apps Intellectual integration is the key to our success Theme retreats, e-seminars Industry participation critical – company contacts

Today: 

Today The Theme meeting is NOT a review A brainstorming vehicle To build collaboration To formulate new ideas To articulate potential impact of our work Industry feedback On-the-spot comments Private comments to the speakers Private comments to me