TY - JOUR
T1 - OS-Aware Branch Prediction
T2 - Improving Microprocessor Control Flow Prediction for Operating Systems
AU - Li, Tao
AU - Vijaykrishnan, N.
N1 - Funding Information:
degree in computer science from the Indian Institute of Technology, Madras, in 1989, and the MS and PhD degrees in computer science from the Georgia Institute of Technology in 1991 and 1995, respectively. He has been on the faculty at Pennsylvania State University since Fall 1995, where he is currently a professor. His research interests are in com-puter architecture, operating systems, performance evaluation, and applications for both high-performance computer systems and embedded systems. His research has been funded by the US National Science Foundation through several grants, including the CAREER award, and from industries, including IBM, Microsoft, and Unisys Corp. He has several publications in leading journals and conferences, is on the editorial board of the IEEE Transactions on Parallel and Distributed Systems, and served on the editorial board of the IEEE Transactions on Computers. He is a recipient of the 2002, 2004, and 2005 IBM Faculty Awards. He is a senior member of the IEEE and a member of the IEEE Computer Society and the ACM.
PY - 2007/1
Y1 - 2007/1
N2 - Many modern applications have a significant operating system (OS) component. The OS execution affects various architectural states, including the dynamic branch predictions, which are widely used in today's high-performance microprocessor designs to improve performance. This impact tends to become more significant as the designs become more deeply pipelined and more speculative. In this paper, we focus on the issues of understanding the OS effects on the branch predictions and designing architectural support to alleviate the bottlenecks that are created by misprediction. In this work, we characterize the control flow transfer of several emerging applications on a commercial OS. It was observed that the exception-driven, intermittent invocation of OS code and user/OS branch history interference increased misprediction in both user and kernel code. We propose two simple OS-aware control flow prediction techniques to alleviate the destructive impact of user/OS branch interference. The first consists of capturing separate branch correlation information for user and kernel code. The second involves using separate branch prediction tables for user and kernel code. We demonstrate in this paper that OS-aware branch predictions require minimal hardware modifications and additions. Moreover, the OS-aware branch predictions can be integrated with many existing schemes to further improve their performance. We studied the improvement contributed by OS-aware techniques to various branch prediction schemes ranging from the simple Gshare to the more advanced Agree, Multi-Hybrid, and Bi-Mode predictors. On the 32K-entry predictors, incorporating the OS-aware techniques yields up to 34 percent, 23 percent, 27 percent, and 9 percent prediction accuracy improvement on the Gshare, Multi-Hybrid, Agree, and Bi-Mode predictors, respectively.
AB - Many modern applications have a significant operating system (OS) component. The OS execution affects various architectural states, including the dynamic branch predictions, which are widely used in today's high-performance microprocessor designs to improve performance. This impact tends to become more significant as the designs become more deeply pipelined and more speculative. In this paper, we focus on the issues of understanding the OS effects on the branch predictions and designing architectural support to alleviate the bottlenecks that are created by misprediction. In this work, we characterize the control flow transfer of several emerging applications on a commercial OS. It was observed that the exception-driven, intermittent invocation of OS code and user/OS branch history interference increased misprediction in both user and kernel code. We propose two simple OS-aware control flow prediction techniques to alleviate the destructive impact of user/OS branch interference. The first consists of capturing separate branch correlation information for user and kernel code. The second involves using separate branch prediction tables for user and kernel code. We demonstrate in this paper that OS-aware branch predictions require minimal hardware modifications and additions. Moreover, the OS-aware branch predictions can be integrated with many existing schemes to further improve their performance. We studied the improvement contributed by OS-aware techniques to various branch prediction schemes ranging from the simple Gshare to the more advanced Agree, Multi-Hybrid, and Bi-Mode predictors. On the 32K-entry predictors, incorporating the OS-aware techniques yields up to 34 percent, 23 percent, 27 percent, and 9 percent prediction accuracy improvement on the Gshare, Multi-Hybrid, Agree, and Bi-Mode predictors, respectively.
UR - http://www.scopus.com/inward/record.url?scp=85008035443&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85008035443&partnerID=8YFLogxK
U2 - 10.1109/TC.2007.250619
DO - 10.1109/TC.2007.250619
M3 - Article
AN - SCOPUS:85008035443
SN - 0018-9340
VL - 56
SP - 2
EP - 17
JO - IEEE Transactions on Computers
JF - IEEE Transactions on Computers
IS - 1
ER -