Intel Corporation · NASDAQ:INTC

Intel — Technical Presentation (February 2014)

23 slides from Intel's technical presentation, Feb 15, 2014

  1. Slide 1: Pinballs: Portable and Shareable User-level Checkpoints for Reproducible Analysis and Simulation

    Pinballs: Portable and Shareable User-level Checkpoints for Reproducible Analysis and Simulation Harish Patil (Intel Corporation) Trevor E. Carlson (Ghent University) 1 February 15th, 2014 REPRODUCE2014/HPCA Orlando, Florida

  2. Slide 2: Legal Disclaimer & Optimization Notice

    Legal Disclaimer & Optimization Notice INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANT

  3. Slide 3: Objective: Reproducible Input for Simulators

    Objective : Reproducible Input for Simulators Reproducible Input  Apples to apples comparison Simulator A Reproducible Input Pinball Simulator B Program binary (x86) Replayer+ Logger pinball + input Simulator 3 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands and names are the

  4. Slide 4: Check-pointing is not enough…Need to control non-determinism (Pinball does)

    Check-pointing is not enough…Need to control non-determinism (Pinball does) Single-threaded programs: 1. Changes to : Initial stack/heap addresss ; shared library load location (randomized address space) 2. Processor-specific instruction behavior changes: CPUID, RDTSC 3. Signals : Arbitrary memory/r

  5. Slide 5: Pinballs: Properties

    Pinballs : Properties o Enable deterministic simulation : ST and MT o See Trevor’s talk on MT simulation o Independent of operating system (version/type) o System call side-effects injected o Small in size o Whole-program or regions SPEC2006 Instruction Pinball size Logging Replay (Average count slo

  6. Slide 6: The Vision: A Global Repository of Pinballs

    The Vision: A Global Repository of Pinballs Submit from Interesting Programs Pinballs Use for reproducible simulation Started already (SPEC2006) : http://snipersim.org/Pinballs 6 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective own

  7. Slide 7: Outline

    Outline • Pinballs • What are they? • How are they generated? • How to use them for simulation? 7 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.

  8. Slide 8: Pinball (ST) = Initial memory/register + injections

    Pinball (ST) = Initial memory/register + injections foo.reg Internal states initialized Arch. state Replayer + Simulator Replay 50 100 250 Syscall A instructions RDTSC Signal Initial memory image Inject events: based on instruction counts foo.sel / foo.reg (injections) foo.text •System calls : skipp

  9. Slide 9: Pinball (MT): Pinball (ST) + Thread-dependencies

    Pinball (MT) : Pinball (ST) + Thread- dependencies foo.reg (per-thread) Initial Initial Initial registers: registers: T0 registers: T1 T(n-1) foo.text Application Memory (common) Event injection works only if same foo.reg (per-thread) behavior (same instruction counts) is foo.sel (per-thread) guaran

  10. Slide 10: Outline

    Outline • Pinballs • What are they? • How are they generated? • How to use them for simulation? 10 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.

  11. Slide 11: Pin: A Tool for Writing Program Analysis Tools

    Pin: A Tool for Writing Program Analysis Tools counter++; print(IP) sub $0xff, %edx sub $0xff, %edx movl 0x8(%ebp), %eax counter++; print(EA) jle <L1> movl 0x8(%ebp), %eax counter++;print(br_taken) Extra code jle <L1> Pintool Pin Test-program Run-time Translator Operating System Hardware Normal outp

  12. Slide 12: PinPlay: Workload Capture and Deterministic Replay Framework

    PinPlay: Workload Capture and Deterministic Replay Framework PinTool logger LOG (pinball) + replayer Program/ Guaranteed Repeatability Libraries No binaries/inputs Input No application setup No license checking License Record Once Replay + Analyze Multiple Times Anywhere! Program Record/Replay Toolk

  13. Slide 13: Outline

    Outline • Pinballs • What are they? • How are they generated? • How to use them for simulation? 13 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.

  14. Slide 14: Pinball-based Simulation: Two Usage Models

    Pinball-based Simulation: Two Usage Models 1. Pin-based simulators: e.g. Sniper from Ghent Univ. Pin-tool pinball Simulator 2. Other, non-Pin, simulators: e.g. Intel-internal Looking for collaboration : QEMU-based/ other simulators Simulator Pin-based Checkpoint pinball Simulator converter / Trace 1

  15. Slide 15: Simulation Challenge + Solution

    Simulation Challenge + Solution Detailed, cycle-accurate, simulation is slow Solution: Find/simulate only representative regions (PinPoints)  PinPoints cover << 1% of whole-program execution  vastly reduced simulation time 15 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands a

  16. Slide 16: PinPoints = Pin + SimPoint (UC San Diego)

    PinPoints = Pin + SimPoint (UC San Diego) 1 2 … 1022 … 4232 Profile with a pin-based profiler Intervals : Program 30 million Instructions each Execution Basic-block-vectors Analyze with SimPoint Find 1 2 … 350 … 3518 4232 phases Choose one simulation 350 … 3518 … point per phase PinPoint 1: Weight 3

  17. Slide 17: PinPoints: The Repeatability Challenge

    PinPoints : The Repeatability Challenge 1. Profile and find Simulation Test-program regions PinPoints file Test-program 2. Trace selected regions Problem: Two runs are not exactly same  PinPoints missed Found this for 25/54 SPEC2006 runs! [ “PinPoints out of order” “PinPoint End seen before Start”

  18. Slide 18: Enters PinPlay To Provide Repeatability

    Enters PinPlay To Provide Repeatability 1. Profile and find Simulation regions PinPlay PinPoints file Test-program logger pinball 2. Trace selected regions Two runs are same  PinPoints guaranteed to be reached 18 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands and names are t

  19. Slide 19: PinPlay + PinPoints: Basic Flow

    PinPlay + PinPoints: Basic Flow Program + Collect Simulate with Pin- input whole- based simulators program or translate to other pinball simulator checkpoints Profile and Whole find Selective program PinPoints file re-logging Region pinball representative pinball regions  PinPoints are representati

  20. Slide 20: SPEC: CPU2006 Pinballs for download

    SPEC : CPU2006 Pinballs for download www.snipersim.org/Pinballs 20 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.

  21. Slide 21: Summary: Pinballs

    Summary : Pinballs User-level x86 checkpoints: 1. Enable deterministic simulation 2. Portable : No OS dependence 3. Shareable : Relatively small in size Generate with PinPlay : http://www.pinplay.org Use for simulation: 1. Replay-enabled Pin-based simulator OR Translate to other simulator inputs 2.

  22. Slide 22: Call for action

    Call for action 1. Make a global repository a reality Submit from Interesting Programs Pinballs Use for reproducible simulation 2. Pinball converter for QEMU-based/other simulators 22 Copyright© 2014, Intel Corporation. All rights reserved. *Other brands and names are the property of their respectiv

  23. Slide 23: Upcoming Events

    Upcoming Events 1. Use of Pinball for debugging: DrDebug: CGO 2014 talk (Monday 2/17/2014) @4 PM 2. Creation of Pinballs for representative regions: PinPoints: ISCA 2014 tutorial (Sunday 15th June, 2014) ( https://sites.google.com/site/pinpointstutorialisca14/ ) 23 Copyright© 2014, Intel Corporation

Intel — Technical Presentation (February 2014) on 6ix