USING TRANSACTIONAL EXECUTION FOR RELIABILITY AND RECOVERY OF TRANSIENT FAILURES
First Claim
1. A method for executing each portion of a stream of program instructions as a transaction for reliability, the method comprising:
- determining, by a computer system configured to support transactional execution mode processing, that an instruction in a portion of the stream of program instructions is to begin a transaction in transactional execution mode;
based on beginning the transaction in transactional execution mode, saving, by the computer system, a snapshot of a system state information and executing, by the computer system, the portion of the stream of program instructions as a transaction until an end-mode test point in the stream of program instruction is reached;
based on reaching the end-mode test point in the stream of program instructions, committing store data of the transaction to memory; and
performing, by the computer system, any one of a) and b);
a) based on the stream of program instructions not being complete, automatically beginning a new transaction in transactional execution mode of a next portion of the stream of program instructions; and
b) based on aborting the transaction, re-executing the transaction based on the saved snapshot of the system state information.
1 Assignment
0 Petitions
Accused Products
Abstract
Executing each portion of a stream of program instructions as a transaction for reliability, a computer system supporting transactional execution mode processing is provided. Included is determining that an instruction in a portion of the stream of program instructions begins a transaction; based on beginning the transaction, saving a snapshot of system state information and executing the portion of the stream of program instructions as a transaction until an end-mode test point in the stream of program instruction is reached. Based on reaching the end-mode test point, committing store data of the transaction to memory; and based on the stream of program instructions not being complete, automatically beginning a new transaction of a next portion of the stream of program instructions or based on aborting the transaction, re-executing the transaction based on the saved snapshot of the system state information.
33 Citations
20 Claims
-
1. A method for executing each portion of a stream of program instructions as a transaction for reliability, the method comprising:
-
determining, by a computer system configured to support transactional execution mode processing, that an instruction in a portion of the stream of program instructions is to begin a transaction in transactional execution mode; based on beginning the transaction in transactional execution mode, saving, by the computer system, a snapshot of a system state information and executing, by the computer system, the portion of the stream of program instructions as a transaction until an end-mode test point in the stream of program instruction is reached; based on reaching the end-mode test point in the stream of program instructions, committing store data of the transaction to memory; and performing, by the computer system, any one of a) and b); a) based on the stream of program instructions not being complete, automatically beginning a new transaction in transactional execution mode of a next portion of the stream of program instructions; and b) based on aborting the transaction, re-executing the transaction based on the saved snapshot of the system state information. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product for executing each portion of a stream of program instructions as a transaction for reliability, the computer program product comprising:
-
a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; determining, by a computer system configured to support transactional execution mode processing, that an instruction in a portion of the stream of program instructions is to begin a transaction in transactional execution mode; based on beginning the transaction in transactional execution mode, saving, by the computer system, a snapshot of a system state information and executing, by the computer system, the portion of the stream of program instructions as a transaction until an end-mode test point in the stream of program instruction is reached; based on reaching the end-mode test point in the stream of program instructions, committing store data of the transaction to memory; and performing, by the computer system, any one of a) and b); a) based on the stream of program instructions not being complete, automatically beginning a new transaction in transactional execution mode of a next portion of the stream of program instructions; and b) based on aborting the transaction, re-executing the transaction based on the saved snapshot of the system state information. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computer system for executing each portion of a stream of program instructions as a transaction for reliability, the computer system comprising:
-
a memory; and a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising; determining, by a computer system configured to support transactional execution mode processing, that an instruction in a portion of the stream of program instructions is to begin a transaction in transactional execution mode; based on beginning the transaction in transactional execution mode, saving, by the computer system, a snapshot of a system state information and executing, by the computer system, the portion of the stream of program instructions as a transaction until an end-mode test point in the stream of program instruction is reached; based on reaching the end-mode test point in the stream of program instructions, committing store data of the transaction to memory; and performing, by the computer system, any one of a) and b); a) based on the stream of program instructions not being complete, automatically beginning a new transaction in transactional execution mode of a next portion of the stream of program instructions; and b) based on aborting the transaction, re-executing the transaction based on the saved snapshot of the system state information. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification