Microarchitectural Denial of Service: Insuring Microarchitectural Fairness
Authors:
Abstract:
Simultaneous multithreading seeks to improve the aggregate
computation bandwidth of a processor core by sharing resources
such as functional units, caches, TLB and so on. To date, most re-search
investigating the scheduling of these shared resources has
focused on enhancing computational bandwidth. In this paper, we
examine scheduling fairness. First, we show that a thread running
on an implementation of a SMT processor can suffer from "de-nial
of service" by a malicious thread, slowing down the original
thread by a factor of 10-20. Using performance counter hardware,
we show that the slowdown occurs because of deliberate misuse of
shared resources and design decisions that are necessary for high
speed implementation.
We then propose and evaluate a number of mechanisms to
counter such malicious behavior: some affect the core scheduling
algorithm and others simply attempt to identify activity that would
affect threads sharing the same processor core. We find that harm-ful
activity based mechanisms outperform core scheduling mecha-nisms.
In addition, we show that they can be designed so that they
can differentiate between malicious attacks and legitimate activi-ties
that may also make use of the same harmful activities.