Minotaur: Adapting Software Testing Techniques for Hardware Errors

作者: Abdulrahman Mahmoud , Radha Venkatagiri , Khalique Ahmed , Sasa Misailovic , Darko Marinov

DOI: 10.1145/3297858.3304050

关键词: Cmos scalingFault toleranceSIMPLE (military communications protocol)Computer scienceComputer hardwareQuality (business)SpeedupKey (cryptography)Benchmark (computing)Software testing

摘要: With the end of conventional CMOS scaling, efficient resiliency solutions are needed to address increased likelihood hardware errors. Silent data corruptions (SDCs) especially harmful because they can create unacceptable output without user's knowledge. Several analysis techniques have been proposed identify SDC-causing instructions, but remain too slow for practical use and/or sacrifice accuracy improve speed. We develop Minotaur, a novel toolkit speed and analysis. The key insight behind Minotaur is that modern has many conceptual similarities software testing; therefore, adapting from rich testing literature lead principled significant improvements in identifies adapts four concepts testing: 1) it introduces concept input quality criteria PC coverage as simple effective criterion; 2) creates (fast) minimized inputs (slow) standard benchmark inputs, using assess goodness created input; 3) test case prioritization prioritize error injections invoke early termination given instruction up error-injection campaigns; 4) further or accelerate SDC discovery across multiple inputs. evaluate by applying Approxilyzer, state-of-the-art tool. Minotaur's first three Approxilyzer's 10.3X (on average) workloads studied. Moreover, 96% all instructions explored, compared 64% identified Approxilyzer alone. fourth technique (input prioritization) enables identifying explored at 2.3X faster than analyzing each independently our workloads.

参考文章(128)
Christian Bienia, Kai Li, Benchmarking modern multiprocessors Princeton University. ,(2011)
Glenford J. Myers, Art of Software Testing John Wiley & Sons, Inc.. ,(1979)
Paul Ammann, Jeff Offutt, Introduction to Software Testing Cambridge University Press. ,(2008) , 10.1017/CBO9780511809163
Jon Calhoun, Luke Olson, Marc Snir, FlipIt: An LLVM Based Fault Injector for HPC european conference on parallel processing. pp. 547- 558 ,(2014) , 10.1007/978-3-319-14325-5_47
Anne Marsden, Amy Shahtout, International Organization for Standardization American Society of Microbiology. pp. 447- 450 ,(2014) , 10.1128/9781555817282.CH22
Jeff Offutt, Paul Ammann, Introduction to Software Testing ,(2016)
A. Benso, S. Di Carlo, G. Di Natale, P. Prinetto, L. Taghaferri, Data criticality estimation in software applications international test conference. ,vol. 1, pp. 802- 810 ,(2003) , 10.1109/TEST.2003.1270912
Franck Cappello, Geist Al, William Gropp, Sanjay Kale, Bill Kramer, Marc Snir, None, Toward Exascale Resilience: 2014 Update Supercomputing Frontiers and Innovations: an International Journal archive. ,vol. 1, pp. 5- 28 ,(2014) , 10.14529/JSFI140101
Ismail Akturk, Nam Sung Kim, Ulya R. Karpuzcu, Decoupled Control and Data Processing for Approximate Near-Threshold Voltage Computing IEEE Micro. ,vol. 35, pp. 70- 78 ,(2015) , 10.1109/MM.2015.85
Meeta S. Gupta, Jude A. Rivers, Liang Wang, Pradip Bose, Cross-layer system resilience at affordable power international reliability physics symposium. ,(2014) , 10.1109/IRPS.2014.6860584