80 likes | 101 Vues
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.
E N D
ISCA 2005 Panel Guri Sohi
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
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
Models for Sequential Parallelization • Control-driven speculative parallelization • A.k.a multiscalar, transactions, etc. • Data-driven speculative parallelization • E.g., program demultiplexing
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
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
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
Parallelism for 2015 Processors We will have more opportunities for innovation that we have ever had before