@conference {brooks2011alarms,
	title = {The alarms project: a hardware/software approach to addressing parameter variations},
	booktitle = {Design Automation Conference (ASP-DAC), 2011 16th Asia and South Pacific},
	year = {2011},
	pages = {291{\textendash}291},
	publisher = {IEEE},
	organization = {IEEE},
	abstract = {Parameter variations (process, voltage, and temperature) threaten continued performance scaling of power-constrained computer systems. As designers seek to contain the power consumption of microprocessors through reductions in supply voltage and power-saving techniques such as clock-gating, these systems suffer increasingly large power supply fluctuations due to the finite impedance of the power supply network. These supply fluctuations, referred to as voltage emergencies, must be managed to guarantee correctness. Traditional approaches to address this problem incur high-cost or compromise power/performance efficiency. Our research seeks ways to handle these alarm conditions through a combined hardware/software approach, motivated by root cause analysis of voltage emergencies revealing that many of these events are heavily linked to both program control flow and microarchitectural events (cache misses and pipeline flushes). This talk will discuss three aspects of the project: (1) a fail-safe mechanism that provides hardware guaranteed correctness; (2) a voltage emergency predictor that leverages control flow and microarchitectural event information to predict voltage emergencies up to 16 cycles in advance; and (3) a proof-of-concept dynamic compiler implementation that demonstrates that dynamic code transformations can be used to eliminate voltage emergencies from the instruction stream with minimal impact on performance [1{\textendash}9].},
	url = {https://dl.acm.org/doi/10.5555/1950815.1950880},
	author = {David Brooks}
}
