{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:42:28Z","timestamp":1750308148337,"version":"3.41.0"},"reference-count":27,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2006,6,1]],"date-time":"2006-06-01T00:00:00Z","timestamp":1149120000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2006,6]]},"abstract":"<jats:p>Modern superscalar processors often suffer long stalls because of load misses in on-chip L2 caches. To address this problem, we propose hiding L2 misses with Checkpoint-Assisted VAlue prediction (CAVA). On an L2 cache miss, a predicted value is returned to the processor. When the missing load finally reaches the head of the ROB, the processor checkpoints its state, retires the load, and speculatively uses the predicted value and continues execution. When the value in memory arrives at the L2 cache, it is compared to the predicted value. If the prediction was correct, speculation has succeeded and execution continues; otherwise, execution is rolled back and restarted from the checkpoint. CAVA uses fast checkpointing, speculative buffering, and a modest-sized value prediction structure that has about 50% accuracy. Compared to an aggressive superscalar processor, CAVA speeds up execution by up to 1.45 for SPECint applications and 1.58 for SPECfp applications, with a geometric mean of 1.14 for SPECint and 1.34 for SPECfp applications. We also evaluate an implementation of Runahead execution---a previously proposed scheme that does not perform value prediction and discards all work done between checkpoint and data reception from memory. Runahead execution speeds up execution by a geometric mean of 1.07 for SPECint and 1.18 for SPECfp applications, compared to the same baseline.<\/jats:p>","DOI":"10.1145\/1138035.1138038","type":"journal-article","created":{"date-parts":[[2006,7,25]],"date-time":"2006-07-25T14:14:26Z","timestamp":1153836866000},"page":"182-208","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":34,"title":["CAVA"],"prefix":"10.1145","volume":"3","author":[{"given":"Luis","family":"Ceze","sequence":"first","affiliation":[{"name":"University of Illinois at Urbana--Champaign, Urbana-Champaign, IL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Karin","family":"Strauss","sequence":"additional","affiliation":[{"name":"University of Illinois at Urbana--Champaign, Urbana-Champaign, IL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"James","family":"Tuck","sequence":"additional","affiliation":[{"name":"University of Illinois at Urbana--Champaign, Urbana-Champaign, IL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Josep","family":"Torrellas","sequence":"additional","affiliation":[{"name":"University of Illinois at Urbana--Champaign, Urbana-Champaign, IL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jose","family":"Renau","sequence":"additional","affiliation":[{"name":"University of California, Santa Cruz, Santa Cruz, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,6]]},"reference":[{"volume-title":"Proceedings of the 36th International Symposium on Microarchitecture.","author":"Akkary H.","unstructured":"Akkary , H. , Rajwar , R. , and Srinivasan , S. T . 2003. Checkpoint processing and recovery: Towards scalable large instruction window processors . In Proceedings of the 36th International Symposium on Microarchitecture. Akkary, H., Rajwar, R., and Srinivasan, S. T. 2003. Checkpoint processing and recovery: Towards scalable large instruction window processors. In Proceedings of the 36th International Symposium on Microarchitecture.","key":"e_1_2_1_1_1"},{"volume-title":"Proceedings of the 1991 International Conference on Supercomputing. 10","author":"Baer J.","unstructured":"Baer , J. and Chen , T . 1991. An effective on-chip preloading scheme to reduce data access penalty . In Proceedings of the 1991 International Conference on Supercomputing. 10 .1145\/125826.125932 Baer, J. and Chen, T. 1991. An effective on-chip preloading scheme to reduce data access penalty. In Proceedings of the 1991 International Conference on Supercomputing. 10.1145\/125826.125932","key":"e_1_2_1_2_1"},{"volume-title":"Proceedings of the 1999 Parallel Architectures and Compilation Techniques.","author":"Burtscher M.","unstructured":"Burtscher , M. and Zorn , B. G . 1999. Exploring last n value prediction . In Proceedings of the 1999 Parallel Architectures and Compilation Techniques. Burtscher, M. and Zorn, B. G. 1999. Exploring last n value prediction. In Proceedings of the 1999 Parallel Architectures and Compilation Techniques.","key":"e_1_2_1_3_1"},{"volume-title":"Proceedings of the 4th Architectural Support for Programming Languages and Operating Systems. 10","author":"Callahan D.","unstructured":"Callahan , D. , Kennedy , K. , and Porterfield , A . 1991. Software prefetching . In Proceedings of the 4th Architectural Support for Programming Languages and Operating Systems. 10 .1145\/106972.106979 Callahan, D., Kennedy, K., and Porterfield, A. 1991. Software prefetching. In Proceedings of the 4th Architectural Support for Programming Languages and Operating Systems. 10.1145\/106972.106979","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 10th High Performance Computer Architecture. 10","author":"Cristal A.","year":"2004","unstructured":"Cristal , A. , Ortega , D. , Llosa , J. , and Valero , M . 2004. Out-of-order commit processors . In Proceedings of the 10th High Performance Computer Architecture. 10 .1109\/HPCA. 2004 .10008 Cristal, A., Ortega, D., Llosa, J., and Valero, M. 2004. Out-of-order commit processors. In Proceedings of the 10th High Performance Computer Architecture. 10.1109\/HPCA.2004.10008"},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 21st International Symposium on Computer Architecture. 10","author":"Farkas K. I.","year":"1919","unstructured":"Farkas , K. I. and Jouppi , N. P . 1994. Complexity\/performance tradeoffs with non-blocking loads . In Proceedings of the 21st International Symposium on Computer Architecture. 10 .1145\/ 1919 95.192029 Farkas, K. I. and Jouppi, N. P. 1994. Complexity\/performance tradeoffs with non-blocking loads. In Proceedings of the 21st International Symposium on Computer Architecture. 10.1145\/191995.192029"},{"volume-title":"Proceedings of the 7th High Performance Computer Architecture.","author":"Goeman B.","unstructured":"Goeman , B. , Vandierendonck , H. , and Bosschere , K. D . 2001. Differential FCM: Increasing value prediction accuracy by improving usage efficiency . In Proceedings of the 7th High Performance Computer Architecture. Goeman, B., Vandierendonck, H., and Bosschere, K. D. 2001. Differential FCM: Increasing value prediction accuracy by improving usage efficiency. In Proceedings of the 7th High Performance Computer Architecture.","key":"e_1_2_1_8_1"},{"volume-title":"Proceedings of the 8th Architectural Support for Programming Languages and Operating Systems. 10","author":"Hammond L.","unstructured":"Hammond , L. , Willey , M. , and Olukotun , K . 1998. Data speculation support for a chip multiprocessor . In Proceedings of the 8th Architectural Support for Programming Languages and Operating Systems. 10 .1145\/291069.291020 Hammond, L., Willey, M., and Olukotun, K. 1998. Data speculation support for a chip multiprocessor. In Proceedings of the 8th Architectural Support for Programming Languages and Operating Systems. 10.1145\/291069.291020","key":"e_1_2_1_9_1"},{"volume-title":"Proceedings of the 24th International Symposium on Computer Architecture. 10","author":"Joseph D.","unstructured":"Joseph , D. and Grunwald , D . 1997. Prefetching using markov predictors . In Proceedings of the 24th International Symposium on Computer Architecture. 10 .1145\/264107.264207 Joseph, D. and Grunwald, D. 1997. Prefetching using markov predictors. In Proceedings of the 24th International Symposium on Computer Architecture. 10.1145\/264107.264207","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the 17th International Symposium on Computer Architecture. 10","author":"Jouppi N. P.","year":"1990","unstructured":"Jouppi , N. P. 1990 . Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers . In Proceedings of the 17th International Symposium on Computer Architecture. 10 .1145\/325164.325162 Jouppi, N. P. 1990. Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. In Proceedings of the 17th International Symposium on Computer Architecture. 10.1145\/325164.325162"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the 11th High Performance Computer Architecture. 10","author":"Kirman N.","year":"2005","unstructured":"Kirman , N. , Kirman , M. , Chaudhuri , M. , and Martinez , J. F . 2005. Checkpointed early load retirement . In Proceedings of the 11th High Performance Computer Architecture. 10 .1109\/HPCA. 2005 .9 Kirman, N., Kirman, M., Chaudhuri, M., and Martinez, J. F. 2005. Checkpointed early load retirement. In Proceedings of the 11th High Performance Computer Architecture. 10.1109\/HPCA.2005.9"},{"doi-asserted-by":"publisher","key":"e_1_2_1_13_1","DOI":"10.1109\/12.795218"},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the 8th International Symposium on Computer Architecture.","author":"Kroft D.","year":"1981","unstructured":"Kroft , D. 1981 . Lockup-free instruction fetch\/prefetch cache organization . In Proceedings of the 8th International Symposium on Computer Architecture. Kroft, D. 1981. Lockup-free instruction fetch\/prefetch cache organization. In Proceedings of the 8th International Symposium on Computer Architecture."},{"volume-title":"Proceedings of the 29th International Symposium on Computer Architecture.","author":"Lebeck A. R.","unstructured":"Lebeck , A. R. , Koppanalil , J. , Li , T. , Patwardhan , J. , and Rotenberg , E . 2002. A large, fast instruction window for tolerating cache misses . In Proceedings of the 29th International Symposium on Computer Architecture. Lebeck, A. R., Koppanalil, J., Li, T., Patwardhan, J., and Rotenberg, E. 2002. A large, fast instruction window for tolerating cache misses. In Proceedings of the 29th International Symposium on Computer Architecture.","key":"e_1_2_1_15_1"},{"volume-title":"Proceedings of the 7th Architectural Support for Programming Languages and Operating Systems. 10","author":"Lipasti M. H.","unstructured":"Lipasti , M. H. , Wilkerson , C. B. , and Shen , J. P . 1996. Value locality and load value prediction . In Proceedings of the 7th Architectural Support for Programming Languages and Operating Systems. 10 .1145\/237090.237173 Lipasti, M. H., Wilkerson, C. B., and Shen, J. P. 1996. Value locality and load value prediction. In Proceedings of the 7th Architectural Support for Programming Languages and Operating Systems. 10.1145\/237090.237173","key":"e_1_2_1_16_1"},{"volume-title":"Proceedings of the 7th Architectural Support for Programming Languages and Operating Systems. 10","author":"Luk C.-K.","unstructured":"Luk , C.-K. and Mowry , T. C . 1996. Compiler-based prefetching for recursive data structures . In Proceedings of the 7th Architectural Support for Programming Languages and Operating Systems. 10 .1145\/237090.237190 Luk, C.-K. and Mowry, T. C. 1996. Compiler-based prefetching for recursive data structures. In Proceedings of the 7th Architectural Support for Programming Languages and Operating Systems. 10.1145\/237090.237190","key":"e_1_2_1_17_1"},{"volume-title":"Proceedings of the 34th International Symposium on Microarchitecture.","author":"Martin M. M. K.","unstructured":"Martin , M. M. K. , Sorin , D. J. , Cain , H. W. , Hill , M. D. , and Lipasti , M. H . 2001. Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing . In Proceedings of the 34th International Symposium on Microarchitecture. Martin, M. M. K., Sorin, D. J., Cain, H. W., Hill, M. D., and Lipasti, M. H. 2001. Correctly implementing value prediction in microprocessors that support multithreading or multiprocessing. In Proceedings of the 34th International Symposium on Microarchitecture.","key":"e_1_2_1_18_1"},{"volume-title":"Proceedings of the 35th International Symposium on Microarchitecture.","author":"Martinez J. F.","unstructured":"Martinez , J. F. , Renau , J. , Huang , M. , Prvulovic , M. , and Torrellas , J . 2002. Cherry: Checkpointed early resource recycling in out-of-order microprocessors . In Proceedings of the 35th International Symposium on Microarchitecture. Martinez, J. F., Renau, J., Huang, M., Prvulovic, M., and Torrellas, J. 2002. Cherry: Checkpointed early resource recycling in out-of-order microprocessors. In Proceedings of the 35th International Symposium on Microarchitecture.","key":"e_1_2_1_19_1"},{"volume-title":"Proceedings of the 9th High Performance Computer Architecture.","author":"Mutlu O.","unstructured":"Mutlu , O. , Stark , J. , Wilkerson , C. , and Patt , Y. N . 2003. Runahead execution: An alternative to very large instruction windows for out-of-order processors . In Proceedings of the 9th High Performance Computer Architecture. Mutlu, O., Stark, J., Wilkerson, C., and Patt, Y. N. 2003. Runahead execution: An alternative to very large instruction windows for out-of-order processors. In Proceedings of the 9th High Performance Computer Architecture.","key":"e_1_2_1_20_1"},{"doi-asserted-by":"crossref","unstructured":"Mutlu O. Kim H. Stark J. and Patt Y. N. 2005. On reusing the results of pre-executed instructions in a runahead execution processor. Computer Architecture Letters. 10.1109\/L-CA.2005.1   Mutlu O. Kim H. Stark J. and Patt Y. N. 2005. On reusing the results of pre-executed instructions in a runahead execution processor. Computer Architecture Letters. 10.1109\/L-CA.2005.1","key":"e_1_2_1_21_1","DOI":"10.1109\/L-CA.2005.1"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the 21st International Symposium on Computer Architecture. 10","author":"Palacharla S.","year":"1919","unstructured":"Palacharla , S. and Kessler , R. E . 1994. Evaluating stream buffers as a secondary cache replacement . In Proceedings of the 21st International Symposium on Computer Architecture. 10 .1145\/ 1919 95.192014 Palacharla, S. and Kessler, R. E. 1994. Evaluating stream buffers as a secondary cache replacement. In Proceedings of the 21st International Symposium on Computer Architecture. 10.1145\/191995.192014"},{"volume-title":"Proceedings of the 30th International Symposium on Microarchitecture.","author":"Sazeides Y.","unstructured":"Sazeides , Y. and Smith , J. E . 1997. The predictability of data values . In Proceedings of the 30th International Symposium on Microarchitecture. Sazeides, Y. and Smith, J. E. 1997. The predictability of data values. In Proceedings of the 30th International Symposium on Microarchitecture.","key":"e_1_2_1_23_1"},{"volume-title":"Proceedings of the 22nd International Symposium on Computer Architecture. 10","author":"Sohi G.","unstructured":"Sohi , G. , Breach , S. , and Vijaykumar , T . 1995. Multiscalar processors . In Proceedings of the 22nd International Symposium on Computer Architecture. 10 .1145\/223982.224451 Sohi, G., Breach, S., and Vijaykumar, T. 1995. Multiscalar processors. In Proceedings of the 22nd International Symposium on Computer Architecture. 10.1145\/223982.224451","key":"e_1_2_1_24_1"},{"volume-title":"Proceedings of the 11th Architectural Support for Programming Languages and Operating Systems. 10","author":"Srinivasan S. T.","unstructured":"Srinivasan , S. T. , Rajwar , R. , Akkary , H. , Gandhi , A. , and Upton , M . 2004. Continual flow pipelines . In Proceedings of the 11th Architectural Support for Programming Languages and Operating Systems. 10 .1145\/1024393.1024407 Srinivasan, S. T., Rajwar, R., Akkary, H., Gandhi, A., and Upton, M. 2004. Continual flow pipelines. In Proceedings of the 11th Architectural Support for Programming Languages and Operating Systems. 10.1145\/1024393.1024407","key":"e_1_2_1_25_1"},{"volume-title":"Proceedings of the 27th International Symposium on Computer Architecture. 10","author":"Steffan J. G.","unstructured":"Steffan , J. G. , Colohan , C. , Zhai , A. , and Mowry , T . 2000. A scalable approach to thread-level speculation . In Proceedings of the 27th International Symposium on Computer Architecture. 10 .1145\/339647.339650 Steffan, J. G., Colohan, C., Zhai, A., and Mowry, T. 2000. A scalable approach to thread-level speculation. In Proceedings of the 27th International Symposium on Computer Architecture. 10.1145\/339647.339650","key":"e_1_2_1_26_1"},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the 11th High Performance Computer Architecture. 10","author":"Tuck N.","year":"2005","unstructured":"Tuck , N. and Tullsen , D . 2005. Multithreaded value prediction . In Proceedings of the 11th High Performance Computer Architecture. 10 .1109\/HPCA. 2005 .22 Tuck, N. and Tullsen, D. 2005. Multithreaded value prediction. In Proceedings of the 11th High Performance Computer Architecture. 10.1109\/HPCA.2005.22"},{"volume-title":"Proceedings of the 17th International Conference on Supercomputing. 10","author":"Zhou H.","unstructured":"Zhou , H. and Conte , T . 2003. Enhancing memory level parallelism via recovery-free value prediction . In Proceedings of the 17th International Conference on Supercomputing. 10 .1145\/782814.782859 Zhou, H. and Conte, T. 2003. Enhancing memory level parallelism via recovery-free value prediction. In Proceedings of the 17th International Conference on Supercomputing. 10.1145\/782814.782859","key":"e_1_2_1_28_1"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1138035.1138038","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1138035.1138038","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:18:40Z","timestamp":1750263520000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1138035.1138038"}},"subtitle":["Using checkpoint-assisted value prediction to hide L2 misses"],"short-title":[],"issued":{"date-parts":[[2006,6]]},"references-count":27,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2006,6]]}},"alternative-id":["10.1145\/1138035.1138038"],"URL":"https:\/\/doi.org\/10.1145\/1138035.1138038","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2006,6]]},"assertion":[{"value":"2006-06-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}