why tools mattertaustin/papers/ispass08...9 why tools matter ispass 2008 warning: flexibility vs....

14
1 Why Tools Matter Todd Austin University of Michigan ISPASS Conference, April 2008 Why Tools Matter ISPASS 2008 A long time ago, in a place far away… A long time ago, in a place far away…

Upload: others

Post on 02-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    Why Tools Matter

    Todd AustinUniversity of Michigan

    ISPASS Conference, April 2008

    Why Tools Matter ISPASS 2008

    A long time ago, in a place far away…A long time ago, in a place far away…

  • 2

    Why Tools Matter ISPASS 2008

    ApplicationInput/outputPerformanceResults

    My Experience: SimpleScalar Tool SetMy Experience: SimpleScalar Tool Set

    • Computer system design and analysis infrastructure– Uniprocessor models– User-mode input/output– Supports many ISAs– Portable to host platforms– Deployed widely in academia and

    industry for more than a decade

    • Available with source and docsfrom www.SimpleScalar.com

    ApplicationApplication

    SimpleScalarSimulators

    SimpleScalarSimulators

    HostMachine

    HostMachine

    Why Tools Matter ISPASS 2008

    Obligatory Shot of Simulator Running DOOMObligatory Shot of Simulator Running DOOM

  • 3

    Why Tools Matter ISPASS 2008

    Reasons Against Building & Releasing ToolsReasons Against Building & Releasing Tools• Don’t want to loose your “competitive edge”

    • Often, tools development is not viewed as “research”

    • User support and code maintenance is very demanding, couldn’t your time be spent better?

    • Broken tools could be harmful to the state-of-the-art

    • Vast majority of user feedback is negative

    Why Tools Matter ISPASS 2008

    Goals of This TalkGoals of This Talk

    Encourage aspiring tools hackers to build and release their tools.

    Give you my best advice for undertaking such a challenge.

    Suggest some promising (simulator) tool directions to pursue.

  • 4

    Why Tools Matter ISPASS 2008

    Why Tools Matter -- to the CommunityWhy Tools Matter -- to the CommunityThe altruistic viewpoint…

    • Accelerate the pace of research– Good tools enable researchers

    • Accelerate the pace of tool development– Through enabling infrastructure development– Through the growth of a community of developers

    Why Tools Matter ISPASS 2008

    Why Tools Matter -- to MeWhy Tools Matter -- to MeThe “narcissistic” viewpoint…

    • Amplify your contribution to the research community– Take credit for other peoples research!

    • Gain public recognition

    • Influence the direction of the research community

    • Gain a uniquely deep understanding of system design

    sim-safe: SimpleScalar/PISA Tool Set version 3.0 of August, 2003.Copyright (c) 1994-2003 by Todd M. AustinTodd M. Austin, Ph.D. and SimpleScalar, LLC.All Rights Reserved. This version of SimpleScalar is licensed for academicnon-commercial use. No portion of this work may be used by any commercialentity, or for any commercial purpose, without the prior written permissionof SimpleScalar, LLC ([email protected]).

  • 5

    Why Tools Matter ISPASS 2008

    Advice for Building Successful ToolsAdvice for Building Successful Tools

    Based on my experiences with SimpleScalar.

    Plus, observations from other tool developers.

    But don’t forget… you’ll need a lot of luck, too!

    And now… six pieces of advice.

    Why Tools Matter ISPASS 2008

    Advice: Let Research Drive the OutcomeAdvice: Let Research Drive the Outcome• Tools serve research demands

    – Let your research agenda definethese demands

    • Great infrastructure enables research– Build the infrastructure and you

    will get there first!– E.g., SimpleScalar was first to

    recognize the positive benefits ofmis-speculation [PAID’95]

    • It will sharpen the focus and usabilityof the infrastructure

  • 6

    Why Tools Matter ISPASS 2008

    Advice: Be InnovativeAdvice: Be Innovative

    • Don’t try to only improve engineering, re-imagine the design

    • You will stay interested in theproject longer

    • It will become easier to publishyour work

    Why Tools Matter ISPASS 2008

    H/Wmodel

    H/Wmodel

    Innovation: Execution-Driven SimulationInnovation: Execution-Driven Simulation• Trace-based simulation

    – Simulator reads instruction “trace”– Simple to implement, no functional

    component needed

    • Execution-driven simulation– Simulator “runs” the program,

    generating complete execution– More difficult to implement, requires

    instruction function and I/O handling– Approach has many advantages, e.g.,

    access to values, misspeculation

    Program

    Inst Trace

  • 7

    Why Tools Matter ISPASS 2008

    Innovation: External I/O Tracing (EIO)Innovation: External I/O Tracing (EIO)• Addresses difficulties of creating reproducible experiments

    – 1000x compression over industry-standard branch tracing– Re-creates of all program data values (unlike branch tracing)

    • External I/O events traced– System calls, external interrupts– All events time-stamped with processor cycle count

    External I/O TraceInitialState

    I/O input events (w/time-stamps)

    Fast FunctionalSimulatorInstrumented

    Device Models

    Live HardwareExecutionInstrumented

    Device Drivers

    Test SynthesisFramework

    DetailedSimulationw/ DeepAnalysis

    Why Tools Matter ISPASS 2008

    Innovation: GPV – Graphical Pipeline ViewerInnovation: GPV – Graphical Pipeline Viewer

  • 8

    Why Tools Matter ISPASS 2008

    Innovation: MASE Microarchitecture SimulatorInnovation: MASE Microarchitecture Simulator• Performance simulation model

    more detailed than sim-outorder

    • Many simulation advances– x86 target and uArch support– Improves validation support– Oracle for “perfect” studies– Speculative state management

    facilities simplify speculation– Callback interface permits

    sophisticated memory simulation

    Instruction State Queue (ISQ)

    FunctionalUnits

    Memorysimulator

    IF ID

    Oracle

    CT

    Chkr

    Reorder Buffer (ROB)

    callbackinterface

    MASE Internal Structure

    Why Tools Matter ISPASS 2008

    Advice: Build a PlatformAdvice: Build a Platform

    • Build a tool for building tools– “Separate mechanism and policy”

    • Assume users will utilize components a-la-carte

    • Strive to make the researchers code only glue that binds components

    Target Application and OSTarget Application and OS

    Hardware ModelHardware ModelFetch Pipeline

    Predictor CachesPerfCore

    Simulation KernelSimulation Kernel

    TargetISA

    TargetISA

    TargetI/O Interface

    TargetI/O Interface

    Host PlatformHost Platform

  • 9

    Why Tools Matter ISPASS 2008

    Warning: Flexibility vs. Barrier-to-EntryWarning: Flexibility vs. Barrier-to-Entry• A single file describes all aspects of the architecture

    – Used to generate decoders, dependency analyzers, functional components, disassemblers, appendices, etc.

    – Machine definition + 10 line main == functional simulator

    • Optimizing performance has similar effects

    DEFINST(ADDI, 0x41,“addi”, “t,s,i”,IntALU, F_ICOMP|F_IMM,GPR(RT),NA, GPR(RS),NA,NASET_GPR(RT, GPR(RS)+IMM))

    opcode

    assemblytemplate

    FU req’s

    output deps input deps

    semantics

    inst flags

    Why Tools Matter ISPASS 2008

    Advice: Make Usability a PriorityAdvice: Make Usability a Priority• Make it work out of the box

    – Include everything the user needs– Lots of pre-built simulators– Cross-compilers– Workload– Documentation and tutorials

    • Open source is a must-have!

    • Build portable code

    • Be your first and best customer

  • 10

    Why Tools Matter ISPASS 2008

    Why Tools Matter ISPASS 2008

    Usability: SimpleScalar’s Abstraction “Knob”Usability: SimpleScalar’s Abstraction “Knob”

    - 420 lines- no timing- 8+ MIPS

    - 350 lines- no timing- w/ checks

    - ~1000 lines- functional- cache stats

    - 900 lines- no timing- lot of stats

    - 3900 lines- performance- OoO issue- branch pred.- mis-speculation- ALUs- cache, TLB- 500+ KIPS

    Sim-Fast Sim-Safe Sim-Profile Sim-CacheSim-Bpred Sim-Outorder

    Performance Detail

  • 11

    Why Tools Matter ISPASS 2008

    Advice: Work at Gaining Market ShareAdvice: Work at Gaining Market Share• Be a champion

    – Centralize decisions and integration– End result will be more coherent, focused

    • Strive for quality, but avoid perfection– “Be prepared to throw one away.”– Build a regression test suite– Incorporate debugging features

    • Listen to users– Understand how the current infrastructure

    limits their work– Track users with an easy-to-google name

    Why Tools Matter ISPASS 2008

    SimpleScalar TimelineSimpleScalar Timeline

    ‘93 ‘94 ‘95 ‘96 ‘97 ‘98 ‘99 ‘00 ‘01 ‘02 ‘03 ‘04 ‘05 ‘06 ‘07 ‘08 ‘09

    Sim

    pleScalar born

    Total rewrite

    UW

    iscstarts using it

    First public release

    “Care and feeding”

    Back to academ

    ia

    MICRO-30 MICRO-41

    AR

    M target

    GP

    V view

    er

    MAC

    E model

    x86 target

    SimpleScalar Citations (as per Google Scholar)

    3 13 24 53 61 100 186 284 327 442 493 571 565 420

    Instructor’s kit

  • 12

    Why Tools Matter ISPASS 2008

    Advice: Don’t Ignore Business ConsiderationsAdvice: Don’t Ignore Business Considerations• Use a license that meets your needs

    – Users often confuse “open” with “free”– See www.OpenSource.org for licenses

    • Secure university rights early– Before the lawyers smell the money!

    • Be aware of intellectual property issues– More difficult to accept contributions– Get trademarks, web addresses, and

    copyrights ASAP

    Why Tools Matter ISPASS 2008

    Tomorrow’s ToolsTomorrow’s Tools• First, look at some of today’s successes:

    – SimpleScalar – uniprocessor uArch– Trimaran – VLIW architectures– Wattch – power modeling– HotSpot – thermal modeling– CACTI – cache modeling– GEMS, M5, RSIM – multiprocessor simulation– PIN – binary instrumentation

    • Their recipe for success?• Some research arenas that need more tools…

    – Reliability, Security, Application-Specific Processors, GPUs, Sensor Networking, Virtualization, Nano-technologies, Non-traditional computation models

  • 13

    Why Tools Matter ISPASS 2008

    SummarySummary• The “Why’s” far outweigh the “Why Not’s”

    • Six tips for undertaking tool development and release– Let Research Drive the Outcome– Be Innovative– Build a Platform– Make Usability a Priority– Work at Gaining Market Share– Don’t Ignore Business Considerations

    Why Tools Matter ISPASS 2008

    AcknowledgementsAcknowledgements• Doug Burger, University of Texas, Austin• Scott Breach, AMD• Steve Bennett, Intel• Eric Larson, Seattle University• Chris Weaver, Intel• Guri Sohi, University of Wisconsin• Butler Lampson, Microsoft Research (quotes)

  • 14

    Why Tools Matter ISPASS 2008

    QuestionsQuestions

    ??

    ??

    ?

    ? ?

    ? ?

    ?

    ??