US2015242216A1PendingUtilityA1

Committing hardware transactions that are about to run out of resource

Assignee: IBMPriority: Feb 27, 2014Filed: Feb 27, 2014Published: Aug 27, 2015
Est. expiryFeb 27, 2034(~7.6 yrs left)· nominal 20-yr term from priority
G06F 9/3861G06F 9/467G06F 9/3836G06F 9/528G06F 9/3863
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A transactional memory system determines whether a hardware transaction can be salvaged. A processor of the transactional memory system begins execution of a transaction in a transactional memory environment. Based on detection that an amount of available resource for transactional execution is below a predetermined threshold level, the processor determines whether the transaction can be salvaged. Based on determining that the transaction can not be salvaged, the processor aborts the transaction. Based on determining the transaction can be salvaged, the processor performs a salvage operation, wherein the salvage operation comprises one or more of: determining that the transaction can be brought to a stable state without exceeding the amount of available resource for transactional execution, and bringing the transaction to a stable state; and determining that a resource can be made available, and making the resource available.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer system for determining whether a hardware transaction can be salvaged, 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:   beginning, by the processor, execution of a transaction in a transactional memory environment;   based on detection that an amount of available resource for transactional execution is below a predetermined threshold level, determining, by the processor, whether the transaction can be salvaged;   based on determining that the transaction can not be salvaged, aborting, by the processor, the transaction; and   based on determining the transaction can be salvaged, performing, by the processor, a salvage operation, wherein the salvage operation comprises one or more of:
 a) determining, by the processor, that the transaction can be brought to a stable state without exceeding the amount of available resource for transactional execution, and bringing the transaction to a stable state; and 
 b) determining, by the processor, that a resource can be made available, and making the resource available. 
   
     
     
         2 . The computer system of  claim 1 , further comprising, based on determining the transaction can be salvaged, committing, by the processor, the salvaged transaction to memory. 
     
     
         3 . The computer system of  claim 1 , wherein based on making the resource available, said method further comprising one of: continuing execution of the transaction, ending and restarting execution of the transaction, obtaining a lock and continuing execution of the transaction in non-transactional execution mode, or continuing execution of the transaction in non-transactional execution mode. 
     
     
         4 . The computer system of  claim 1 , wherein the bringing the transaction to a stable state further comprises executing, by the processor, one or more instructions to compensate for an incomplete portion of the salvaged transaction. 
     
     
         5 . The computer system of  claim 1 , wherein the determining that the transaction can be brought to a stable state without exceeding the amount of available resource for transactional execution includes determining, by the processor, the amount of computation executed in the transaction based on read values. 
     
     
         6 . A computer program product for determining whether a hardware transaction can be salvaged, 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:   beginning, by a processor, execution of a transaction in a transactional memory environment;   based on detection that an amount of available resource for transactional execution is below a predetermined threshold level, determining, by the processor, whether the transaction can be salvaged;   based on determining that the transaction can not be salvaged, aborting, by the processor, the transaction; and   based on determining the transaction can be salvaged, performing, by the processor, a salvage operation, wherein the salvage operation comprises one or more of:
 c) determining, by the processor, that the transaction can be brought to a stable state without exceeding the amount of available resource for transactional execution, and bringing the transaction to a stable state; and 
 d) determining, by the processor, that a resource can be made available, and making the resource available. 
   
     
     
         7 . The computer program product of  claim 6 , further comprising, based on determining, by the processor, the transaction can be salvaged, committing the salvaged transaction to memory. 
     
     
         8 . The computer program product of  claim 6 , wherein based on making the resource available, said method further comprising one of: continuing execution of the transaction, ending and restarting execution of the transaction, obtaining a lock and continuing execution of the transaction in non-transactional execution mode, or continuing execution of the transaction in non-transactional execution mode. 
     
     
         9 . The computer program product of  claim 6 , wherein the bringing the transaction to a stable state further comprises executing, by the processor, one or more instructions to compensate for an incomplete portion of the transaction committed to memory. 
     
     
         10 . The computer program product of  claim 6 , wherein the determining that the transaction can be brought to a stable state without exceeding the amount of available resource for transactional execution includes determining, by the processor, the amount of computation executed in the transaction based on read values. 
     
     
         11 . A method for determining whether a hardware transaction can be salvaged, the method comprising:
 beginning execution, by a processor, of a transaction in a transactional memory environment;   based on detection that an amount of available resource for transactional execution is below a predetermined threshold level, determining, by the processor, whether the transaction can be salvaged;   based on determining that the transaction can not be salvaged, aborting, by the processor, the transaction; and   based on determining the transaction can be salvaged, performing, by the processor, a salvage operation, wherein the salvage operation comprises one or more of:
 e) determining, by the processor, that the transaction can be brought to a stable state without exceeding the amount of available resource for transactional execution, and bringing the transaction to a stable state; and 
 f) determining, by the processor, that a resource can be made available, and making the resource available. 
   
     
     
         12 . The method of  claim 11 , further comprising, based on determining the transaction can be salvaged, committing, by the processor, the salvaged transaction to memory. 
     
     
         13 . The method of  claim 11 , further comprising:
 based on making the resource available, the method further comprising one of: continuing execution of the transaction, ending and restarting execution of the transaction, obtaining a lock and continuing execution of the transaction in non-transactional execution mode, or continuing execution of the transaction in non-transactional execution mode.   
     
     
         14 . The method of  claim 11 , wherein the bringing the transaction to a stable state further comprises executing, by the processor, one or more instructions to compensate for an incomplete portion of the transaction committed to memory. 
     
     
         15 . The method of  claim 11 , wherein the determining that the transaction can be brought to a stable state without exceeding the amount of available resource for transactional execution includes determining, by the processor, the amount of computation executed in the transaction based on read values.

Join the waitlist — get patent alerts

Track US2015242216A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.