{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,21]],"date-time":"2026-01-21T08:31:58Z","timestamp":1768984318101,"version":"3.49.0"},"reference-count":54,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2020,5,29]],"date-time":"2020-05-29T00:00:00Z","timestamp":1590710400000},"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":[[2020,6,30]]},"abstract":"<jats:p>The vulnerability of GPUs to soft errors has become a first-class design concern as they are increasingly being used in accuracy-sensitive and safety-critical domains. Existing solutions used to enhance the reliability of GPUs come with significant overhead in terms of area, power, and\/or performance. In this article, we propose ArmorAll, a light-weight, adaptive, selective, and portable software solution to protect GPUs against soft errors. ArmorAll\u00a0consists of a set of purely compiler-based redundancy schemes designed to optimize instruction duplication on GPUs, thereby enabling much more reliable execution. The choice of the scheme determines the subset of instructions that must be duplicated in an application, allowing adaptable fault coverage for different applications.\u00a0ArmorAll\u00a0can intelligently select a redundancy scheme that provides the best coverage to an application with an accuracy of 91.7%. The high coverage provided by ArmorAll\u00a0comes at an average improvement of 64.5% in runtime when using the selected redundancy scheme as compared to the state-of-the-art.<\/jats:p>","DOI":"10.1145\/3382132","type":"journal-article","created":{"date-parts":[[2020,5,30]],"date-time":"2020-05-30T04:22:06Z","timestamp":1590812526000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":33,"title":["ArmorAll"],"prefix":"10.1145","volume":"17","author":[{"given":"Charu","family":"Kalra","sequence":"first","affiliation":[{"name":"Northeastern University, Boston, MA"}]},{"given":"Fritz","family":"Previlon","sequence":"additional","affiliation":[{"name":"Northeastern University, Boston, MA"}]},{"given":"Norm","family":"Rubin","sequence":"additional","affiliation":[{"name":"Northeastern University, Boston, MA"}]},{"given":"David","family":"Kaeli","sequence":"additional","affiliation":[{"name":"Northeastern University, Boston, MA"}]}],"member":"320","published-online":{"date-parts":[[2020,5,29]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"[n.d.]. Enabling on-the-fly manipulations with LLVM IR code of CUDA sources. Retrieved from https:\/\/github.com\/apc-llc\/nvcc-llvm-ir.  [n.d.]. Enabling on-the-fly manipulations with LLVM IR code of CUDA sources. Retrieved from https:\/\/github.com\/apc-llc\/nvcc-llvm-ir."},{"key":"e_1_2_1_2_1","volume-title":"Ullman","author":"Aho Alfred V.","year":"1986","unstructured":"Alfred V. Aho , Ravi Sethi , and Jeffrey D . Ullman . 1986 . Compilers : Principles, Techniques, and Tools. Addison-Wesley Longman Publishing Co. , Inc., Boston, MA. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. 1986. Compilers: Principles, Techniques, and Tools. Addison-Wesley Longman Publishing Co., Inc., Boston, MA."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1117\/1.3041496"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2004.4"},{"key":"e_1_2_1_5_1","article-title":"FailAmp: Relativization transformation for soft error detection in structured address generation","volume":"16","author":"Briggs Ian","year":"2019","unstructured":"Ian Briggs , Arnab Das , Mark Baranowski , Vishal Sharma , Sriram Krishnamoorthy , Zvonimir Rakamariundefined , and Ganesh Gopalakrishnan . 2019 . FailAmp: Relativization transformation for soft error detection in structured address generation . ACM Transactions on Architecture and Code Optimization 16 , 4, Article 50 (Dec. 2019), 21 pages. DOI:https:\/\/doi.org\/10.1145\/3369381 10.1145\/3369381 Ian Briggs, Arnab Das, Mark Baranowski, Vishal Sharma, Sriram Krishnamoorthy, Zvonimir Rakamariundefined, and Ganesh Gopalakrishnan. 2019. FailAmp: Relativization transformation for soft error detection in structured address generation. ACM Transactions on Architecture and Code Optimization 16, 4, Article 50 (Dec. 2019), 21 pages. DOI:https:\/\/doi.org\/10.1145\/3369381","journal-title":"ACM Transactions on Architecture and Code Optimization"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/115372.115320"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897937.2898054"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1513895.1513907"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1177\/1094342010391989"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736063"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/CLUSTER.2018.00047"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2458523.2458536"},{"key":"e_1_2_1_13_1","volume-title":"2017 54th ACM\/EDAC\/IEEE Design Automation Conference (DAC). 1--6. DOI:https:\/\/doi.org\/10","author":"Gupta M.","unstructured":"M. Gupta , D. Lowell , J. Kalamatianos , S. Raasch , V. Sridharan , D. Tullsen , and R. Gupta . 2017. Compiler techniques to reduce the synchronization overhead of GPU redundant multithreading . In 2017 54th ACM\/EDAC\/IEEE Design Automation Conference (DAC). 1--6. DOI:https:\/\/doi.org\/10 .1145\/3061639.3062212 10.1145\/3061639.3062212 M. Gupta, D. Lowell, J. Kalamatianos, S. Raasch, V. Sridharan, D. Tullsen, and R. Gupta. 2017. Compiler techniques to reduce the synchronization overhead of GPU redundant multithreading. In 2017 54th ACM\/EDAC\/IEEE Design Automation Conference (DAC). 1--6. DOI:https:\/\/doi.org\/10.1145\/3061639.3062212"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2012.13"},{"key":"#cr-split#-e_1_2_1_15_1.1","doi-asserted-by":"crossref","unstructured":"Manolis Kaliorakis Sotiris Tselonis Athanasios Chatzidimitriou and Dimitris Gizopoulos. 2015. Accelerated microarchitectural fault injection-based reliability assessment. DOI:https:\/\/doi.org\/10.1109\/DFT.2015.7315134 10.1109\/DFT.2015.7315134","DOI":"10.1109\/DFT.2015.7315134"},{"key":"#cr-split#-e_1_2_1_15_1.2","doi-asserted-by":"crossref","unstructured":"Manolis Kaliorakis Sotiris Tselonis Athanasios Chatzidimitriou and Dimitris Gizopoulos. 2015. Accelerated microarchitectural fault injection-based reliability assessment. DOI:https:\/\/doi.org\/10.1109\/DFT.2015.7315134","DOI":"10.1109\/DFT.2015.7315134"},{"key":"e_1_2_1_16_1","unstructured":"Charu Kalra. 2015. MS Thesis: Design and Evaluation of Register Allocation on GPUs. Master\u2019s Thesis. Northeastern University.  Charu Kalra. 2015. MS Thesis: Design and Evaluation of Register Allocation on GPUs. Master\u2019s Thesis. Northeastern University."},{"key":"e_1_2_1_18_1","volume-title":"The 12th Workshop on Silicon Errors in Logic-System Effects, SELSE.","author":"Kalra Charu","year":"2016","unstructured":"Charu Kalra , Daniel Lowell , John Kalamatianos , Vilas Sridharan , and David Kaeli . 2016 . Performance evaluation of compiler-based software rmt in an hsa environment . In The 12th Workshop on Silicon Errors in Logic-System Effects, SELSE. Charu Kalra, Daniel Lowell, John Kalamatianos, Vilas Sridharan, and David Kaeli. 2016. Performance evaluation of compiler-based software rmt in an hsa environment. In The 12th Workshop on Silicon Errors in Logic-System Effects, SELSE."},{"key":"e_1_2_1_19_1","volume-title":"The 14th Workshop on Silicon Errors in Logic - System Effects, SELSE.","author":"Kalra Charu","year":"2018","unstructured":"Charu Kalra , Fritz Previlon , Xiangyu Li , Norman Rubin , and David Kaeli . 2018 . Analyzing the vulnerability of vector-scalar execution on data-parallel architectures . In The 14th Workshop on Silicon Errors in Logic - System Effects, SELSE. Charu Kalra, Fritz Previlon, Xiangyu Li, Norman Rubin, and David Kaeli. 2018. Analyzing the vulnerability of vector-scalar execution on data-parallel architectures. In The 14th Workshop on Silicon Errors in Logic - System Effects, SELSE."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2018.00072"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306801"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2502524.2502530"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1987.232562"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"e_1_2_1_25_1","volume-title":"Automation Test in Europe Conference Exhibition (DATE\u201909)","author":"Leveugle R.","year":"2009","unstructured":"R. Leveugle , A. Calvez , P. Maistri , and P. Vanhauwaert . 2009. Statistical fault injection: Quantified error and confidence. In Design , Automation Test in Europe Conference Exhibition (DATE\u201909) . 502--506. DOI:https:\/\/doi.org\/10.1109\/DATE. 2009 .5090716 10.1109\/DATE.2009.5090716 R. Leveugle, A. Calvez, P. Maistri, and P. Vanhauwaert. 2009. Statistical fault injection: Quantified error and confidence. In Design, Automation Test in Europe Conference Exhibition (DATE\u201909). 502--506. DOI:https:\/\/doi.org\/10.1109\/DATE.2009.5090716"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. 240--251","author":"Li G.","year":"2016","unstructured":"G. Li , K. Pattabiraman , C. Y. Cher , and P. Bose . 2016. Understanding error propagation in GPGPU applications . In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. 240--251 . DOI:https:\/\/doi.org\/10.1109\/SC. 2016 .20 10.1109\/SC.2016.20 G. Li, K. Pattabiraman, C. Y. Cher, and P. Bose. 2016. Understanding error propagation in GPGPU applications. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. 240--251. DOI:https:\/\/doi.org\/10.1109\/SC.2016.20"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2018.00016"},{"key":"e_1_2_1_28_1","volume-title":"Borkar","author":"Lucas Robert","year":"2014","unstructured":"Robert Lucas , James Ang , Keren Bergman , and Shekhar et al. Borkar . 2014 . Top Ten Exascale Research Challenges . http:\/\/science.energy.gov\/ \/media\/ascr\/ascac\/pdf\/meetings\/20140210\/Top10reportFEB14.pdf. Robert Lucas, James Ang, Keren Bergman, and Shekhar et al. Borkar. 2014. Top Ten Exascale Research Challenges. http:\/\/science.energy.gov\/ \/media\/ascr\/ascac\/pdf\/meetings\/20140210\/Top10reportFEB14.pdf."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2018.00070"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/IEDM.2003.1269335"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.585157"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2018.00051"},{"key":"e_1_2_1_33_1","unstructured":"Shubu Mukherjee. 2011. Architecture Design for Soft Errors. Morgan Kaufmann.  Shubu Mukherjee. 2011. Architecture Design for Soft Errors. Morgan Kaufmann."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2018.00066"},{"key":"e_1_2_1_35_1","unstructured":"NVIDIA. [n.d.]. CUDA binary utilities. Retrieved from http:\/\/docs.nvidia.com\/cuda\/pdf\/CUDA-Binary-Utilities.pdf.  NVIDIA. [n.d.]. CUDA binary utilities. Retrieved from http:\/\/docs.nvidia.com\/cuda\/pdf\/CUDA-Binary-Utilities.pdf."},{"key":"e_1_2_1_36_1","unstructured":"NVIDIA. [n.d.]. NVCC https:\/\/developer.nvidia.com\/cuda-llvm-compiler.  NVIDIA. [n.d.]. NVCC https:\/\/developer.nvidia.com\/cuda-llvm-compiler."},{"key":"e_1_2_1_37_1","unstructured":"NVIDIA. [n.d.]. NVIDIA CUDA SDK V6.0.  NVIDIA. [n.d.]. NVIDIA CUDA SDK V6.0."},{"key":"e_1_2_1_38_1","unstructured":"NVIDIA. [n.d.]. NVIDIA Kepler GK110 architecture white paper.  NVIDIA. [n.d.]. NVIDIA Kepler GK110 architecture white paper."},{"key":"e_1_2_1_39_1","unstructured":"NVIDIA. [n.d.]. Tegra K1 techinical reference manual.  NVIDIA. [n.d.]. Tegra K1 techinical reference manual."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/3210559"},{"key":"e_1_2_1_41_1","volume-title":"2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS). IEEE, 898--901","author":"Previlon Fritz G.","unstructured":"Fritz G. Previlon , Babatunde Egbantan , Devesh Tiwari , Paolo Rech , and David R. Kaeli . 2017. Combining architectural fault-injection and neutron beam testing approaches toward better understanding of GPU soft-error resilience . In 2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS). IEEE, 898--901 . Fritz G. Previlon, Babatunde Egbantan, Devesh Tiwari, Paolo Rech, and David R. Kaeli. 2017. Combining architectural fault-injection and neutron beam testing approaches toward better understanding of GPU soft-error resilience. In 2017 IEEE 60th International Midwest Symposium on Circuits and Systems (MWSCAS). IEEE, 898--901."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/DFT.2019.8875269"},{"key":"e_1_2_1_43_1","volume-title":"Automation Test in Europe Conference Exhibition (DATE). 308--311","author":"Previlon Fritz G.","year":"2019","unstructured":"Fritz G. Previlon , Charu Kalra , Devesh Tiwari , and David R. Kaeli . 2019. PCFI: Program counter guided fault injection for accelerating GPU reliability assessment. In 2019 Design , Automation Test in Europe Conference Exhibition (DATE). 308--311 . DOI:https:\/\/doi.org\/10.23919\/DATE. 2019 .8714781 10.23919\/DATE.2019.8714781 Fritz G. Previlon, Charu Kalra, Devesh Tiwari, and David R. Kaeli. 2019. PCFI: Program counter guided fault injection for accelerating GPU reliability assessment. In 2019 Design, Automation Test in Europe Conference Exhibition (DATE). 308--311. DOI:https:\/\/doi.org\/10.23919\/DATE.2019.8714781"},{"key":"e_1_2_1_44_1","volume-title":"Proceedings of the 6th International Conference on Software Engineering (ICSE\u201982)","author":"Rapps Sandra","unstructured":"Sandra Rapps and Elaine J. Weyuker . 1982. Data flow analysis techniques for test data selection . In Proceedings of the 6th International Conference on Software Engineering (ICSE\u201982) . IEEE Computer Society Press, Los Alamitos, CA, 272--278. http:\/\/dl.acm.org\/citation.cfm?id=800254.807769 Sandra Rapps and Elaine J. Weyuker. 1982. Data flow analysis techniques for test data selection. In Proceedings of the 6th International Conference on Software Engineering (ICSE\u201982). IEEE Computer Society Press, Los Alamitos, CA, 272--278. http:\/\/dl.acm.org\/citation.cfm?id=800254.807769"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2005.34"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2017.7975296"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1186\/1471-2105-8-474"},{"key":"e_1_2_1_48_1","volume-title":"Proceedings of the 42nd Annual International Symposium on Computer Architecture (ISCA\u201915)","author":"Stephenson Mark","unstructured":"Mark Stephenson , Siva Kumar Sastry Hari , Yunsup Lee , Eiman Ebrahimi , Daniel R. Johnson , David Nellans , Mike O\u2019Connor , and Stephen W. Keckler . 2015. Flexible software profiling of GPU architectures . In Proceedings of the 42nd Annual International Symposium on Computer Architecture (ISCA\u201915) . ACM, New York, NY, 185--197. Mark Stephenson, Siva Kumar Sastry Hari, Yunsup Lee, Eiman Ebrahimi, Daniel R. Johnson, David Nellans, Mike O\u2019Connor, and Stephen W. Keckler. 2015. Flexible software profiling of GPU architectures. In Proceedings of the 42nd Annual International Symposium on Computer Architecture (ISCA\u201915). ACM, New York, NY, 185--197."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1002\/jcc.20829"},{"key":"e_1_2_1_50_1","volume-title":"2018 51st Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO). IEEE, 762--774","author":"Sullivan Michael B.","unstructured":"Michael B. Sullivan , Siva Kumar Sastry Hari , Brian Zimmer , Timothy Tsai , and Stephen W. Keckler . 2018. SwapCodes: Error codes for hardware-software cooperative GPU pipeline error detection . In 2018 51st Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO). IEEE, 762--774 . Michael B. Sullivan, Siva Kumar Sastry Hari, Brian Zimmer, Timothy Tsai, and Stephen W. Keckler. 2018. SwapCodes: Error codes for hardware-software cooperative GPU pipeline error detection. In 2018 51st Annual IEEE\/ACM International Symposium on Microarchitecture (MICRO). IEEE, 762--774."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2370816.2370846"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2668930.2688046"},{"key":"e_1_2_1_53_1","first-page":"3","article-title":"Software-directed techniques for improved GPU register file utilization","volume":"15","author":"Voitsechov Dani","year":"2018","unstructured":"Dani Voitsechov , Arslan Zulfiqar , Mark Stephenson , Mark Gebhart , and Stephen W. Keckler . 2018 . Software-directed techniques for improved GPU register file utilization . ACM Transactions on Architecture and Code Optimization (TACO) 15 , 3 , 38. Dani Voitsechov, Arslan Zulfiqar, Mark Stephenson, Mark Gebhart, and Stephen W. Keckler. 2018. Software-directed techniques for improved GPU register file utilization. ACM Transactions on Architecture and Code Optimization (TACO) 15, 3, 38.","journal-title":"ACM Transactions on Architecture and Code Optimization (TACO)"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2014.6853227"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3382132","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3382132","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:02:08Z","timestamp":1750197728000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3382132"}},"subtitle":["Compiler-based Resilience Targeting GPU Applications"],"short-title":[],"issued":{"date-parts":[[2020,5,29]]},"references-count":54,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,6,30]]}},"alternative-id":["10.1145\/3382132"],"URL":"https:\/\/doi.org\/10.1145\/3382132","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,5,29]]},"assertion":[{"value":"2019-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-05-29","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}