Patent ID: 8468539
Filing Date: 2013-06-18
Classification: G06F

Abstract:
1. A method, in a data processing system, for tracking dependencies of threads in a multi-threaded computer program execution, comprising: detecting, by a processor of the data processing system, a dependency of a first thread's execution on results of a second thread's execution in an execution flow of the multi-threaded computer program; storing, by the processor, in a hardware thread dependency vector storage associated with the first thread's execution, an identifier of the dependency by setting at least one bit in the hardware thread dependency vector storage corresponding to the second thread; and scheduling, by the processor, tasks performed by the multi-threaded computer program based on a state of bits in the hardware thread dependency vector storage, wherein the first thread is a speculative thread having an associated version identifier for use with a speculative versioning cache, and wherein the at least one bit in the hardware thread dependency vector storage corresponding to the second thread corresponds to the version identifier associated with the second thread.