@inproceedings{fb3e781e744543aab7f4d45a68a1bde3,
title = "Pinned loads: Taming speculative loads in secure processors",
abstract = "In security frameworks for speculative execution, an instruction is said to reach its Visibility Point (VP) when it is no longer vulnerable to pipeline squashes. Before a potentially leaky instruction reaches its VP, it has to stall-unless a defense scheme such as invisible speculation provides protection. Unfortunately, either stalling or protecting the execution of pre-VP instructions typically has a performance cost. One way to attain low-overhead safe execution is to develop techniques that speed-up the advance of the VP from older to younger instructions. In this paper, we propose one such technique. We find that the progress of the VP for loads is mostly impeded by waiting until no memory consistency violations (MCVs) are possible. Hence, our technique, called , tries to make loads invulnerable to MCVs as early as possible-a process we call pinning the loads in the pipeline. The result is faster VP progress and a reduction in the execution overhead of defense schemes. In this paper, we describe the hardware needed by , and two possible designs with different tradeoffs between hardware requirements and performance. Our evaluation shows that is very effective: extending three popular defense schemes against speculative execution attacks with reduces their average execution overhead on SPEC17 and on SPLASH2/PARSEC applications by about 50%. For example, on SPEC17, the execution overhead of the three defense schemes decreases from to , from to , and from to .",
keywords = "Cache coherence protocol, Memory consistency, Processor design, Speculative execution defense",
author = "Zhao, {Zirui Neil} and Houxiang Ji and Adam Morrison and Darko Marinov and Josep Torrellas",
note = "Publisher Copyright: {\textcopyright} 2022 ACM.; 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2022 ; Conference date: 28-02-2022 Through 04-03-2022",
year = "2022",
month = feb,
day = "28",
doi = "https://doi.org/10.1145/3503222.3507724",
language = "الإنجليزيّة",
series = "International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS",
pages = "314--328",
editor = "Babak Falsafi and Michael Ferdman and Shan Lu and Wenisch, {Thomas F.}",
booktitle = "ASPLOS 2022 - Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems",
}