Patent ID: 6658451
Filing Date: 2003-12-02
Classification: G06F

Abstract:
A method for performing a parallel join operation to merge state created during speculative execution into the non-speculative state of a program during space and time dimensional program execution, comprising:executing the program using a head thread, the head thread operating on primary versions of memory elements and accessing a primary version of a stack; executing the program using a speculative thread that speculatively executes program instructions in advance of the head thread while the head thread is executing, the speculative thread operating on space-time dimensioned versions of the memory elements and accessing a speculative version of the stack; and performing a join operation between the head thread and the speculative thread when the head thread reaches a point in the program where the speculative thread began executing, the join operation involving performing operations in parallel using both the head thread and the speculative thread, the operations including, merging the space-time dimensioned versions of the memory elements into the primary versions of the memory elements so that updates to the space-time dimensioned versions of the memory elements are incorporated into corresponding primary versions of memory elements, and merging the speculative version of the stack into the primary version of the stack.