Upload
barbara-gordon
View
212
Download
0
Embed Size (px)
Citation preview
My major mantra:We Must Break the Layers
Algorithm
Program
ISA (Instruction Set Arch)
Microarchitecture
Circuits
Problem
Electrons
IF we break the layers:
• Compiler, Microarchitecture– Multiple levels of cache– Block-structured ISA– Part by compiler, part by uarch– Fast track, slow track
• Algorithm, Compiler, Microarchitecture– X + superscalar – the Refrigerator– Niagara X / Pentium Y
• Microarchitecture, Circuits– Verification Hooks– Internal fault tolerance
…and
• More intelligently design our core (ILP is not dead)
• Provide more than one interface
• Re-visit the Run-time system
Morphcore
• High performance out-of-order for serial code
• SMT in-order when throughput dominates
• Mickey mouse when neither is present
• Who decides which mode to operate in?
More than one interface
• Those who need the utmost in performance– and are willing to trade ease of use for extra performance– For them, we need to provide a more powerful engine (Heavyweight cores for ILP, Accelerators for specific tasks)
• Those who just need to get their job done– and are content with trading performance for ease of use– For them, we need a software layer to bridge the multi-core
• That means– Chip designers understanding what algorithms need
– Algorithms folks understanding what hardware provides
– Knowledgeable Software folks bridging the two interfaces
The Run-time System: What?
• Part of the Operating System?
• Part of the Chip Design?
The Run-time System: Why?
• MorphCore (Khubaib, IEEE/ACM Micro 2012)
• Adaptive Processors, (Miftakhudinov, Micro 2012)
• Shared resources (Ebrahimi, IEEE/ACM ISCA 2012)
• Which thread to speed up (Joao, ISCA 2013)
The Run-time System: How?
Algorithm
Program
ISA (Instruction Set Arch)
Microarchitecture
Circuits
Problem
Electrons
The Run-time System: How?
• Programmers insert pragmas in their code• Compilers use it to insert procedure calls
• Serious on-chip monitoring provides inputs
• Run-time system decides how to utilize
on-chip resources