Verifying speculative multithreading in an application
Abstract
Verifying speculative multithreading in an application executing in a computing system, including: executing one or more test instructions serially thereby producing a serial result, including insuring that all data dependencies among the test instructions are satisfied; executing the test instructions speculatively in a plurality of threads thereby producing a speculative result; and determining whether a speculative multithreading error exists including: comparing the serial result to the speculative result and, if the serial result does not match the speculative result, determining that a speculative multithreading error exists.
- Inventors:
- Issue Date:
- Research Org.:
- International Business Machines Corp., Armonk, NY (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1163973
- Patent Number(s):
- 8892946
- Application Number:
- 13/326,378
- Assignee:
- International Business Machines Corporation (Armonk, NY)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- B579040
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 2011 Dec 15
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Felton, Mitchell D. Verifying speculative multithreading in an application. United States: N. p., 2014.
Web.
Felton, Mitchell D. Verifying speculative multithreading in an application. United States.
Felton, Mitchell D. Tue .
"Verifying speculative multithreading in an application". United States. https://www.osti.gov/servlets/purl/1163973.
@article{osti_1163973,
title = {Verifying speculative multithreading in an application},
author = {Felton, Mitchell D},
abstractNote = {Verifying speculative multithreading in an application executing in a computing system, including: executing one or more test instructions serially thereby producing a serial result, including insuring that all data dependencies among the test instructions are satisfied; executing the test instructions speculatively in a plurality of threads thereby producing a speculative result; and determining whether a speculative multithreading error exists including: comparing the serial result to the speculative result and, if the serial result does not match the speculative result, determining that a speculative multithreading error exists.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2014},
month = {11}
}
Works referenced in this record:
Compiler support for speculative multithreading architecture with probabilistic points-to analysis
conference, January 2003
- Chen, Peng-Sheng; Hung, Ming-Yu; Hwang, Yuan-Shin
- Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '03
Thread-spawning schemes for speculative multithreading
conference, January 2002
- Marcuello, P.; Gonzalez, A.
- Eighth International Symposium on High-Performance Computer Architecture, Proceedings Eighth International Symposium on High Performance Computer Architecture