JIT-Assisted Fast-Forward Embedding and Instrumentation to Enable - - PowerPoint PPT Presentation

jit assisted fast forward embedding and instrumentation
SMART_READER_LITE
LIVE PREVIEW

JIT-Assisted Fast-Forward Embedding and Instrumentation to Enable - - PowerPoint PPT Presentation

JIT-Assisted Fast-Forward Embedding and Instrumentation to Enable Fast, Accurate, and Agile Simulation Berkin Ilbeyi and Christopher Batten Computer Systems Laboratory School of Electrical and Computer Engineering Cornell University


slide-1
SLIDE 1

JIT-Assisted Fast-Forward Embedding and Instrumentation to Enable Fast, Accurate, and Agile Simulation

Berkin Ilbeyi and Christopher Batten

Computer Systems Laboratory School of Electrical and Computer Engineering Cornell University ISPASS-2016, April 2016

slide-2
SLIDE 2
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Motivation

“Traditional” Computer Architects

Cornell University Berkin Ilbeyi 2 / 19

slide-3
SLIDE 3
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Motivation

Emerging workloads require re-thinking the entire compute stack. Existing Fast and Accurate simulation methodologies exploit the fact that portions of the stack are “locked”. Agile: quickly make changes in any layer of the stack without penalties

Cornell University Berkin Ilbeyi 2 / 19

slide-4
SLIDE 4
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Simulation and Evaluation Methodologies

Fast Accurate Agile Native execution yes no yes∗ Interpreter based ISS no no yes Dynamic Binary Translation based ISS yes no yes Detailed simulation no yes yes Running detailed simulation to completion for realistic workloads is unfeasible (over a year of simulation time!)

Cornell University Berkin Ilbeyi 3 / 19

slide-5
SLIDE 5
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Over 99.9% of detailed simulation can be eliminated!

Cornell University Berkin Ilbeyi 4 / 19

slide-6
SLIDE 6
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Fast Accurate Agile Native execution yes no yes∗ Interpreter based ISS no no yes Dynamic Binary Translation based ISS yes no yes Detailed simulation no yes yes Sampling: Fast-forwarding no yes yes

Cornell University Berkin Ilbeyi 5 / 19

slide-7
SLIDE 7
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Fast Accurate Agile Native execution yes no yes∗ Interpreter based ISS no no yes Dynamic Binary Translation based ISS yes no yes Detailed simulation no yes yes Sampling: Fast-forwarding no yes yes Sampling: Checkpointing yes yes no

Cornell University Berkin Ilbeyi 5 / 19

slide-8
SLIDE 8
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Fast Accurate Agile Native execution yes no yes∗ Interpreter based ISS no no yes Dynamic Binary Translation based ISS yes no yes Detailed simulation no yes yes Sampling: Fast-forwarding no yes yes Sampling: Checkpointing yes yes no Sampling: Native-on-native execution yes yes yes∗

∗Not fully agile because the target ISA needs to match the host ISA

Cornell University Berkin Ilbeyi 5 / 19

slide-9
SLIDE 9
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Fast Accurate Agile Native execution yes no yes∗ Interpreter based ISS no no yes Dynamic Binary Translation based ISS yes no yes Detailed simulation no yes yes Sampling: Fast-forwarding no yes yes Sampling: Checkpointing yes yes no Sampling: Native-on-native execution yes yes yes∗ Goal yes yes yes

Cornell University Berkin Ilbeyi 5 / 19

slide-10
SLIDE 10
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Challenges of using DBT ISS for Fast Forwarding

◮ Problem: Large architectural state transfers may hurt performance

⊲ Solution: JIT-Assisted Fast Forward Embedding (JIT-FFE). Embed DBT

ISS in the detailed simulator which allows fast- and zero-copy architectural state transfer

Cornell University Berkin Ilbeyi 6 / 19

slide-11
SLIDE 11
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Challenges of using DBT ISS for Fast Forwarding

◮ Problem: Large architectural state transfers may hurt performance

⊲ Solution: JIT-Assisted Fast Forward Embedding (JIT-FFE). Embed DBT

ISS in the detailed simulator which allows fast- and zero-copy architectural state transfer

◮ Problem: Functional profiling and warmup may hurt performance

⊲ Solution: JIT-Assisted Fast Forward Instrumentation (JIT-FFI). Use Pydgin

and RPython’s meta-tracing JIT to easily add JIT-compiled instrumentation.

Cornell University Berkin Ilbeyi 6 / 19

slide-12
SLIDE 12
  • Motivation •

Pydgin Overview JIT-FFE JIT-FFI Results

Challenges of using DBT ISS for Fast Forwarding

◮ Problem: Large architectural state transfers may hurt performance

⊲ Solution: JIT-Assisted Fast Forward Embedding (JIT-FFE). Embed DBT

ISS in the detailed simulator which allows fast- and zero-copy architectural state transfer

◮ Problem: Functional profiling and warmup may hurt performance

⊲ Solution: JIT-Assisted Fast Forward Instrumentation (JIT-FFI). Use Pydgin

and RPython’s meta-tracing JIT to easily add JIT-compiled instrumentation.

PydginFF = Pydgin [ISPASS-2015] + JIT-FFE + JIT-FFI

Cornell University Berkin Ilbeyi 6 / 19

slide-13
SLIDE 13

Motivation

  • Pydgin Overview •

JIT-FFE JIT-FFI Results

Outline

◮ Motivation ◮ Pydgin Overview ◮ JIT-Assisted Fast-Forward Embedding ◮ JIT-Assisted Fast-Forward Instrumentation ◮ Results

Cornell University Berkin Ilbeyi 7 / 19

slide-14
SLIDE 14

Motivation

  • Pydgin Overview •

JIT-FFE JIT-FFI Results

Pydgin Overview

Meta-Tracing JIT: the trace of interpreter interpreting the instructions is JIT compiled

Cornell University Berkin Ilbeyi 8 / 19

slide-15
SLIDE 15

Motivation Pydgin Overview

  • JIT-FFE •

JIT-FFI Results

Outline

◮ Motivation ◮ Pydgin Overview ◮ JIT-Assisted Fast-Forward Embedding ◮ JIT-Assisted Fast-Forward Instrumentation ◮ Results

Cornell University Berkin Ilbeyi 9 / 19

slide-16
SLIDE 16

Motivation Pydgin Overview

  • JIT-FFE •

JIT-FFI Results

◮ Problem: Large architectural state transfers may hurt performance.

⊲ Solution: JIT-Assisted Fast Forward Embedding (JIT-FFE). Embed DBT

ISS in detailed simulator for fast- and zero-copy architectural state transfer.

Cornell University Berkin Ilbeyi 10 / 19

slide-17
SLIDE 17

Motivation Pydgin Overview

  • JIT-FFE •

JIT-FFI Results

JIT-Assisted Fast-Forward Embedding

Cornell University Berkin Ilbeyi 11 / 19

slide-18
SLIDE 18

Motivation Pydgin Overview JIT-FFE

  • JIT-FFI •

Results

Outline

◮ Motivation ◮ Pydgin Overview ◮ JIT-Assisted Fast-Forward Embedding ◮ JIT-Assisted Fast-Forward Instrumentation ◮ Results

Cornell University Berkin Ilbeyi 12 / 19

slide-19
SLIDE 19

Motivation Pydgin Overview JIT-FFE

  • JIT-FFI •

Results

Challenge

◮ Problem: Functional profiling and warmup may hurt performance.

⊲ Solution: JIT-Assisted Fast Forward Instrumentation (JIT-FFI). Use Pydgin

and RPython’s meta-tracing JIT to easily add JIT-compiled instrumentation.

Cornell University Berkin Ilbeyi 13 / 19

slide-20
SLIDE 20

Motivation Pydgin Overview JIT-FFE

  • JIT-FFI •

Results Cornell University Berkin Ilbeyi 14 / 19

slide-21
SLIDE 21

Motivation Pydgin Overview JIT-FFE

  • JIT-FFI •

Results Cornell University Berkin Ilbeyi 14 / 19

slide-22
SLIDE 22

Motivation Pydgin Overview JIT-FFE

  • JIT-FFI •

Results Cornell University Berkin Ilbeyi 14 / 19

slide-23
SLIDE 23

Motivation Pydgin Overview JIT-FFE

  • JIT-FFI •

Results

Inlined Instrumentation with Data-Dependent Control-Flow

Cornell University Berkin Ilbeyi 15 / 19

slide-24
SLIDE 24

Motivation Pydgin Overview JIT-FFE JIT-FFI

  • Results •

Outline

◮ Motivation ◮ Pydgin Overview ◮ JIT-Assisted Fast-Forward Embedding ◮ JIT-Assisted Fast-Forward Instrumentation ◮ Results

Cornell University Berkin Ilbeyi 16 / 19