CN115796874A - Operation-level block chain transaction concurrent execution method - Google Patents

Operation-level block chain transaction concurrent execution method Download PDF

Info

Publication number
CN115796874A
CN115796874A CN202310026559.0A CN202310026559A CN115796874A CN 115796874 A CN115796874 A CN 115796874A CN 202310026559 A CN202310026559 A CN 202310026559A CN 115796874 A CN115796874 A CN 115796874A
Authority
CN
China
Prior art keywords
transaction
instruction
conflicting
operation log
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310026559.0A
Other languages
Chinese (zh)
Other versions
CN115796874B (en
Inventor
林浩然
朱建锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Anjie Technology Co ltd
Original Assignee
Hangzhou Anjie Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Anjie Technology Co ltd filed Critical Hangzhou Anjie Technology Co ltd
Priority to CN202310026559.0A priority Critical patent/CN115796874B/en
Publication of CN115796874A publication Critical patent/CN115796874A/en
Application granted granted Critical
Publication of CN115796874B publication Critical patent/CN115796874B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a concurrent execution method of operation-level blockchain transaction, which comprises the steps of dynamically generating an operation log while performing transaction in a concurrent execution block, wherein the operation log comprises a serial number, an instruction code, an operand, an operation result and a dependent operation serial number of each execution operation, identifying all conflict instruction sequences in the transaction based on the operation log when detecting that the concurrently performed transaction conflicts, verifying that the instruction sequences meet the condition of re-execution, and re-executing the conflict instruction sequences according to the operation log if the conflict instruction sequences meet the condition of re-execution, thereby solving the conflict and submitting of the transaction.

Description

Operation-level block chain transaction concurrent execution method
Technical Field
The invention relates to the field of computer parallel computing, in particular to a concurrent execution method of blockchain transaction of operation level.
Background
Block chain technology has attracted extensive attention and application due to its decentralized and non-tamper-able nature. The introduction of intelligent contract technology further enables modern blockchain systems to execute user-written programs. This allows the use of blockchain technology in more areas, such as decentralized finance. However, the throughput of existing blockchain systems is still low (e.g., etherhouses can only process about 15 transactions per second), which greatly limits the range of applications of blockchain techniques.
Most of the existing blockchain systems process transactions in each block in a sequential execution manner. Sequential execution, while simple to implement, cannot take advantage of the parallelism of modern processors and memory devices, limiting the transaction processing capabilities of blockchain systems. The traditional concurrent execution method in the database field cannot effectively improve the throughput of the blockchain system. In a high-conflict blockchain transaction environment, the conventional concurrent execution method may frequently block or suspend the concurrently executed transactions, thereby causing a decrease in transaction processing performance. For example, the traditional two-phase lock method (2 PL) locks accessed data when executed concurrently, resulting in contention and blocking between multiple transactions accessing the same data simultaneously; optimistic control methods (OCC) can cause data collision problems because concurrently executing transactions modify the same data at the same time, and then frequently suspend and restart conflicting transactions. Therefore, an efficient concurrent execution method for a blockchain working environment is needed, which utilizes the parallelism of modern computer hardware on one hand, and solves the problem of transaction blocking and suspension caused by the conventional concurrent execution method on the other hand, so as to improve the speed of processing transactions by a blockchain system.
Disclosure of Invention
The invention aims to improve the defects of the prior art, and provides an operation-level concurrent execution method for blockchain transactions.
The invention discloses a concurrent execution method of operation-level blockchain transaction, which comprises the following steps:
the method comprises the following steps: concurrently speculatively executing all transactions in a block, recording the reading set and the writing set of each transaction, and generating an operation log;
step two: sequentially checking whether the read set of the transaction is matched with the global state of the current blockchain according to the sequence of the transaction in the block, if so, updating the write set of the transaction to the global state of the blockchain and submitting the write set of the transaction, otherwise, entering a third step;
step three: for the transactions which are not submitted in the second step, identifying conflicting instruction sequences in the transactions according to the operation log;
step four: checking whether the conflicting instruction sequences in the step three meet the condition of re-execution, if so, entering the step five, otherwise, directly entering the step six;
step five: re-executing the conflicting instruction sequences in step three, updating the transaction write set, then updating the transaction write set to the global state of the blockchain and submitting the transaction write set;
step six: and for the transaction which does not pass the verification of the reading set in the step two and the conflicting instruction sequence in the step four, re-executing the whole transaction, re-recording the writing set of the transaction, updating the writing set of the transaction to the global state of the block chain after the execution is finished, and submitting the writing set of the transaction.
In a further improvement, in the first step of the present invention, the operation log includes a sequence number of each executed operation, an instruction code, an operand, an operation result, and a sequence number of a dependent operation.
As a further improvement, the method for generating the operation log in the present invention is to trace data streams in the stack, the memory, and the storage, and obtain a sequence number of a parent operation on which each operation depends according to an instruction dependency embodied in the data streams.
As a further improvement, the instruction sequence for identifying conflicts in transactions in step three of the present invention specifically marks the instruction reading the conflict key value pair as a conflict instruction, finds all instructions directly or indirectly dependent on the conflict instruction according to the operation log, and marks the instructions as conflict instructions.
As a further improvement, in the fourth step of the present invention, the condition for re-executing the conflicting instruction sequence is specifically: the control flow and data flow of the transaction are not changed when the conflicting instructions are re-executed.
As a further improvement, in the step five of the present invention, the step three of re-executing the conflicting instruction sequences specifically is to re-execute all the conflicting instructions in sequence according to the instruction sequence numbers, each conflicting instruction re-obtains the value of the operand of the instruction from the operation result of the dependent instruction according to the dependent instruction sequence number recorded in the operation log, then re-executes the instruction according to the instruction code of the operation log and the newly obtained operand, and updates the operation log of the instruction according to the operation result.
The invention has the following beneficial effects:
the invention provides an operation-level block chain transaction concurrent execution method aiming at a high-conflict transaction environment of a block chain, which not only realizes transaction concurrent execution by utilizing the parallelism of modern computer hardware, but also effectively relieves the problems of blocking and stopping of the traditional concurrent execution method in the block chain environment, and accelerates the transaction processing rate of a block chain system. In order to avoid the problem of transaction blocking caused by the traditional pessimistic concurrency control method (such as 2 PL), the invention applies the optimistic concurrency control method in the field of the database to the field of the block chain. Further, in order to improve the transaction suspension problem of the traditional optimistic concurrency control method in the blockchain working environment, the invention provides the concepts of conflict identification and re-execution of the operation level in step three, so that the data conflict only causes a small part of operations to be re-executed, and most instructions unrelated to the data conflict can still be executed concurrently with high efficiency.
In addition, in order to realize conflict identification and re-execution at the operation level, the invention introduces a data structure of an operation log in the step one, and realizes the execution environment and interdependent record of all operations of each transaction. Meanwhile, the invention also provides a lightweight data tracking algorithm in the first step, and the generation of the operation log can be realized with lower performance loss. Through the operation log, the invention can realize rapid conflict identification and re-execution of the operation level in the third step, thereby avoiding the performance reduction caused by the blocking or stopping of the whole transaction in the traditional concurrent execution method. Experiments show that for the Etherhouse client, the performance of the block chain transaction concurrent execution method at the operation level is improved by 4.28 times compared with the original sequential execution method; and the traditional concurrent execution method, such as an optimistic concurrency control algorithm (OCC), can only accelerate by 2.49 times. Experiments prove that the method can obviously improve the transaction processing rate of the block chain system.
Drawings
FIG. 1 is a flow chart of a method for concurrent execution of blockchains at an operation level according to the present invention.
Detailed Description
The objects and effects of the present invention will become more apparent by describing in detail preferred embodiments thereof with reference to the accompanying drawings, it being understood that the embodiments described herein are merely illustrative of the present invention and are not intended to limit the present invention.
Fig. 1 is a flow chart of an operation level blockchain concurrent execution method, which is an visualized description of the concurrent execution of transactions.
The method comprises the following steps: concurrently speculatively executing all transactions in a block, recording the read set and write set of each transaction, and generating an operation log. The operation log includes the sequence number of each executed operation, the instruction code, the operand, the operation result, and the sequence number of the dependent operation, as shown in the following table.
Figure 677879DEST_PATH_IMAGE001
The key to oplog generation is to obtain the sequence numbers of all operations on which each operation depends. The generation method of the operation log is to track data streams in a stack, a memory and storage and obtain the sequence number of a father operation which each operation depends on according to the instruction dependency embodied in the data streams. Specifically, the present invention classifies the operations within the transaction into the following categories, and performs log generation in different ways.
1) For the operation of modifying the balance of the account, generating a balance operation log, and recording the modified account address, the balance before modification and the balance after modification.
2) For the operation of modifying the account nonce, a nonce operation log is generated, and the modified account address, the pre-modification nonce and the post-modification nonce are recorded.
3) For the virtual machine operation of the access stack, a shadow stack is additionally arranged outside the original virtual machine stack and used for recording the serial number of the generation operation of each element in the stack. The maintenance of the shadow stack is similar to that of the stack, for example, an ether house virtual machine is taken as an example, for PUSH operation, the virtual machine pushes a constant into the stack, pushes NULL (indicating that the operation does not depend on any other operation) into the shadow stack, for POP operation, the virtual machine POPs up a value from the stack and also POPs up a value from the shadow stack, for SWAP operation, the virtual machine exchanges elements in the stack and also exchanges corresponding elements in the shadow stack, for DUP operation, the virtual machine copies the elements in the stack and also copies corresponding elements in the shadow stack, for other stack operation, the virtual machine POPs up parameters from the stack and also POPs up elements corresponding to the parameters from the shadow stack, if the popped elements in the shadow stack are all NULL, no operation log is generated, otherwise, a new operation log is generated, and the field of the new operation log is set as the element in the shadow stack.
4) For the operation of accessing the memory, a shadow memory is additionally arranged outside the original virtual machine memory and used for recording the operation write-in and the write-in offset of each byte in the memory, and by this way, the operation of accessing the memory can also obtain the serial number of the operation which depends on the operation from the shadow memory corresponding to each byte accessed by the operation. Taking the ethernet virtual machine as an example, for each byte of the memory of the virtual machine, a corresponding (LSN, offset) is stored in the shadow memory, where LSN represents the sequence number of the last operation writing the memory location, and offset represents the offset of the last operation writing the memory location. For an operation accessing memory, the def.memory field of the operation log is composed of several (start, len, lsn, offset) tuples, which indicate that the memory address from start to start + len is written by the operation with the sequence number lsn and the offset is offset. For the operation of reading the memory, the def.memory field can be obtained through the shadow memory.
5) For the operation of accessing the storage, a mapping is additionally maintained, and the sequence number of the operation corresponding to the latest writing of each storage slot pair is recorded.
6) For operations that may affect control and data flows (e.g., JUMP in etherhouse, JUMP pi, MLOAD, MSTORE, etc.), an additional log of conditional operations may be generated indicating that the condition must be satisfied when re-executed. For a control flow related operation, the conditional operation log records the control flow transfer condition and the control flow transfer destination of the operation, and for a data flow related operation, the conditional operation log records the address of data written by the operation.
Step two: and sequentially checking whether the read set of the transaction is matched with the global state of the current blockchain according to the sequence of the transaction in the blocks, if so, updating the write set of the transaction to the global state of the blockchain and submitting the write set of the transaction, and otherwise, entering the step three. Specifically, after a transaction is speculatively executed, the transaction enters a verification queue state, and only after all transactions sorted before the transaction (in the order of the blocks) are submitted, the transaction formally enters a reading verification step. In the read set verification step, the read set at speculative execution is compared to the global store at verification (i.e., after all transactions ordered before it were committed) for consistency. If so, directly submitting the write set obtained by the speculative execution to the global storage. Otherwise, recording all unmatched reading sets, and entering a conflict operation identification step.
Step three: for transactions that are not committed in step two, conflicting sequences of instructions within the transaction are identified from the oplog. Specifically, in the conflict identification step, all operations directly accessing unmatched read set elements are first found through the operation log and marked as source conflict operations. Since the operation log records the dependency relationship between the operations, the operation log can be regarded as a directed acyclic graph. Then, with the source conflict operation as a starting point, the graph is traversed by using a depth-first traversal algorithm or a breadth-first traversal algorithm, and all traversed operations are marked as conflict operations. After the traversal is finished, all marked operations are conflict operations.
Step four: and (5) checking whether the conflicting instruction sequences in the step three meet the condition of re-execution, if so, entering the step five, and otherwise, directly entering the step six. When the operation log in the first step is generated, the control flow and the data flow of the execution are recorded, and the conditions for maintaining the control flow and the data flow are also recorded. This step checks whether the conditions for consistency of the control and data streams are still met if the results of the conflicting operations are corrected. If not, the operation level re-execution can not be carried out, and only the transaction level re-execution can be carried out.
Step five: re-executing the conflicting instruction sequences in step three and updating the transaction write set, then updating the transaction write set to the global state of the blockchain and committing the transaction write set. The re-execution of the conflict instruction sequence specifically includes: first, all operations that directly access mismatched read set elements are found and the results of these operations are updated to the correct values in the current global store. For other conflict operations, according to the serial number of the dependent operation recorded in the operation log, the value of the operand of the operation is obtained again from the operation result of the dependent operation, then according to the instruction code of the operation log and the newly obtained operand, the instruction is executed again, and the result is stored in the operation result column of the operation log of the operation. Wherein, for a conflict operation (such as SSTORE instruction in EtherFang), the result of the operation is updated to the write set of the transaction. And after all conflict operations are executed again, writing the write set into the global storage and submitting the transaction.
Step six: and for the transaction which does not pass the verification of the reading set in the step two and the conflicting instruction sequence in the step four, discarding the writing set of the transaction in the speculative execution stage, re-executing all the operations of the transaction in a brand-new virtual machine environment, recording the writing set of the transaction in the transaction execution process, writing the writing set into the global storage after the transaction execution is completed, and submitting the transaction.
It will be understood by those skilled in the art that the foregoing is only a single example of the invention and is not intended to limit the invention, which has been described in detail with reference to the foregoing examples, but it will be apparent to those skilled in the art that various changes in the form and details of the invention may be made and equivalents may be substituted for elements thereof. All modifications, equivalents and the like which come within the spirit and principle of the invention are intended to be included within the scope of the invention.

Claims (6)

1. An operation-level blockchain transaction concurrent execution method is characterized in that transaction execution comprises the following steps:
the method comprises the following steps: concurrently speculatively executing all transactions in a block, recording the reading set and the writing set of each transaction, and generating an operation log;
step two: sequentially checking whether the read set of the transaction is matched with the global state of the current blockchain according to the sequence of the transaction in the block, if so, updating the write set of the transaction to the global state of the blockchain and submitting the write set of the transaction, otherwise, entering a third step;
step three: for the transactions which are not submitted in the second step, identifying conflicting instruction sequences in the transactions according to the operation log;
step four: checking whether the conflicting instruction sequences in the step three meet the condition of re-execution, if so, entering the step five, otherwise, directly entering the step six;
step five: re-executing the conflicting instruction sequences in step three, updating the transaction write set, then updating the transaction write set to the global state of the blockchain and submitting the transaction write set;
step six: and for the transaction which does not pass the verification of the reading set in the step two and the conflicting instruction sequence in the step four, re-executing the whole transaction, re-recording the writing set of the transaction, updating the writing set of the transaction to the global state of the block chain after the execution is finished, and submitting the writing set of the transaction.
2. The method of claim 1, wherein in step one, the operation log comprises a sequence number of each executed operation, an instruction code, an operand, an operation result, and a sequence number of a dependent operation.
3. The method of claim 1, wherein the operation log is generated by tracing data streams in a stack, a memory, and a storage, and obtaining a sequence number of a parent operation on which each operation depends according to an instruction dependency embodied in the data streams.
4. The method according to claim 1, 2 or 3, wherein the sequence of instructions for identifying conflicts within transactions in the third step is to mark the instruction reading the conflicting key-value pair as a conflicting instruction, find all instructions directly or indirectly dependent on the conflicting instruction according to the operation log, and mark the instructions as conflicting instructions.
5. The method of claim 4, wherein in step four, the re-execution of the conflicting command sequences is conditioned by: the control and data flow of transactions is not changed when conflicting instructions are re-executed.
6. The method according to claim 1, 2, 3 or 5, wherein the step five of re-executing the instruction sequence conflicted in the step three is to re-execute all conflicted instructions in sequence according to the instruction sequence number, each conflicted instruction re-acquires the operand value of the instruction from the operation result of the dependent instruction according to the dependent instruction sequence number recorded in the operation log, and then re-executes the instruction according to the instruction code of the operation log and the newly acquired operand, and updates the operation log of the instruction according to the operation result.
CN202310026559.0A 2023-01-09 2023-01-09 Concurrent execution method for blockchain transaction at operation level Active CN115796874B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310026559.0A CN115796874B (en) 2023-01-09 2023-01-09 Concurrent execution method for blockchain transaction at operation level

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310026559.0A CN115796874B (en) 2023-01-09 2023-01-09 Concurrent execution method for blockchain transaction at operation level

Publications (2)

Publication Number Publication Date
CN115796874A true CN115796874A (en) 2023-03-14
CN115796874B CN115796874B (en) 2023-05-09

Family

ID=85428823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310026559.0A Active CN115796874B (en) 2023-01-09 2023-01-09 Concurrent execution method for blockchain transaction at operation level

Country Status (1)

Country Link
CN (1) CN115796874B (en)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163221A1 (en) * 2006-12-27 2008-07-03 Hiroshi Horii Method and system for dividing and executing on-line transaction processing in distributed environment
US20180219883A1 (en) * 2017-01-27 2018-08-02 International Business Machines Corporation Secured event monitoring leveraging blockchain
CN109559226A (en) * 2018-11-28 2019-04-02 杭州有盾网络科技有限公司 Block chain transaction execution method, system and electronic equipment and storage medium
CN110070445A (en) * 2019-04-28 2019-07-30 深圳前海微众银行股份有限公司 A kind of transaction processing method and device based on block catenary system
CN110135985A (en) * 2019-04-04 2019-08-16 杭州抖音科技有限公司 A kind of parallel execution method and system traded on block chain
CN110517140A (en) * 2019-08-26 2019-11-29 华东师范大学 A kind of transaction of block chain intelligence contract concurrently executes method
WO2020113314A1 (en) * 2018-12-04 2020-06-11 Zeu Crypto Networks Inc. System and method for augmenting database applications with blockchain technology
CN112015558A (en) * 2020-09-03 2020-12-01 深圳壹账通智能科技有限公司 Data verification method, device and storage medium
CN112037058A (en) * 2020-08-28 2020-12-04 平安科技(深圳)有限公司 Data verification method, device and storage medium
CN112837163A (en) * 2021-03-22 2021-05-25 中国工商银行股份有限公司 Block chain based batch transaction uplink method and system
CN112837153A (en) * 2021-02-10 2021-05-25 北京航空航天大学 Intelligent contract conflict detection method based on directed acyclic graph
WO2021233167A1 (en) * 2020-05-20 2021-11-25 腾讯科技(深圳)有限公司 Transaction processing method and apparatus, computer device, and storage medium
CN113743941A (en) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 Method for executing transaction in block chain, block chain and main node
CN113743940A (en) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 Method for executing transaction in block chain, main node and slave node
CN115443457A (en) * 2021-04-06 2022-12-06 华为云计算技术有限公司 Transaction processing method, distributed database system, cluster and medium

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163221A1 (en) * 2006-12-27 2008-07-03 Hiroshi Horii Method and system for dividing and executing on-line transaction processing in distributed environment
US20180219883A1 (en) * 2017-01-27 2018-08-02 International Business Machines Corporation Secured event monitoring leveraging blockchain
CN109559226A (en) * 2018-11-28 2019-04-02 杭州有盾网络科技有限公司 Block chain transaction execution method, system and electronic equipment and storage medium
WO2020113314A1 (en) * 2018-12-04 2020-06-11 Zeu Crypto Networks Inc. System and method for augmenting database applications with blockchain technology
CN110135985A (en) * 2019-04-04 2019-08-16 杭州抖音科技有限公司 A kind of parallel execution method and system traded on block chain
CN110070445A (en) * 2019-04-28 2019-07-30 深圳前海微众银行股份有限公司 A kind of transaction processing method and device based on block catenary system
CN110517140A (en) * 2019-08-26 2019-11-29 华东师范大学 A kind of transaction of block chain intelligence contract concurrently executes method
WO2021233167A1 (en) * 2020-05-20 2021-11-25 腾讯科技(深圳)有限公司 Transaction processing method and apparatus, computer device, and storage medium
CN112037058A (en) * 2020-08-28 2020-12-04 平安科技(深圳)有限公司 Data verification method, device and storage medium
WO2022041901A1 (en) * 2020-08-28 2022-03-03 平安科技(深圳)有限公司 Data verification method and apparatus, and storage medium
CN112015558A (en) * 2020-09-03 2020-12-01 深圳壹账通智能科技有限公司 Data verification method, device and storage medium
CN112837153A (en) * 2021-02-10 2021-05-25 北京航空航天大学 Intelligent contract conflict detection method based on directed acyclic graph
CN112837163A (en) * 2021-03-22 2021-05-25 中国工商银行股份有限公司 Block chain based batch transaction uplink method and system
CN115443457A (en) * 2021-04-06 2022-12-06 华为云计算技术有限公司 Transaction processing method, distributed database system, cluster and medium
CN113743941A (en) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 Method for executing transaction in block chain, block chain and main node
CN113743940A (en) * 2021-11-04 2021-12-03 支付宝(杭州)信息技术有限公司 Method for executing transaction in block chain, main node and slave node

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RISHI SAKET WT AL.: "Smart Contract Protocol for Authenticity and Compliance with Anonymity on Hyperledger Fabric" *
郑观;范克韬;吴泓;: "区块链电子证据真实性的认定路径" *

Also Published As

Publication number Publication date
CN115796874B (en) 2023-05-09

Similar Documents

Publication Publication Date Title
US8321637B2 (en) Computing system with optimized support for transactional memory
US9009452B2 (en) Computing system with transactional memory using millicode assists
US8095750B2 (en) Transactional memory system with fast processing of common conflicts
US8117403B2 (en) Transactional memory system which employs thread assists using address history tables
US9569254B2 (en) Automatic checkpointing and partial rollback in software transaction memory
US8095741B2 (en) Transactional memory computing system with support for chained transactions
US9411635B2 (en) Parallel nested transactions in transactional memory
US8688920B2 (en) Computing system with guest code support of transactional memory
US7962456B2 (en) Parallel nested transactions in transactional memory
US8271464B2 (en) Parallel nested transactions in transactional memory
US20140047186A1 (en) Transactional memory system with efficient cache support
US9336066B2 (en) Hybrid linear validation algorithm for software transactional memory (STM) systems
EP1456750A1 (en) Collision handling apparatus and method
US10642792B2 (en) Distributed transaction conflict resolution
EP3396560B1 (en) Database operating method and device
US20080005498A1 (en) Method and system for enabling a synchronization-free and parallel commit phase
TW201346721A (en) Overlapping atomic regions in a processor
Litz et al. Efficient correction of anomalies in snapshot isolation transactions
CN112100188B (en) Concurrency control method and system based on machine learning
Lin et al. Operation-level concurrent transaction execution for blockchains
CN115858252B (en) Data recovery method, device and storage medium
CN115796874A (en) Operation-level block chain transaction concurrent execution method
Chan et al. TrC-MC: decentralized software transactional memory for multi-multicore computers
KR102105687B1 (en) Apparatus and method of providing lock-free reading
Ma et al. Key-Based Transaction Reordering: An Optimized Approach for Concurrency Control in Hyperledger Fabric

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant