发明名称 Determining the vulnerability of multi-threaded program code to soft errors
摘要 The described embodiments include a program code testing system that determines the vulnerability of multi-threaded program code to soft errors. For multi-threaded program code, two to more threads from the program code may access shared architectural structures while the program code is being executed. The program code testing system determines accesses of architectural structures made by the two or more threads of the multi-threaded program code and uses the determined accesses to determine a time for which the program code is exposed to soft errors. From this time, the program code testing system determines a vulnerability of the program code to soft errors.
申请公布号 US9292418(B2) 申请公布日期 2016.03.22
申请号 US201414266131 申请日期 2014.04.30
申请人 ADVANCED MICRO DEVICES, INC. 发明人 Sridharan Vilas;Wilkening Mark E.;Gurumurthi Sudhanva
分类号 G06F9/44;G06F11/36;G06F11/34;G06F9/48 主分类号 G06F9/44
代理机构 Park, Vaughan, Fleming & Dowler LLP 代理人 Park, Vaughan, Fleming & Dowler LLP
主权项 1. A method for determining a vulnerability of multi-threaded program code to soft errors, comprising: by a computing device, performing operations for: analyzing instructions for each of two or more threads in the program code to identify particular instructions from the two or more threads that perform predetermined accesses of one or more architectural structures; while executing instructions from the program code, monitoring the executing to determine when the particular instructions are executed and therefore when corresponding predetermined accesses are performed; determining a time for which the program code is exposed to soft errors based on a timing of the corresponding predetermined accesses by determining an amount of time when data is held in at least one of the one or more architectural structures, the data to be used for performing corresponding predetermined accesses for at least one of the particular instructions, the determining the amount of time comprising, for each of the one or more architectural structures, maintaining a corresponding vulnerability counter, a value in the vulnerability counter set using a time counter and a last-accessed counter, the last accessed counter being updated when corresponding predetermined accesses of the architectural structure occur; and using the time for which the program code is exposed to soft errors to determine the vulnerability of the program code to soft errors.
地址 Sunnyvale CA US