Future Directions Flashcards
What is the fundamental limiter of processor performance?
Energy efficiency
Why is reliability of processors a challenge?
Transistors can wear out and get stuck at 1 or 0, or slow down so they don’t switch as quickly
How can we use multicores to try and overcome the challenge of energy efficiency?
Move from complex single core to simple multicore, and dial down clock frequency to save power (since increasing pipelining and clock frequency took too much power)
What does multicore scaling tell us?
Just adding cores will not allow us to deliver speed ups that keep up with Moore’s law - we need to fundamentally alter the cores themselves eg. making them more efficient by eliminating overheads
How can we specialise multicore chips for energy efficiency?
- Make the cores heterogenous
- Remove the core altogether for some algorithms
- Create accelerators for certain tasks
Why are accelerators more efficient?
Specialised - lacks out-of-order hardware, caches, multithreading etc.
What does ASIC stand for?
Application Specific Integrated Circuits
Do programs run faster on ASICs or FPGAs?
ASICs
What is speeding sequential code?
Temporarily exceeding power budget, allowing some cores to run faster
Used when we have more sequential work to do in a core
What is dual-core lockstep?
In safety-critical applications, we have two separate processors running the same core with some checking logic ensuring results are the same
Draw a diagram of dual-core lockstep
.
Give an example of an application in which we might be able to reduce energy usage because they don’t require 100% accuracy
Video games
Why do we need processors to be secure?
May be running on untrusted services eg. cloud
May be computing with sensitive information
How can we help keep processors secure?
Programming languages eg. prevent buffer overflow
What is spectre?
A class of speculative execution CPU vulnerabilities
How does spectre work?
- Train branch predictor to mispredict
- Victim loads secret data
- These misspeculated instructions are executed
- Check cache again after speculative execution - execution is rolled back because speculation is incorrect, but effects left in cache so can work out what victim loaded
Draw a diagram showing how spectre works
.
How can we deal with spectre?
Try to hide any speculative state
Which whole class of attack does the CHERI secure processor protect against?
Buffer overflow
What is lowRISC?
An open source SoC capable of running Linux well
Aim to build an open, transparent implementation of a secure root-of-trust
What is the lowRISC root-of-trust?
Part of the system that is verified to be secure, that means we can start to trust more and more of the system until we have confidence in the integrity of the whole system
What is the trade-off to consider when using accelerators?
Sacrificing flexibility for performance