{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,3]],"date-time":"2026-01-03T06:50:58Z","timestamp":1767423058258,"version":"3.41.0"},"reference-count":51,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2022,9,16]],"date-time":"2022-09-16T00:00:00Z","timestamp":1663286400000},"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":[[2022,12,31]]},"abstract":"<jats:p>\n            Error resilience is the primary design concern for safety- and mission-critical applications.\n            <jats:bold>Redundant MultiThreading (RMT)<\/jats:bold>\n            is one of the most promising soft and hard error resilience strategies because it does not require additional hardware modification. While the state-of-the-art software RMT scheme can achieve a high degree of error protection, our detailed investigation revealed that it suffers from performance overhead and insufficient fault coverage. This paper proposes EXPERTISE, a compiler-level RMT scheme that can detect the manifestation of hardware faults in all processor components. EXPERTISE transformation generates a checker-thread for the main execution thread. These redundant threads are executed simultaneously on two physically different cores of a multicore processor and perform almost the same computations. After each memory write operation is committed by the main-thread, the checker-thread loads back the written data from the memory and checks it against its own locally computed values. If they match, the execution continues. Otherwise, the error flag is raised. In order to evaluate the effectiveness of the proposed solution, we performed soft and hard error injection experiments on all the different hardware components of an ARM Cortex53-like \u03bc-architecturally simulated microprocessor. Based on statistical fault injection campaigns, we have found that EXPERTISE provides \u00a0188\u00d7 better fault coverage with 27% faster performance as compared to the state-of-the-art scheme.\n          <\/jats:p>","DOI":"10.1145\/3546073","type":"journal-article","created":{"date-parts":[[2022,7,4]],"date-time":"2022-07-04T09:26:22Z","timestamp":1656926782000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults"],"prefix":"10.1145","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3496-6079","authenticated-orcid":false,"given":"Hwisoo","family":"So","sequence":"first","affiliation":[{"name":"Yonsei Universty, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9357-4702","authenticated-orcid":false,"given":"Moslem","family":"Didehban","sequence":"additional","affiliation":[{"name":"Arizona State University, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9456-0927","authenticated-orcid":false,"given":"Yohan","family":"Ko","sequence":"additional","affiliation":[{"name":"Yonsei University, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1075-897X","authenticated-orcid":false,"given":"Aviral","family":"Shrivastava","sequence":"additional","affiliation":[{"name":"Arizona State University, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5082-3775","authenticated-orcid":false,"given":"Kyoungwoo","family":"Lee","sequence":"additional","affiliation":[{"name":"Yonsei Universty, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,9,16]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/2024716.2024718"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/TNS.2018.2886094"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2005.110"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2019.00018"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2015.2419661"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/3061639.3062265"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/2897937.2898054"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/TR.2018.2793098"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2017.8203792"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/TNS.2016.2540619"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-04468-7_23"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/TCOME.1964.6539498"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/859618.859631"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/3061639.3062212"},{"key":"e_1_3_2_16_2","first-page":"3","volume-title":"Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop on","author":"Guthaus Matthew R.","year":"2001","unstructured":"Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge, and Richard B. Brown. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop on. IEEE, 3\u201314."},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN-W.2016.57"},{"key":"e_1_3_2_18_2","article-title":"Applying compiler-automated software fault tolerance to multiple processor platforms","author":"James Benjamin","year":"2019","unstructured":"Benjamin James, Heather Quinn, Michael Wirthlin, and Jeffrey Goeders. 2019. Applying compiler-automated software fault tolerance to multiple processor platforms. IEEE Transactions on Nuclear Science (2019).","journal-title":"IEEE Transactions on Nuclear Science"},{"key":"e_1_3_2_19_2","volume-title":"Transient Fault Effects in the MC6809E 8-bit Microprocessor: A Comparison of Results of Physical and Simulated Fault Injection Experiments","author":"Karlsson J.","year":"1990","unstructured":"J. Karlsson and P. Lid\u00e9n. 1990. Transient Fault Effects in the MC6809E 8-bit Microprocessor: A Comparison of Results of Physical and Simulated Fault Injection Experiments. Technical Report. Technical Report 96, Department of Computer Engineering, Chalmers University of Technology, G\u00f6teborg, Sweden."},{"key":"e_1_3_2_20_2","first-page":"99","volume-title":"ACM SIGPLAN Notices","author":"Khudia Daya Shanker","year":"2012","unstructured":"Daya Shanker Khudia, Griffin Wright, and Scott Mahlke. 2012. Efficient soft error protection for commodity embedded microprocessors using profile information. In ACM SIGPLAN Notices, Vol. 47. ACM, 99\u2013108."},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2015.20"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2007.100"},{"key":"e_1_3_2_23_2","volume-title":"Code Generation and Optimization, 2004. CGO 2004. International Symposium on","author":"Lattner Chris","year":"2004","unstructured":"Chris Lattner and Vikram Adve. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In Code Generation and Optimization, 2004. CGO 2004. International Symposium on. IEEE."},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/1459359.1459402"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.966493"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/339647.339678"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/DATE.2009.5090716"},{"key":"e_1_3_2_28_2","first-page":"1","volume-title":"2018 31st Symposium on Integrated Circuits and Systems Design (SBCCI)","author":"Medeiros Guilherme E.","year":"2018","unstructured":"Guilherme E. Medeiros, Felis T. Bortolon, Ricardo Reis, and Luciano Ost. 2018. Evaluation of compiler optimization flags effects on soft error resiliency. In 2018 31st Symposium on Integrated Circuits and Systems Design (SBCCI). IEEE, 1\u20136."},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/2968455.2968508"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2002.1003566"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.980007"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/24.994913"},{"key":"e_1_3_2_33_2","first-page":"316","volume-title":"FTCS","author":"Ohlsson Joakim","year":"1992","unstructured":"Joakim Ohlsson, Marcus Rimen, and Ulf Gunneflo. 1992. A study of the effects of transient fault injection into a 32-bit RISC with built-in watchdog. In FTCS. 316\u2013325."},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/339647.339652"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2005.34"},{"key":"e_1_3_2_36_2","first-page":"84","volume-title":"Fault-Tolerant Computing, 1999. Digest of Papers. Twenty-Ninth Annual International Symposium on","author":"Rotenberg Eric","year":"1999","unstructured":"Eric Rotenberg. 1999. AR-SMT: A microarchitectural approach to fault tolerance in microprocessors. In Fault-Tolerant Computing, 1999. Digest of Papers. Twenty-Ninth Annual International Symposium on. IEEE, 84\u201391."},{"key":"e_1_3_2_37_2","unstructured":"Ute Schiffel. 2010. Hardware error detection using AN-codes. (2010)."},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15651-9_13"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2015.44"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/2593069.2593229"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2008.62"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2006.42"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/1037949.1024420"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.23919\/DATE.2018.8342065"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/2333660.2333706"},{"key":"e_1_3_2_46_2","first-page":"87","volume-title":"ACM SIGARCH Computer Architecture News","author":"Vijaykumar TN","year":"2002","unstructured":"TN Vijaykumar, Irith Pomeranz, and Karl Cheng. 2002. Transient-fault recovery using simultaneous multithreading. In ACM SIGARCH Computer Architecture News, Vol. 30. IEEE Computer Society, 87\u201398."},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/773473.178253"},{"key":"e_1_3_2_48_2","volume-title":"Computer Architecture (ISCA), 2014 ACM\/IEEE 41st International Symposium on","author":"Wadden Jack","year":"2014","unstructured":"Jack Wadden, Alexander Lyashevsky, Sudhanva Gurumurthi, Vilas Sridharan, and Kevin Skadron. 2014. Real-world design and evaluation of compiler-managed GPU redundant multithreading. In Computer Architecture (ISCA), 2014 ACM\/IEEE 41st International Symposium on. IEEE."},{"key":"e_1_3_2_49_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2007.7"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1145\/1278349.1278364"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10766-011-0183-4"},{"key":"e_1_3_2_52_2","doi-asserted-by":"crossref","unstructured":"Saurabh Hukerikar Keita Teranishi Pedro C. Diniz and Robert F. Lucas. 2018. Redthreads: An interface for application-level fault detection\/correction through adaptive redundant multithreading. International Journal of Parallel Programming 46 2 (2018) 225\u2013251.","DOI":"10.1007\/s10766-017-0492-3"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3546073","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3546073","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:30:19Z","timestamp":1750188619000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3546073"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,9,16]]},"references-count":51,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2022,12,31]]}},"alternative-id":["10.1145\/3546073"],"URL":"https:\/\/doi.org\/10.1145\/3546073","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2022,9,16]]},"assertion":[{"value":"2021-12-08","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-06-10","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-09-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}