{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:40:06Z","timestamp":1736642406824,"version":"3.32.0"},"reference-count":25,"publisher":"Wiley","issue":"12","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4351,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1994,12]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Previous work on compiler\u2010based multiple instruction retry has utilized a series of compiler transformations, loop protection, node splitting, and loop expansion, to eliminate anti\u2010dependencies of length \u2264<jats:italic>N<\/jats:italic>in the pseudo register, the machine register, and the post\u2010pass resolver phases of compilation.<jats:sup>1<\/jats:sup>The results have provided a means of rapidly recovering from transient processor failures by rolling back<jats:italic>N<\/jats:italic>instructions. This paper presents techniques for improving compilation and run\u2010time performance in compiler\u2010based multiple instruction retry. Incremental updating enhances compilation time when new instructions are added to the program. Post\u2010pass code rescheduling and spill register reassignment algorithms improve the run\u2010time performance and decrease the code growth across the application programs studied. Branch hazards are shown to be resolvable by simple modifications to the incremental updating schemes during the pseudo register phase and to the spill register reassignment algorithm during the post\u2010pass phase.<\/jats:p>","DOI":"10.1002\/spe.4380241206","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T05:53:47Z","timestamp":1163829227000},"page":"1179-1198","source":"Crossref","is-referenced-by-count":1,"title":["Incremental compiler transformations for multiple instruction retry"],"prefix":"10.1002","volume":"24","author":[{"given":"Shyh\u2010Kwei","family":"Chen","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Neal J.","family":"Alewine","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"W. Kent","family":"Fuchs","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Wen\u2010Mei W.","family":"Hwu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","unstructured":"C\u2010C. J.Li S\u2010K.Chen W. K.Fuchs andW\u2010M. W.Hwu \u2018Compiler\u2010assisted multiple instruction retry\u2019 Technical Report CRHC\u201091\u201031 Coordinated Science Laboratory University of Illinois 1991 to appear inIEEE Transactions on Computers."},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1982.1676063"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1986.5009428"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010234"},{"key":"e_1_2_1_6_2","doi-asserted-by":"crossref","unstructured":"L.LinandM.Ahamad \u2018Checkpointing and rollback\u2010recovery in distributed object based systems\u2019 The Twentieth International Symposium on Fault\u2010Tolerant Computing 1990 pp.97\u2013104.","DOI":"10.1109\/FTCS.1990.89340"},{"key":"e_1_2_1_7_2","unstructured":"K.Tsuruoka A.Kaneko andY.Nishihara \u2018Dynamic recovery schemes for distributed processes\u2019 IEEE 2nd Symp. on Reliability in Distributed Software and Database Systems 1981 pp.124\u2013130."},{"key":"e_1_2_1_8_2","unstructured":"C.\u2010C. J.LiandW. K.Fuchs \u2018CATCH \u2010 Compiler\u2010assisted techniques for checkpointing\u2019 The Twentieth International Symposium on Fault\u2010Tolerant Computing June1990 pp.74\u201381."},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1987.5009500"},{"key":"e_1_2_1_10_2","unstructured":"M. L.Ciacelli \u2018Fault handling on the IBM 4341 processor\u2019 The Eleventh International Symposium on Fault\u2010Tolerant Computing June1981 pp.9\u201312."},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.261.0002"},{"key":"e_1_2_1_12_2","first-page":"71","article-title":"Designing reliability into the VAX 8600 System","volume":"8","author":"Bruckert W. F.","year":"1985","journal-title":"Digital Technical Journal of Digital Equipment Corporation"},{"key":"e_1_2_1_13_2","first-page":"13","article-title":"Design strategy for the VAX 9000 system","volume":"8","author":"Fite D. B.","year":"1990","journal-title":"Digital Technical Journal of Digital Equipment Corporation"},{"key":"e_1_2_1_14_2","unstructured":"P. M.Kogge K. T.Truong D. A.Richard andR. L.Schoenike \u2018Checkpoint retry mechanism\u2019. United States Patent no. 4912707 Mar.1990 Assignee:International Business Machines Corporation Armonk N.Y."},{"key":"e_1_2_1_15_2","unstructured":"G. L.Hicks D.HoweJr. andA.ZurlaJr. \u2018Instruction retry mechanism for a data processing system\u2019. United States Patent no. 4044337 Aug.1977 Assignee:International Business Machines Corporation Armonk N.Y."},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.4607"},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.54848"},{"key":"e_1_2_1_18_2","doi-asserted-by":"crossref","unstructured":"Y.Tamir M.Liang T.Lai andM.Tremblay \u2018The UCLA mirror processor: A building block for self\u2010checking self\u2010repairing computing nodes\u2019 The Twenty\u2010First International Symposium on Fault\u2010Tolerant Computing June1991 pp.178\u2013185.","DOI":"10.1109\/FTCS.1991.146658"},{"key":"e_1_2_1_19_2","doi-asserted-by":"crossref","unstructured":"L.Spainhower J.Isenberg R.Chillarege andJ.Berding \u2018Design for fault\u2010tolerance in system ES\/9000 model 900\u2019 The Twenty\u2010Second International Symposium on Fault\u2010Tolerant Computing July1992 pp.38\u201347.","DOI":"10.1109\/FTCS.1992.243617"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.364.0713"},{"key":"e_1_2_1_21_2","doi-asserted-by":"crossref","unstructured":"N. J.Alewine S.\u2010K.Chen C.\u2010C. J.Li W. K.Fuchs andW\u2010M. W.Hwu \u2018Branch recovery with compilerassisted multiple instruction retry\u2019 The Twenty\u2010Second International Symposium on Fault\u2010Tolerant Computing July1992 pp.66\u201373.","DOI":"10.21236\/ADA251920"},{"key":"e_1_2_1_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/7902.7904"},{"key":"e_1_2_1_23_2","doi-asserted-by":"crossref","unstructured":"P. P.Chang W. Y.Chen N. J.Warter andW\u2010M. W.Hwu \u2018IMPACT: An architecture framework for multiple\u2010instruction\u2010issue processors\u2019 The 18th Annual International Symposium on Computer Architecture May1991 pp.266\u2013275.","DOI":"10.1145\/115953.115979"},{"volume-title":"Compilers: Principles, Techniques, and Tools","year":"1986","author":"Aho A. V.","key":"e_1_2_1_24_2"},{"volume-title":"Introduction to Algorithms","year":"1990","author":"Cormen T. H.","key":"e_1_2_1_25_2"},{"volume-title":"Computers and Intractability: A Guide to the Theory of NP\u2010completeness","year":"1979","author":"Garey M. R.","key":"e_1_2_1_26_2"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380241206","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380241206","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:06:14Z","timestamp":1736640374000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380241206"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1994,12]]},"references-count":25,"journal-issue":{"issue":"12","published-print":{"date-parts":[[1994,12]]}},"alternative-id":["10.1002\/spe.4380241206"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380241206","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1994,12]]}}}