Hardware Security
Why do some systems handling confidential work disable the CPU's simultaneous multithreading (SMT)?
- ATwo threads on the same core share the L1 cache, execution units and more, so one thread can closely observe the other's activity
- BDisabling SMT always increases CPU performance
- CSMT cannot perform cryptographic computation
Show answer and explanation
Answer: A. Two threads on the same core share the L1 cache, execution units and more, so one thread can closely observe the other's activity
With SMT, two threads run simultaneously in one core, finely sharing the L1 cache, branch predictor, execution units, buffers and more. One thread can therefore observe the resources the other uses through timing measurements, and several vulnerabilities required exactly this condition. To avoid sharing a core with untrusted parties, SMT is turned off or only threads of the same tenant are scheduled on the same core.
- A. Correct. The finer the sharing, the easier the leakage.
- B. Total throughput usually drops.
- C. Cryptographic computation works.