Back to results
US 8,413,162 B1Granted
Multi-threading based on rollback
OwnerGuillermo J. Rozas, Michael R. Neillyinventors
Life of this patent
Estimating the term…
Abstract
Methods of multi-threading, and systems thereof, are described. A first thread is executed. Context for the executing thread is maintained in a working register. Execution of the first thread is halted and execution of a second thread is begun by performing a rollback operation. The rollback operation causes context for the second thread to be copied from a first register into the working register.
Claims20
A method of multi-threading, said method comprising:
- storing information for a first thread in a working register during execution of said first thread, wherein said working register is coupled to a plurality of shadow registers;
- and
- switching from executing said first thread to executing a second thread, wherein said switching comprises rollback of information in said working register without copying, to one of said shadow registers, information that is in said working register at the time of said switching;
- and wherein said rollback further comprises copying information for said second thread from a first shadow register into said working register in place of information that is in said working register.
1 more element
A computer system comprising:
- a working register operable for holding first context associated with a first thread, wherein said first context comprises uncommitted context generated responsive to execution of said first thread;
- and
- a plurality of shadow registers coupled to said working register, wherein at least one of said shadow registers is operable for holding second context associated with a non-executing second thread, wherein said second thread is executable in place of said first thread responsive to a rollback operation, and wherein said rollback operation is configured to copy said second context into said working register in place of said first context and to dump said uncommitted context before it is copied to another register.
A computer system comprising:
- a processor operable for executing a number of threads in parallel;
- a plurality of registers coupled to said processor and comprising a working register and said number of shadow registers, said computer system configured to perform operations comprising:
- at a commit point during execution of a first thread, copying first context associated with said first thread from said working register to a first shadow register;
- subsequent to said commit point, continuing execution of said first thread, wherein said continuing execution causes changes to said first context;
- subsequent to said commit point and before another commit point is reached, performing a rollback operation that causes second context for a non-executing second thread to be copied into said working register in place of said first context and that discards said changes before they are copied to another register;
- and
- subsequent to said rollback operation, beginning execution of said second thread and ending execution of said first thread.
4 more elements
A system comprising:
- means for storing information for a first thread in a working register during execution of said first thread, wherein said working register is coupled to a plurality of shadow registers;
- and
- means for switching from executing said first thread to executing a second thread, wherein said means for switching comprises:
- i) means for rollback of information in said working register without copying to one of said shadow registers, information that is in said working register at the time of said switching, and ii) means for copying information for said second thread from a first shadow register into said working register in place of information that is in said working register.
1 more element
Dependencies are inferred from the claim text.