{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:35:08Z","timestamp":1750307708612,"version":"3.41.0"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2009,9,1]],"date-time":"2009-09-01T00:00:00Z","timestamp":1251763200000},"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":[[2009,9]]},"abstract":"<jats:p>Out-of-order speculative processors need a bookkeeping method to recover from incorrect speculation. In recent years, several microarchitectures that employ checkpoints have been proposed, either extending the reorder buffer or entirely replacing it. This work presents an in-dept-study of checkpointing in checkpoint-based microarchitectures, from the desired content of a checkpoint, via implementation trade-offs, and to checkpoint allocation and release policies. A major contribution of the article is a novel adaptive checkpoint allocation policy that outperforms known policies. The adaptive policy controls checkpoint allocation according to dynamic events, such as second-level cache misses and rollback history. It achieves 6.8% and 2.2% speedup for the integer and floating point benchmarks, respectively, and does not require a branch confidence estimator. The results show that the proposed adaptive policy achieves most of the potential of an oracle policy whose performance improvement is 9.8% and 3.9% for the integer and floating point benchmarks, respectively. We exploit known techniques for saving leakage power by adapting and applying them to checkpoint-based microarchitectures. The proposed applications combine to reduce the leakage power of the register file to about one half of its original value.<\/jats:p>","DOI":"10.1145\/1582710.1582712","type":"journal-article","created":{"date-parts":[[2009,10,6]],"date-time":"2009-10-06T18:18:59Z","timestamp":1254853139000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Checkpoint allocation and release"],"prefix":"10.1145","volume":"6","author":[{"given":"Amit","family":"Golander","sequence":"first","affiliation":[{"name":"Tel-Aviv University, Tel-Aviv, Israel"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shlomo","family":"Weiss","sequence":"additional","affiliation":[{"name":"Tel-Aviv University, Tel-Aviv, Israel"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,10,2]]},"reference":[{"doi-asserted-by":"publisher","key":"e_1_2_1_1_1","DOI":"10.1145\/1044823.1044826"},{"doi-asserted-by":"publisher","key":"e_1_2_1_2_1","DOI":"10.1109\/HPCA.2004.10002"},{"doi-asserted-by":"publisher","key":"e_1_2_1_3_1","DOI":"10.1145\/1183401.1183409"},{"volume-title":"Proceedings of the International Conference on Application-Specific Systems, Architectures, and Processors. IEEE","author":"Ayala J.","key":"e_1_2_1_4_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_5_1","DOI":"10.1145\/268806.268810"},{"doi-asserted-by":"publisher","key":"e_1_2_1_6_1","DOI":"10.1145\/1138035.1138038"},{"doi-asserted-by":"publisher","key":"e_1_2_1_7_1","DOI":"10.1145\/1044823.1044825"},{"doi-asserted-by":"publisher","key":"e_1_2_1_8_1","DOI":"10.1109\/MICRO.2004.29"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.1109\/TC.2006.145"},{"doi-asserted-by":"publisher","key":"e_1_2_1_10_1","DOI":"10.1109\/ISCA.2005.46"},{"key":"e_1_2_1_11_1","first-page":"129","article-title":"Re-execution and selective reuse in checkpoint processors","volume":"2","author":"Golander A.","year":"2007","journal-title":"HiPEAC J."},{"doi-asserted-by":"publisher","key":"e_1_2_1_12_1","DOI":"10.1145\/1328195.1328201"},{"volume-title":"Proceedings of the 24th International Conference on Distributed Computing Systems Workshops. IEEE","author":"Goto M.","key":"e_1_2_1_13_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_14_1","DOI":"10.1145\/279358.279376"},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1109\/TC.1987.5009500"},{"volume-title":"Proceedings of the 29th Annual International Symposium on Microarchitecture. ACM","author":"Jacobsen E.","key":"e_1_2_1_16_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_17_1","DOI":"10.1109\/MM.2004.1289290"},{"doi-asserted-by":"publisher","key":"e_1_2_1_18_1","DOI":"10.1109\/40.755465"},{"doi-asserted-by":"publisher","key":"e_1_2_1_19_1","DOI":"10.1007\/11556930_51"},{"doi-asserted-by":"publisher","key":"e_1_2_1_20_1","DOI":"10.1109\/TVLSL.2003.821550"},{"doi-asserted-by":"publisher","key":"e_1_2_1_21_1","DOI":"10.1109\/MICRO.2005.15"},{"doi-asserted-by":"publisher","key":"e_1_2_1_22_1","DOI":"10.1109\/HPCA.2005.9"},{"volume-title":"Proceedings of the 29th Annual International Symposium on Microarchitecture. ACM","author":"Lipasti M.","key":"e_1_2_1_23_1"},{"unstructured":"Maliniak D. 2007. Stanch the bleeding of leakage power at 65nm. Tech. rep. http:\/\/electronicdesign.com\/Articles\/ArticleID\/17402\/17402.html  Maliniak D. 2007. Stanch the bleeding of leakage power at 65nm. Tech. rep. http:\/\/electronicdesign.com\/Articles\/ArticleID\/17402\/17402.html","key":"e_1_2_1_24_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_25_1","DOI":"10.1145\/279358.279377"},{"volume-title":"Proceedings of the 35th Annual International Symposium on Microarchitecture. ACM","author":"Martinez J.","key":"e_1_2_1_26_1"},{"volume-title":"Power: The sixth generation. Microprocessor Rep. 10.","year":"2006","author":"McGhan H.","key":"e_1_2_1_27_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_28_1","DOI":"10.1109\/TDMR.2005.859577"},{"doi-asserted-by":"publisher","key":"e_1_2_1_29_1","DOI":"10.1145\/871506.871585"},{"volume-title":"Proceedings of the 26th Annual International Symposium on Microarchitecture. ACM","author":"Moudgill M.","key":"e_1_2_1_30_1"},{"volume-title":"Proceedings of the 9th IEEE International Symposium on High-Performance Computer Architecture. IEEE","author":"Mutlu O.","key":"e_1_2_1_31_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_32_1","DOI":"10.1145\/344166.344526"},{"doi-asserted-by":"publisher","key":"e_1_2_1_33_1","DOI":"10.1109\/HPCA.2007.346195"},{"doi-asserted-by":"publisher","key":"e_1_2_1_34_1","DOI":"10.1145\/1128022.1128059"},{"doi-asserted-by":"publisher","key":"e_1_2_1_35_1","DOI":"10.1109\/TC.2006.88"},{"unstructured":"Seznec A. and Michaud P. 2006. A case for (partially) TAgged GEometric history length branch prediction. J. Instruc.-Level Paral. 8.  Seznec A. and Michaud P. 2006. A case for (partially) TAgged GEometric history length branch prediction. J. Instruc.-Level Paral. 8.","key":"e_1_2_1_36_1"},{"volume-title":"Proceedings of the International Computer Symposium. ACM","author":"Shieh W.","key":"e_1_2_1_37_1"},{"volume-title":"Proceedings of the 31st Annual International Symposium on Microarchitecture. ACM","author":"Skadron K.","key":"e_1_2_1_38_1"},{"unstructured":"Skadron K. Martonosi M. and Clark D. 2000. Speculative updates of local and global branch history: A quantitative analysis. J. Instruc.-Level Paral. 2.  Skadron K. Martonosi M. and Clark D. 2000. Speculative updates of local and global branch history: A quantitative analysis. J. Instruc.-Level Paral. 2.","key":"e_1_2_1_39_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_40_1","DOI":"10.1109\/12.4607"},{"doi-asserted-by":"publisher","key":"e_1_2_1_41_1","DOI":"10.1145\/1024393.1024407"},{"unstructured":"Tarjan D. Thoziyoor S. and Jouppi N. 2006. Cacti 4.0. Tech. rep. HPL-2006-86 HP Laboratories Palo Alto.  Tarjan D. Thoziyoor S. and Jouppi N. 2006. Cacti 4.0. Tech. rep. HPL-2006-86 HP Laboratories Palo Alto.","key":"e_1_2_1_42_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_43_1","DOI":"10.1145\/373574.373576"},{"doi-asserted-by":"publisher","key":"e_1_2_1_44_1","DOI":"10.1109\/40.491460"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1582710.1582712","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1582710.1582712","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:30:08Z","timestamp":1750253408000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1582710.1582712"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,9]]},"references-count":44,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2009,9]]}},"alternative-id":["10.1145\/1582710.1582712"],"URL":"https:\/\/doi.org\/10.1145\/1582710.1582712","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2009,9]]},"assertion":[{"value":"2007-09-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-10-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}