Is sc ilp rc
Download
1 / 11

Is SC + ILP = RC? - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

Is SC + ILP = RC?. Quinn Gaumer Duke University. Outline. Motivation Previous SC optimizations SC++ Implementation SC++ Analysis. SC vs. RC. SC Easy Programming Model (No different than uniprocessor) Slower programs. RC Faster programs(20%) Software Assistance.

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 'Is SC + ILP = RC?' - crwys


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
Is sc ilp rc

Is SC + ILP = RC?

Quinn Gaumer

Duke University


Outline
Outline

  • Motivation

  • Previous SC optimizations

  • SC++ Implementation

  • SC++ Analysis


Sc vs rc
SC vs. RC

  • SC

    • Easy Programming Model (No different than uniprocessor)

    • Slower programs

  • RC

    • Faster programs(20%)

    • Software Assistance


Previous sc optimizations
Previous SC optimizations

  • Load forwarding

    • Loads can return values even if other mem ops are pending

    • When is this good?

      • As long as its not exposed to other processors

    • When is wrong?

      • Invalidations received before the speculative load is retired.

    • Problem: ROB can still fill up due to store at head…


Previous sc optimizations1
Previous SC optimizations

  • Store Buffering

    • Waiting Stores moved to LSQ

    • Problem: reorder buffer still must stop retiring loads if stores are pending.


SC++

  • Store-Store bypassing

  • Speculative State for Memory

  • Speculation Support

  • Rollbacks infrequent


Store store bypassing
Store-Store Bypassing

  • Speculative History Queue

    • Holds Stores and completed instructions

    • Also holds information needed to rollback operations

  • SHiQ

Store

OP

Store

Head

Head


Memory order violations
Memory Order Violations

  • When is SC Violated?

    • Speculative load or store is invalidated, read, or read.

  • How is Violation Detected?

    • Block Lookup Table(BLT) contains addresses of speculative memory ops

    • Invalidations, Replacements, Downgrades cause search of BLT for address


Rollback
Rollback

  • Processor and Memory state must be rolled back to first memory operation that accessed offending block

  • Guarantee Forward Progress?

    • Speculation prohibited until all pending stores performed.

  • Rollback can be slow

    • Requires flushing pipeline, move data between local caches.

  • Optimizations

    • Rollback multiple instructions/cycle

    • Sending responses to invalidations immediately


Qualitative analysis
Qualitative Analysis

  • Must hold state to allow roll back of both processor and memory

  • Detect rollbacks quickly

  • Rollbacks are extremely slow…Does it matter?

    • Data Races

    • False Sharing

    • Cache Conflicts


Results
Results

  • SC++ theoretically performs as well as RC

  • SC++ can be physically limited in several ways

    • Network Latency

    • SHiQ Size

    • Cache Size

    • Why does each affect the speed of SC++(relative to SC or RC)


ad