Method for guaranteeing program correctness using fine-grained hardware speculative execution
US9195550B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Feb 3, 2011 |
| Grant date | Nov 24, 2015 |
| Priority date | — |
| Expiry date | Mar 16, 2032 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F12/0846
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
A method for checking program correctness may include executing a program on a main hardware thread in speculative execution mode on a hardware execution context on a chip having a plurality of hardware execution contexts. In this mode, the main hardware thread's state is not committed to main memory. Correctness checks by a plurality of helper threads are executed in parallel to the main hardware thread. Each helper thread runs on a separate hardware execution context on the chip in parallel with the main hardware thread. The correctness checks determine a safe point in the program up to which the operations executed by the main hardware thread are correct. Once the main hardware thread reaches the safe point, the mode of execution of the main hardware thread is switched to non-speculative. The runtime then causes the main thread to re-enter speculative mode of execution.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.