1 / 8

ISCA 2005 Panel Guri Sohi

Explore the potential of reliable software on unreliable hardware, with focus on probabilistic vs. deterministic applications, object-oriented programming, and parallelism opportunities. Discover innovative models for parallelization and sequential execution. Unleash new algorithm and computation styles for enhanced functionality and reliability in applications.

tahirah
Download Presentation

ISCA 2005 Panel Guri Sohi

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. ISCA 2005 Panel Guri Sohi

  2. 2015 Code • Reliable software for unreliable hardware • Lots of redundant computation • “Probabilistic” vs. deterministic applications • Dependences and “incorrect computation” may or may not impact outcome • Heavy use of object-oriented programming style • Well-behaved and isolatable blocks of code

  3. Parallelism Opportunities (4-5X each) • Extra functionality in applications • e.g., for reliability • Newer applications/algorithm/computation styles • e.g., “possibly incorrect” computation on multimedia data • New models for parallelization of traditional (sequential) code • Remember programming style

  4. Models for Sequential Parallelization • Control-driven speculative parallelization • A.k.a multiscalar, transactions, etc. • Data-driven speculative parallelization • E.g., program demultiplexing

  5. M11() M21() M41() M12() M21() M31() M12() M91() M31() M61() M42() M51() M41() M12() M91() M61() M51() M42() Program Demultiplexing P1 P2 P3 P4 PD Runtime Sequential Program Out-of-order execution of program functions/methods FU = processor Instruction = Function

  6. Program Demultiplexing Sequential Execution Demultiplexed Execution Trig. Handler On Trigger - Execute M5() On Call - Use M5() • Triggers • - Usually fires after data deps for M are satisfied • Need hardware to check this • Case Study • Small and specialized methods • Identifiable triggers

  7. Program Demultiplexing M5() Y X / (20% overheads) Time 1.2 Y X 15% 29% 15% 32% 33% 30% 25% 60% 10% 25% 5% % of dyn. instructions contributed

  8. Parallelism for 2015 Processors We will have more opportunities for innovation that we have ever had before

More Related