{"title":"Compiler transformations for speculative execution in a real-time system","authors":"M. Younis, T. Marlowe, A. Stoyen","doi":"10.1109/REAL.1994.342725","DOIUrl":null,"url":null,"abstract":"Deterministic worst-case execution to satisfy hard real-time constraints, and speculative execution with rollback to improve average-case throughput, appear to lie on opposite ends of a spectrum of performance requirements and strategies. Nonetheless, we show there are situations in which speculative execution can probably improve the performance of a hard real-time system, either by improving average performance while not affecting the worst case, or by actually decreasing worst-case execution time. We also show how related strategies for partial or total precomputation can lead to improved performance. Finally, we discuss possible compiler transformations to detect chances of profitable speculative execution.<<ETX>>","PeriodicalId":374952,"journal":{"name":"1994 Proceedings Real-Time Systems Symposium","volume":"64 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1994-12-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"19","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"1994 Proceedings Real-Time Systems Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/REAL.1994.342725","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 19
Abstract
Deterministic worst-case execution to satisfy hard real-time constraints, and speculative execution with rollback to improve average-case throughput, appear to lie on opposite ends of a spectrum of performance requirements and strategies. Nonetheless, we show there are situations in which speculative execution can probably improve the performance of a hard real-time system, either by improving average performance while not affecting the worst case, or by actually decreasing worst-case execution time. We also show how related strategies for partial or total precomputation can lead to improved performance. Finally, we discuss possible compiler transformations to detect chances of profitable speculative execution.<>