A method, system, and program product for saving a state of a task and
executing the task by processors such that following the termination of
execution of the first task in a first processor, at least a portion of a
state of the first task is maintained in registers of the first processor
until the first processor executes a second task. Prior to executing the
first task on the second processor, a determination is made as to whether
the state of the first task is at least partially stored in the registers
of another processor, such as the first processor. If the state of the
first task is at least partially stored in the registers of the first
processor, then contents of said registers in the first processor are
stored into a memory system. Thereafter, the first task is executed in
the second processor.