DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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:

Simultaneous and redundantly threaded processor store instruction comparator
patent, February 2005


Primitives to enhance thread-level speculation
patent, February 2011


Integrated circuit using speculative execution
patent, February 2011


Insertion of operation-and-indicate instructions for optimized SIMD code
patent, June 2013


Compile method suitable for speculation mechanism
patent-application, November 2001


Software-based speculative pre-computation and multithreading
patent-application, October 2002


Hybrid Branch Prediction Scheme
patent-application, December 2007


Value Predictable Variable Scoping for Speculative Automatic Parallelization with Transactional Memory
patent-application, September 2009


Efficient and Self-Balancing Verification of Multi-Threaded Microprocessors
patent-application, January 2010


In-Data Path Tracking of Floating Point Exceptions and Store-Based Exception Indication
patent-application, February 2011


Insertion of Operation-and-Indicate Instructions for Optimized SIMD Code
patent-application, February 2011


Universal Causality Graphs for Bug Detection in Concurrent Programs
patent-application, July 2011


Method for Guarenteeing Program Correctness Using Fine-Grained Hardware Speculative Execution
patent-application, August 2012


Test Method, Processing Device, Test Program Generation Method and Test Program Generator
patent-application, June 2013


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
  • https://doi.org/10.1145/781498.781502

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
  • https://doi.org/10.1109/HPCA.2002.995698