Open this publication in new window or tab >>Show others...
2020 (English)In: PACT ’20: Proceedings of the ACM International Conference on Parallel Architectures and Compilation Techniques, Association for Computing Machinery (ACM) , 2020, p. 241-254Conference paper, Published paper (Refereed)
Abstract [en]
Out-of-order processors heavily rely on speculation to achieve high performance, allowing instructions to bypass other slower instructions in order to fully utilize the processor's resources. Speculatively executed instructions do not affect the correctness of the application, as they never change the architectural state, but they do affect the micro-architectural behavior of the system. Until recently, these changes were considered to be safe but with the discovery of new security attacks that misuse speculative execution to leak secrete information through observable micro-architectural changes (so called side-channels), this is no longer the case. To solve this issue, a wave of software and hardware mitigations have been proposed, the majority of which delay and/or hide speculative execution until it is deemed to be safe, trading performance for security. These newly enforced restrictions change how speculation is applied and where the performance bottlenecks appear, forcing us to rethink how we design and optimize both the hardware and the software.
We observe that many of the state-of-the-art hardware solutions targeting memory systems operate on a common scheme: the visible execution of loads or their dependents is blocked until they become safe to execute. In this work we propose a generally applicable hardware-software extension that focuses on removing the causes of loads' unsafety, generally caused by control and memory dependence speculation. As a result, we manage to make more loads safe to execute at an early stage, which enables us to schedule more loads at a time to overlap their delays and improve performance. We apply our techniques on the state-of-the-art Delay-on-Miss hardware defense and show that we reduce the performance gap to the unsafe baseline by 53% (on average).
Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2020
Series
International Conference on Parallel Architectures and Compilation Techniques, ISSN 1089-795X
Keywords
speculative execution, side-channel attacks, caches, compiler, in- struction reordering, coherence protocoL
National Category
Computer Engineering
Identifiers
urn:nbn:se:uu:diva-428516 (URN)10.1145/3410463.3414640 (DOI)000723645400023 ()978-1-4503-8075-1 (ISBN)
Conference
PACT '20:International Conference on Parallel Architectures and Compilation Techniques, Virtual Event GA USA, October 3 - 7, 2020
Funder
Swedish Research Council, 2015-05159Swedish Research Council, 2016-05086Swedish Research Council, 2018-05254EU, Horizon 2020, 819134
2020-12-142020-12-142021-12-21Bibliographically approved