发明名称 Enhancing reliability of transaction execution by using transaction digests
摘要 Performing a transaction in a transactional memory environment for performing transactional executions, the transactional memory environment including a digest-generating transaction to generate a computed digest and a digest-checking transaction to compare computed digests is provided. Included is identifying, by a computer system, a first indicator signaling a beginning instruction of a digest-generating transaction including a plurality of instructions; suppressing committing memory store data of the digest-generating transaction to memory; generating a computed digest based on the execution of at least one of the plurality of instructions; identifying a second indicator associated with the plurality of instructions signaling an ending instruction of the digest-generating transaction, the computed digest is replicable for an error-free execution of the plurality of instructions; and saving the computed digest, as a reliability digest, based on completing the digest-generating transaction and not save the first computed digest based on an abort of the digest-generating transaction.
申请公布号 US9304935(B2) 申请公布日期 2016.04.05
申请号 US201414163324 申请日期 2014.01.24
申请人 International Business Machines Corporation 发明人 Gschwind Michael Karl;Salapura Valentina
分类号 G06F11/14;G06F12/08;G06F9/30;G06F9/46 主分类号 G06F11/14
代理机构 代理人 Zwick David;Kinnaman, Jr. William
主权项 1. A computer program product for performing a transaction in a transactional memory environment for performing transactional executions, wherein memory store data of the transaction are committed to memory at transaction completion, the transactional memory environment comprising a digest-generating transaction to generate a computed digest and a digest-checking transaction to compare computed digests, 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: identifying, by a computer system, a first indicator, the first indicator signaling a beginning instruction of a digest-generating transaction comprising a first plurality of instructions, the digest-generating transaction suppresses committing memory store data of the digest-generating transaction to memory; generating, by the computer system, a first computed digest based on the execution of at least one of the first plurality of instructions; identifying, by the computer system, a second indicator associated with the first plurality of instructions, the second indicator signaling an ending instruction of the digest-generating transaction comprising the first plurality of instructions, wherein the first computed digest is replicable for an error-free execution of the first plurality of instructions; saving, by the computer system, the first computed digest, as a reliability digest, based on completing the digest-generating transaction; not saving the first computed digest based on an abort of the digest-generating transaction; identifying, by the computer system, a third indicator, the third indicator signaling a beginning instruction of a digest-checking transaction comprising a second plurality of instructions, and where the first plurality of instructions and the second plurality of instructions execute in parallel on different threads, memory conflicts between the first plurality of instructions and the second plurality of instructions are suppressed; generating, by the computer system, a second computed digest based on execution of at least one of the second plurality of instructions; identifying, by the computer system, a fourth indicator associated with the second plurality of instructions, the fourth indicator signaling an ending instruction of the digest-checking transaction comprising the second plurality of instructions, wherein the second computed digest is replicable for an error-free execution of the second plurality of instructions; comparing, by the computer system, the second computed digest with the saved reliability digest; based on the second computed digest being equal to the reliability digest, completing the digest-checking transaction and committing the memory store data of the digest-checking transaction to memory; and based on the second computed digest being not equal to the reliability digest, aborting the digest-checking transaction.
地址 Armonk NY US