Programmability
Download
1 / 13

Programmability - PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on

Programmability. Hiroshi Nakashima Thomas Sterling. Key Challenges (1). Parallelism Expose sufficient parallelism (multi billion-way) Manage the massive parallelism in ensemble (hierarchy) Reveal rich form and granularity of parallelism Efficient exploitation of fine grained parallelism

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Programmability' - tallys


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Programmability

Programmability

Hiroshi Nakashima

Thomas Sterling


Key challenges 1
Key Challenges (1)

  • Parallelism

    • Expose sufficient parallelism (multi billion-way)

    • Manage the massive parallelism in ensemble (hierarchy)

    • Reveal rich form and granularity of parallelism

    • Efficient exploitation of fine grained parallelism

  • Distribution and resource assignment

    • Enables exploitation of separate concurrency of action

    • Need for some kind of global name space

  • Locality management

    • Reduces latency of access and control

    • Exposure of object and control affinity


Key challenges 2
Key Challenges (2)

  • Management of memory hierarchy

    • Transparent cache misses

    • Finite cache size and structure

    • Copy semantics and consistency(?)

  • Latency hiding

    • Already said locality management

    • Intrinsic overlap of communication with computation to mitigate impact

  • Hardware idiosyncrasies

    • E.g., TLB misses

    • Non-deterministic resolution of shared resource contention

    • Branch prediction, register renaming, etc.


Key challenges 3
Key Challenges (3)

  • Legacy codes may not meet requirements for future Exascale systems

    • Rewrite only once, please.

  • What is the paradigm or execution model for the programming model to satisfy and cooperate with remaining system components?

    • Distribution of responsibilities across system components

  • Libraries

    • Code reuse

    • Decouples performance issue from logical function

    • Can adapt to your program requirements

      • Should learn about your data structure, not you about library


Key challenges 4
Key Challenges (4)

  • Interoperability

    • Between cooperating concurrently executing functionality

    • Exploit existing legacy codes during transitional periods

  • Minimization of performance sensitivity

  • Robust guarantees of correctness of result

  • Elimination of over constraining synchronization bottlenecks

    • e.g., global barriers

    • Lightweight synchronization

  • Re-empower strong scaling

  • Portability

    • Different systems

    • Different scale

    • Different generations


Potential impact on software component
Potential Impact on Software Component

  • Need for new model of computation

  • Programming model reflects user program parallelism

  • Runtime system make available runtime information for decision chain

  • Architecture and runtime minimize overhead to enable useful rich mechanisms for control, cooperation, and sharing

  • Asynchrony management for out of order arrival of data transfers and service completion

  • Guaranteed compound atomic operations for user programmed segments with efficient protection

  • OS protocol to inform runtime system – bi directional exchange


Summary of research directions
Summary of Research Directions

  • Separation of logical functionality from performance attributes

  • New model of computation

  • Diversity of parallelism forms and sizes

  • Data directed execution

  • Dynamic graph-based problems, encoding, and control

  • New programming models that interoperate with old

  • Dealing with memory hierarchies

  • Advanced runtime systems

  • Requirements for new ultra massive architecture

  • Automatic runtime tuning for heterogeneous architectures


Potential impact on usability capability breadth of community
Potential Impact on Usability, Capability, & Breadth of Community

  • Enormous

  • Essential

  • Ease of use

  • Eternal

  • Everyone


4 x programmability
4.x Programmability Community

Cross-cutting property of concurrency as it

relates to programmability

10 billion-way parallelism

Billion-way parallelism

Exposed Concurrency

10 million-way parallelism

100 million-way parallelism

100 thousand way parallelism

Million-way parallelism

2010

2011

2012

2013

2014

2015

2016

2017

2018

2019


4 x programmability1
4.x Programmability Community

  • Technology drivers

    • Programming models and languages

    • Compiler analysis, distribution, and allocation

    • Runtime system software

    • OS

    • Architecture structure, semantics, and mechanisms


4 x programmability2
4.x Programmability Community

  • Alternative R&D strategies

    • Models of computation

      • Message passing with multi threaded processes

      • Message-driven work-queue multithreaded

    • Programming models

      • MPI-8

      • Event-driven multithreaded with GAS

      • DSP and Declarative

    • Runtime system software


4 x programmability3
4.x Programmability Community

  • Recommended research agenda

    • Model of computation

    • Decision chain across system layers

    • Protocols between successive layers


4 x programmability4
4.x Programmability Community

  • Crosscutting considerations

    • It is one

    • Performance

      • major hazard for programmabiltiy

    • Reliability

      • Does the application program play a role in determining response to faults


ad