ISCA 2005 Panel Guri Sohi 1 2015 Code








- Slides: 8
ISCA 2005 Panel Guri Sohi 1
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 2
Parallelism Opportunities (4 -5 X 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 3
Models for Sequential Parallelization • Control-driven speculative parallelization – A. k. a multiscalar, transactions, etc. • Data-driven speculative parallelization – E. g. , program demultiplexing 4
Program Demultiplexing Sequential Program M 21() M 31() M 41() PD Runtime M 12() P 1 P 2 M 11() M 21() M 31() P 3 P 4 M 41() M 12() M 91() M 51() M 61() M 42() M 12() M 91() M 61() M 51() M 42() Out-of-order execution of program functions/methods FU = processor Instruction = Function 5
Program Demultiplexing Sequential Execution Demultiplexed Execution On Trigger - Execute M 5() Trig. Handler M 5() On Call - Use Triggers - Usually fires after data deps for M are satisfied - Need hardware to check this Case Study - Small and specialized methods - Identifiable triggers 6
Program Demultiplexing (20% overheads) M 5() Y X X /1. 2 Y Time 25% 10% 60% 25% 30% 33% 32% 15% 29% 5% 15% % of dyn. instructions contributed 7
Parallelism for 2015 Processors We will have more opportunities for innovation that we have ever had before 8