1 / 7

Is SC + ILP = RC?

Is SC + ILP = RC?. Chris Gniady, Babak Falsafr, and T.N. Vijaykumar Presented By Jacob Harer. Idea. Use large amounts of memory ILP to increase speed in SC Relax all memory order speculatively in each core. Appear to all other cores to be non speculative. Implementation. Need

zurina
Download Presentation

Is SC + ILP = RC?

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Is SC + ILP = RC? Chris Gniady, Babak Falsafr, and T.N. Vijaykumar Presented By Jacob Harer

  2. Idea • Use large amounts of memory ILP to increase speed in SC • Relax all memory order speculatively in each core. • Appear to all other cores to be non speculative

  3. Implementation • Need • Speculate on both loads and stores • Large speculative state • No additional overhead • Well behaved programs • Store all instructions in a Speculative History Que (SHiQ) • Roll back data if speculative data is accessed before it commits

  4. Roll Back • On Invalidation of speculatively loaded or stored data. • On read of speculatively stored data • On replacement due to a miss • Stored in Block Lookup Table (BLT) • Roll back by restoring from the SHiQ • No speculation until store completes

  5. Example Processor 1 speculative load to Block Processor 1 Does some other work Processor 1 speculative Store to Block Processor 2 load to Block Get shared Get Exclusive Roll Back from SHiQ, Send old non speculative data

  6. Conclusions • Good results • Potential for lots of pathological cases. Where blocks are loaded way ahead of time. Reducing effectiveness of speculation • This is reduced by only speculatively storing once.

  7. Questions? • How many workloads are “well behaved” • Could RC benefit from the same ILP exploitation? • Can you speculatively load across cores? • Slow down in processor due to additional hardware.

More Related