Sambamba : A Runtime System for Online Adaptive Parallelization - - PowerPoint PPT Presentation

sambamba a runtime system for online adaptive
SMART_READER_LITE
LIVE PREVIEW

Sambamba : A Runtime System for Online Adaptive Parallelization - - PowerPoint PPT Presentation

Sambamba : A Runtime System for Online Adaptive Parallelization Clemens Hammacher Kevin Streit Sebastian Hack Andreas Zeller A well-known challenge Modern Legacy Code Hardware The Problem ... The Problem ... Thread 1 Thread 2 Thread 3


slide-1
SLIDE 1

Sambamba: A Runtime System for Online Adaptive Parallelization

Clemens Hammacher Kevin Streit Sebastian Hack Andreas Zeller

slide-2
SLIDE 2

A well-known challenge

Legacy Code Modern Hardware

slide-3
SLIDE 3

The Problem

...

slide-4
SLIDE 4

The Problem

...

Thread 1 Thread 2 Thread 3 Thread 4 Thread 5

slide-5
SLIDE 5

The Problem

... ...

Thread 1 Thread 2 Thread 3 Thread 4 Thread 5

slide-6
SLIDE 6

The Problem

... ...

Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Thread 1 Thread 2 Thread 3 Thread 4

slide-7
SLIDE 7

The Problem

... ...

Thread 1 Thread 2 Thread 3 Thread 4 Thread 5 Thread 1 Thread 2 Thread 3 Thread 4

  • input dependent
  • machine dependent
slide-8
SLIDE 8

Compile-time Analyses Parallelization Profiling Adaptation Execution

  • Compute data dependences (using DSA)
  • Generate program dependence graph
  • Precompute parallelization candidates
slide-9
SLIDE 9

Compile-time Analyses Parallelization Profiling Adaptation Execution

  • Combine local parallel schedules
slide-10
SLIDE 10

Compile-time Analyses Parallelization Profiling Adaptation Execution

  • JIT
  • compile code and inject into application
  • Decide which code variant to execute
slide-11
SLIDE 11

Compile-time Analyses Parallelization Profiling Adaptation Execution

  • Profile execution times
  • Profile branch probabilities
slide-12
SLIDE 12

Compile-time Analyses Parallelization Profiling Adaptation Execution

  • Analyze gathered profiles
  • Trigger reassessing parallelization decisions
slide-13
SLIDE 13

Compile-time Analyses Parallelization Profiling Adaptation Execution

  • Analyze gathered profiles
  • Trigger reassessing parallelization decisions
slide-14
SLIDE 14

Compile-time Analyses Parallelization Profiling Adaptation Execution

  • Analyze gathered profiles
  • Trigger reassessing parallelization decisions
slide-15
SLIDE 15

Speedup on CILK example programs

0X 1X 2X 3X 4X 5X

All experiments run on an i7 quad-core with HT.

slide-16
SLIDE 16

Compile-time Analyses Parallelization Profiling Adaptation Execution

Sambamba

Clemens Hammacher Kevin Streit Sebastian Hack Andreas Zeller