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:
- 1165100
- Patent Number(s):
- 8909993
- Application Number:
- 13/709,729
- 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: 2012 Dec 10
- 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/1165100.
@article{osti_1165100,
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 = {12}
}
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