Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

9
Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012

Transcript of Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

Page 1: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

Back-end (foundation) Working group

X-stack PI Kickoff MeetingSept 19, 2012

Page 2: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

Team

• Ron Brightwell• Vivek Sarkar• Hartmut Kaiser• Costin Iancu• Andrew A. Chien• Saman Amarsinghe

• Wilfred Pinfold• Shekhar Borkar• Yonghong Yan• Adolfi Hoisie• Thomas Sterling• Mattan Erez• Rishi Khan

Page 3: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

Back-end Mission

• Take Front-end information and Platform/system information achieve energy-efficient, desired performance, resilient execution in the face of extremely complex Exascale hardware– Front-end information: algorithmic choice,

expression of parallelism, other HL semantic information, application goals)

– Platform/system information: configuration, capabilities, dynamic state, error/faults, other site/system constraints)

Page 4: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

What is not Back-End

• Front-end Issues: (Programmer Facing…)– expression of parallelization, algorithmic locality– algorithmic details – expression of locality– domain specific information– capture other high level semantic information– tools (debugging, etc.)– job scheduling

Page 5: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

What is Back-End?

• - what is the back end? (parallelization, localization); platform-facing

• - starts at the level of lowering in the compiler• - architecture level decisions• - runtime and resilience decisions• - overlapping of management of technology spaces,

but some concerns we will exclude

• Is back-end synonymous with runtime? No, but there is some overlap

Page 6: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

What is Back-End? (though not exclusively)

• (re)mapping the application• dealing with the application

execution aspects platform• tuning annotations• adaptive feedback (performance data

capture for front end)• Autotuning• dealing with compute element

heterogeneity – macroscopic (different chips)– microscopic (on-chip)– technology induced heterogeneity

• memory hierarchy heterogeneity• Resiliency• degradation / long term change

• scheduling - large-grain, fine-grain• migration - large-grain, fine-grain• data mapping (addressability,

distribution)• data movement• implementation locality (and

hierarchy)• architecture locality (and

hierarchy)• energy management - dvfs, power

state, speed config, reliability config, etc.

• over provisioned hardware (control)=> typically includes the part of the runtime which is application facing

=> typically doesn’t include the part of the runtime that is systems facing

Page 7: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

Front End

Back End

Relation to Compiler, Runtime, Operating Systems

Application

HL Compiler

LL Compiler

Runtime

OS + Hardware

Page 8: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

Top 5 Challenges for Back-end1. Choice of implementation primitives to maximize parallelism and data placement flexibility 2. Manage algorithm and implementation variety/heterogeneity/multiplicity3. Resilience and fault-diagnosis/error management/recovery4. Intelligent placement/scheduling of compute and data, that balance parallelism (realized parallelism) and data locality -- from above5. Online resource management (dynamic energy and configuration management, self-awareness) -- from below6. Interface to OS and Platform - services that provide efficient, right information - static and system information - resource access and protection - resource configuration control (performance and energy, degree of parallelism, precision, memory hierarchy, redundancy - error coverage etc.)

Page 9: Back-end (foundation) Working group X-stack PI Kickoff Meeting Sept 19, 2012.

Back-End X-stack Activity

D-TEK TG DEGAS XPRESS DAX GVR X-Tune Corvette SLEEC

Choice of primitives Manage Algo. and Imp. ? ?

Resilience Placement/ Scheduling Resource Management OS/ Platform Interface

Needs more investmentGaps • Interoperation• Support for “strong scaling” – latency minimization• Others?