Abstract
Many modern applications result in a significant operating system (OS) component. The OS component has several implications including affecting the control flow transfer in the execution environment. This paper focuses on understanding the operating system effects on control flow transfer and prediction, and designing architectural support to alleviate the bottlenecks. We characterize the control flow transfer of several emerging applications on a commercial operating system. We find that the exception-driven, intermittent invocation of OS code and the user/OS branch history interference increase the 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 one consists of capturing separate branch correlation information for user and kernel code. The second one involves using separate branch prediction tables for user and kernel code. We study the improvement contributed by the OS-aware prediction to various branch predictors ranging from simple Gshare to more elegant Agree, Multi-Hybrid and Bi-Mode predictors. On 32K entries predictors, incorporating OS-aware techniques yields up to 34%, 23%, 27% and 9% prediction accuracy improvement in Gshare, Multi-Hybrid, Agree and Bi-Mode predictors, resulting in up to 8% execution speedup.
Original language | English (US) |
---|---|
Pages | 68-80 |
Number of pages | 13 |
State | Published - 2002 |
Event | Tenth International Conference on Architectural Support for Programming Languages and Operating Systems - San Jose, CA, United States Duration: Oct 5 2002 → Oct 9 2002 |
Other
Other | Tenth International Conference on Architectural Support for Programming Languages and Operating Systems |
---|---|
Country/Territory | United States |
City | San Jose, CA |
Period | 10/5/02 → 10/9/02 |
All Science Journal Classification (ASJC) codes
- Software
- Information Systems
- Hardware and Architecture