TY - GEN
T1 - Incremental commit groups for non-atomic trace processing
AU - Yourst, Matt T.
AU - Ghose, Kanad
PY - 2005
Y1 - 2005
N2 - We introduce techniques to support efficient non-atomic execution of very long traces on a new binary translation based, x86-64 compatible VLIW microprocessor. Incrementally committed long traces significantly reduce wasted computations on exception induced rollbacks by retaining the correctly committed parts of traces. We divide each scheduled trace into multiple commit groups; groups are committed to the architectural state after all instructions within and prior to each group complete without exceptions. Architectural state updates are only visible after future commit points are deferred using a simple hardware commit buffer. We employ a commit depth predictor to predict how many groups a trace will complete, thereby eliminating pipeline flushes on repeated rollbacks. Unlike atomic traces, we allow instructions to be freely scheduled across commit points throughout the trace to maximize ILP. Commit groups are formed after scheduling, allowing the commit points terminating each group to be inserted more optimally. Commit groups promote significantly faster convergence on optimized traces, since we salvage partially executed traces and splice the working parts together into new optimized traces. We use detailed models to demonstrate how commit groups substantially improve performance (on average, over 1.5×on SPEC 2000) relative to atomic traces.
AB - We introduce techniques to support efficient non-atomic execution of very long traces on a new binary translation based, x86-64 compatible VLIW microprocessor. Incrementally committed long traces significantly reduce wasted computations on exception induced rollbacks by retaining the correctly committed parts of traces. We divide each scheduled trace into multiple commit groups; groups are committed to the architectural state after all instructions within and prior to each group complete without exceptions. Architectural state updates are only visible after future commit points are deferred using a simple hardware commit buffer. We employ a commit depth predictor to predict how many groups a trace will complete, thereby eliminating pipeline flushes on repeated rollbacks. Unlike atomic traces, we allow instructions to be freely scheduled across commit points throughout the trace to maximize ILP. Commit groups are formed after scheduling, allowing the commit points terminating each group to be inserted more optimally. Commit groups promote significantly faster convergence on optimized traces, since we salvage partially executed traces and splice the working parts together into new optimized traces. We use detailed models to demonstrate how commit groups substantially improve performance (on average, over 1.5×on SPEC 2000) relative to atomic traces.
KW - Binary translation
KW - Commitment
KW - Trace prediction
KW - VLIW
UR - https://www.scopus.com/pages/publications/33749389186
U2 - 10.1109/MICRO.2005.23
DO - 10.1109/MICRO.2005.23
M3 - Conference contribution
SN - 0769524400
SN - 9780769524405
T3 - Proceedings of the Annual International Symposium on Microarchitecture, MICRO
SP - 67
EP - 78
BT - MICRO-38
T2 - MICRO-38: 38th Annual IEEE/ACM International Symposium on Microarchitecture
Y2 - 12 November 2005 through 16 November 2005
ER -