CN111724256A - 一种基于多核架构的智能合约执行优化方法 - Google Patents

一种基于多核架构的智能合约执行优化方法 Download PDF

Info

Publication number
CN111724256A
CN111724256A CN202010467552.9A CN202010467552A CN111724256A CN 111724256 A CN111724256 A CN 111724256A CN 202010467552 A CN202010467552 A CN 202010467552A CN 111724256 A CN111724256 A CN 111724256A
Authority
CN
China
Prior art keywords
transaction
intelligent contract
parallel
transactions
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.)
Pending
Application number
CN202010467552.9A
Other languages
English (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.)
Tianjin University
Original Assignee
Tianjin University
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 Tianjin University filed Critical Tianjin University
Priority to CN202010467552.9A priority Critical patent/CN111724256A/zh
Publication of CN111724256A publication Critical patent/CN111724256A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Educational Administration (AREA)
  • Technology Law (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及一种基于多核架构的智能合约执行优化方法,包括两个阶段:1)并行挖矿阶段;2)并行验证阶段。本发明针对智能合约执行的两个阶段,分别设计并实现并行挖矿和并行验证策略。在并行挖矿阶段,通过引入Spinlock和MVCC解决了线程的频繁的上下文切换及读写锁的阻塞问题;同时,在并行验证阶段,通过对冲突交易进行分组利用双端队列实现交易的并行化;提出的智能合约并行化策略,为智能合约的执行提供了新的解决方案,同时也是对多线程环境下任务执行顺序可恢复性的探索,可以为有效解决并发问题,具有一定的理论价值和研究意义。

Description

一种基于多核架构的智能合约执行优化方法
技术领域
本发明属于区块链领域,涉及交易并行化技术和并行验证策略,特别涉及一种基于多核架构的智能合约执行优化方法。
背景技术
区块链的核心思想主要包括加密和共识,众多的加密算法为区块链的安全性提供了保障,共识机制主要包括挖矿和验证两个阶段。矿工将交易成功打包便可以获取一定的区块奖励,区块链以这种激励机制来保证其长期运行。在矿工广播出打包的交易之后,需要其他矿工停下手头的工作,立马验证结点的正确性,并投入到下一区块的竞争,区块链以这种共识机制保证其安全正确地运行。同时,其采用理论上最为公平的工作量证明(ProofofWork,PoW)作为共识算法,PoW是按照一个CPU一票来规定的,能最大程度上实现去中心化的算力分布。尽可能地保证区块链正确且安全地运行下去。
以太坊(Ethereum)自被提出以来,便引起了众多开发者和相关学者的密切关注。其最大的改进和创新就是引入了智能合约,或者说Ethereum赋予了智能合约更强大的功能。简单来说,智能合约只是一段可以由图灵完备的语言编写的一段部署在区块链上的代码。智能合约作为连接区块链和用户之间的桥梁,通过将智能合约部署到区块链上便可以实现各种去中心化的应用,大大降低了区块链的使用门槛。Ethereum的出现为科技的发展带来了新的生命力,也因此开启了区块链2.0时代。
智能合约同样需要经过挖矿和验证阶段的执行验证,所以智能合约在一次交
易过程中需要被反复地执行。为了保证交易的正确性,以太坊虚拟机(EthereumVirtual Machine,EVM)被设定为单线程的,串行化的执行不仅会限制系统的吞吐量,而且难以利用当前多核处理器的优势。随着Ethereum的快速发展,其吸引了大量的开发者和用户。与比特币相对于区块链类似,以太币(ETH)是基于Ethereum发行的一种数字货币,是在Ethereum上实现交易的一种介质。同时,区块奖励也是ETH产生的唯一途径。但是,其低下的交易执行效率也导致超过1万笔交易被阻塞在Ethereum区块链上,这也意味着这些交易在短时间内得不到确认,影响交易的实时性。
基于以上研究背景可知,如何提高Ethereum的吞吐量成为一个新的话题。区块链专家和相关学者也纷纷发表各自的见解,希望能从根本上提高智能合约的执行效率。如利用当前多核处理器和集群的优势,使智能合约能够并行化执行,这样可以在一定程度上增加系统的并发度,提高系统的吞吐量,缩短交易的确认时间。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于多核架构的智能合约执行优化方法,用于智能合约的并行化,提高Ethereum的吞吐量,不仅能有效地解决交易堵塞的问题,使交易得到快速的确认,减轻Ethereum的负担,而且能提高矿工和验证结点的工作效率并达到节约资源的目的。
本发明解决其技术问题是通过以下技术方案实现的:
一种基于多核架构的智能合约执行优化方法,其特征在于:所述方法的步骤为:
1)并行挖矿阶段:矿工收集交易信息对智能合约进行初次调用执行,对交易进行标记并对执行顺序进行记录,包含步骤:
S1、并行化执行交易;
S2、标记交易的执行顺序使交易的结构可以复现;
2)并行验证阶段:验证结点对交易的结构进行复现,并对冲突的交易进行分组,验证交易的最终状态,包含步骤:
S3、根据挖矿结点提供的标记信息对交易进行复现;
S4、利用贪心分组策略将冲突的交易进行分组并行化;
S5、保证组内交易的执行顺序避免锁的争用和等待;
S6、对交易的结果进行验证。
而且,所述步骤S1的具体操作为:使用自旋锁(pinLock)和时间戳(Timestamp)来解决读写冲突和优先级的问题并使用缓存提交,进行读操作时将读到的数据复制到线程局部变量(ThreadLocal)中,如果Timestamp的值没有改变,则继续进行下一步操作,否则表明在这段时间内有其他的线程对该变量进行了写操作;此时需要重新读取原变量的值,直到Timestamp的值相同,在此过程中缓存策略将所有成功执行的操作先存储在缓存(Cache)中,当所有动作执行完毕提交或丢弃Cache。
而且,所述步骤S2使用Spinlock执行交易并对交易进行标记,记录每个操作的前驱结点和锁定时间,具体操作为:开启三个工作线程对交易进行并行化执行,Ti表示线程,ti表示交易序号,采用Spinlock和乐观读对交易进行处理,并记录每个操作的前驱结点和锁定的时间戳,若交易没有前驱结点则标记为空,如交易有多个前驱结点,则按照顺序进行记录。
而且,所述步骤S3通过S2标记的信息构造交易图谱,具体操作为:通过并行挖矿阶段标记的信息可以得到合约之间交易的邻接矩阵M1,M2和M3,其顶点顺序依次为M1(V)={Kate,Ivy,Rita,Kim,Len,Eva,May,Zara,Lucy},M2(V)={Ruth,Elsa,Ruby},M3(V)={Vera,Kyra},每当有一笔交易记录就会在账户之间形成一条有向边用1表示,否则用0表示,如公式所示:
Figure BDA0002513175070000031
其中:M表示邻接矩阵;
vi,vj表示任意两个顶点,即合约账户。
而且,所述步骤S4根据机器的并发将交易分组,具体操作为:递归是解决线性分组最直接的手段之一,首先,按照交易的规模对冲突交易集合U进行升序排序,假设排序后的集合为SU={s1,s2,...,sn},通过不断比较前i个元素和后n-i个元素的最值,得到问题的最优解,如公式所示:
Figure BDA0002513175070000032
其中:n代表集合U中元素的个数;
M|n,k|代表将n个元素分成k组的最优解;
边界条件计算公式为:
Figure BDA0002513175070000033
而且,所述步骤S5具体操作为:将分组后的交易分发给不同的消息队列并行执行,每个消息队列使用单一的消费线程进行串行执行,以保证组内交易的执行顺序避免锁的争用和等待。
而且,所述步骤S6对基于多核架构的智能合约执行优化方法进行实验,具体操作为:基于Aelf区块链,使用经典的转账合约作为实验数据,通过设置交易数量(txCount)和交易冲突率(conflictRate)这两个参数控制冲突交易的比例,针对并行挖矿策略和并行验证策略设计实验,验证交易的冲突率对智能合约并行化执行效率的影响,并行挖矿和并行验证策略吞吐量和加速比的变化情况;并分别与Aelf区块链提出的串行挖矿和串行验证作对比,验证并行策略的优越性。
本发明的优点和有益效果为:
1、本发明针对智能合约执行的两个阶段,分别设计并实现并行挖矿和并行验证策略。在并行挖矿阶段,通过引入Spinlock和MVCC解决了线程的频繁的上下文切换及读写锁的阻塞问题;同时,在并行验证阶段,通过对冲突交易进行分组利用双端队列实现交易的并行化;提出的智能合约并行化策略,为智能合约的执行提供了新的解决方案,同时也是对多线程环境下任务执行顺序可恢复性的探索,可以为有效解决并发问题,具有一定的理论价值和研究意义。
附图说明
图1为本发明批量转账记录图;
图2为不同交易规模下的执行效率对比图。
具体实施方式
下面通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
一种基于多核架构的智能合约执行优化方法,其特征在于:所述方法的步骤为:
1)并行挖矿阶段:矿工收集交易信息对智能合约进行初次调用执行,对交易进行标记并对执行顺序进行记录,包含步骤:
S1、并行化执行交易,使用自旋锁(pinLock)和时间戳(Timestamp)来解决读写冲突和优先级的问题并使用缓存提交,进行读操作时将读到的数据复制到线程局部变量(ThreadLocal)中,如果Timestamp的值没有改变,则继续进行下一步操作,否则表明在这段时间内有其他的线程对该变量进行了写操作;此时需要重新读取原变量的值,直到Timestamp的值相同,在此过程中缓存策略将所有成功执行的操作先存储在缓存(Cache)中,当所有动作执行完毕提交或丢弃Cache。
S2、标记交易的执行顺序使交易的结构可以复现,开启三个工作线程对交易进行并行化执行,Ti表示线程,ti表示交易序号,采用Spinlock和乐观读对交易进行处理,并记录每个操作的前驱结点和锁定的时间戳,若交易没有前驱结点则标记为空,如交易有多个前驱结点,则按照顺序进行记录。
2)并行验证阶段:验证结点对交易的结构进行复现,并对冲突的交易进行分组,验证交易的最终状态,包含步骤:
S3、根据挖矿结点提供的标记信息对交易进行复现,通过并行挖矿阶段标记的信息可以得到合约之间交易的邻接矩阵M1,M2和M3,其顶点顺序依次为M1(V)={Kate,Ivy,Rita,Kim,Len,Eva,May,Zara,Lucy},M2(V)={Ruth,Elsa,Ruby},M3(V)={Vera,Kyra},每当有一笔交易记录就会在账户之间形成一条有向边用1表示,否则用0表示,如公式所示:
Figure BDA0002513175070000051
其中:M表示邻接矩阵;
vi,vj表示任意两个顶点,即合约账户。
S4、利用贪心分组策略将冲突的交易进行分组并行化,递归是解决线性分组最直接的手段之一,首先,按照交易的规模对冲突交易集合U进行升序排序,假设排序后的集合为SU={s1,s2,...,sn},通过不断比较前i个元素和后n-i个元素的最值,得到问题的最优解,如公式所示:
Figure BDA0002513175070000052
其中:n代表集合U中元素的个数;
M|n,k|代表将n个元素分成k组的最优解;
边界条件计算公式为:
Figure BDA0002513175070000053
为了提高算法的执行效率,通常使用动态规划(Dynamic Programming,DP)维护一个中间矩阵D来记录上一步骤中的最优解,使用数组p来记录前i个元素的分组最优解,省去了重新计算的时间消耗。计算公式为:
Figure BDA0002513175070000054
其中,
Figure BDA0002513175070000061
表示前i项和;
另外一种解决分组问题的思路是使用贪心算法(GreedyAlgorithm),首先,按照交易的规模对冲突交易集合U进行降序排序,排序后的集合为SU={s1,s2,…,sn}系统的并发度为k,然后,将交易规模为前k大的集合{s1,s2,…,sk}分别分配到G={g1,g2,…,gk,}中;最后,使用贪心算法不断比较G中交易数量最少的集合,将集合Si插入到交易规模最小的分组gmin中,依此类推,直到所有的交易都被分配到相应的分组中,gmin的计算公式为:
Figure BDA0002513175070000062
其中,gmin代表包含交易数最少的集合,ck代表第k个集合所包含冲突交易集合的数量。
S5、保证组内交易的执行顺序避免锁的争用和等待,将分组后的交易分发给不同的消息队列并行执行,每个消息队列使用单一的消费线程进行串行执行,以保证组内交易的执行顺序避免锁的争用和等待。
S6、对交易的结果进行验证,基于Aelf区块链,使用经典的转账合约作为实验数据,通过设置交易数量(txCount)和交易冲突率(conflictRate)这两个参数控制冲突交易的比例,针对并行挖矿策略和并行验证策略设计实验,验证交易的冲突率对智能合约并行化执行效率的影响,并行挖矿和并行验证策略吞吐量和加速比的变化情况;并分别与Aelf区块链提出的串行挖矿和串行验证作对比,验证并行策略的优越性。
并行挖矿阶段,所有的交易冲突只能在交易运行时进行检测。当遇到冲突率较高的交易集合时,系统的占用率会急速上升。而Spinlock本身是不提供可重入特性的,所以,在遇到交易冲突率,特别是某一个合约账户参与到多笔交易中的情况,如图1所示。
在这种情况下,Spinlock会对同一个对象频繁地进行锁的获取和释放,大大降低系统的吞吐量。同时,考虑到读操作之间是不冲突的。当两个读操作请求读取一个被锁定的对象时,只需要选出一个代表进行结点的自旋即可;这样,在很大程度上可以降低自旋的等待时间以及防止CPU被过度占用。
当一个线程获取到对象锁并进行修改操作,同时,在释放锁之前又需要再次获得该对象锁,对于Spinlock来说会获取失败;因为,此时Spinlock本身已经对对象进行了更改,不满足CAS的条件,导致Spinlock在该合约交易中需要不断对Kate对象进行加锁和释放锁的操作。
当多个读操作访问一个被占用的对象时,读操作可以被归纳到一个等待的list中,选举一个代表结点作为自旋结点去监听前驱结点的状态。当前驱结点释放相应锁后,将list中的所有等待的读操作进行释放。但是,当队列的尾部是写操作时,仍然将读操作添加在队列的尾部,防止读到错误的版本数据。
在不同交易规模下,Improved Miner策略和Parallel Miner策略以及SerialMiner策略的实验数据如图2所示,ImprovedMiner策略在吞吐量上具有一定的提升。随着交易规模的增加,系统的稳定吞吐量是Parallel Miner策略的1.24倍,是Serial Miner的2.61倍。与Parallel Miner策略相比,Improved Miner策略在吞吐量性能上具有一定的优越性。但是,其稳定性存在微弱的波动。可能因为在挖矿的过程中遇到冲突率较高的交易集合导致处理冲突的时间过长,或者读队列中等待的线程过多导致系统的执行效率降低。在锁定线程释放对象锁之后,所有的读结点被释放重新进入执行状态,系统的执行效率再次提升。
并行化策略对交易的冲突率较为敏感。随着交易冲突率的不断增加,ParallelMiner和Parallel Validator策略的吞吐量呈下降趋势,因为在冲突率较高的交易集合中,存在较多的等待以及锁的争用,严重影响系统的性能。Parallel Validator的吞吐量始终高于Serial Validator的吞吐量。因为,不冲突的交易仍然会被分配到不同的消息队列中进行并行化执行,而且不存在锁的争用。当交易的冲突率为1时,这意味着所有的交易都会被分配到同一个消息队列中进行串行化执行,此时的执行模式与串行验证方式类似。所以,此时Parallel Validator的吞吐量会接近Serial Validator的吞吐量。
为了研究当交易冲突率一定时,交易规模对智能合约并行化的影响。交易的数量对Aelf的Serial Miner和Serial Validator几乎没有任何影响,因为其始终按照交易的顺序依次执行吞吐量。由于交易的冲突率较低,可以有效利用并行计算的优势,极大地提高了系统的执行效率。因此,随着交易规模的不断增加Parallel Miner策略的吞吐量也一直处于较高且稳定的状态,具有很好的性能。由于在挖矿阶段已经为验证阶段处理了大量的冲突,使得验证结点在验证阶段能够更有效地避免加锁造成的系统开销,所以,智能合约在验证阶段的执行速度更快也更稳定。
尽管为说明目的公开了本发明的实施例和附图,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换、变化和修改都是可能的,因此,本发明的范围不局限于实施例和附图所公开的内容。

Claims (7)

1.一种基于多核架构的智能合约执行优化方法,其特征在于:所述方法的步骤为:
1)并行挖矿阶段:矿工收集交易信息对智能合约进行初次调用执行,对交易进行标记并对执行顺序进行记录,包含步骤:
S1、并行化执行交易;
S2、标记交易的执行顺序使交易的结构可以复现;
2)并行验证阶段:验证结点对交易的结构进行复现,并对冲突的交易进行分组,验证交易的最终状态,包含步骤:
S3、根据挖矿结点提供的标记信息对交易进行复现;
S4、利用贪心分组策略将冲突的交易进行分组并行化;
S5、保证组内交易的执行顺序避免锁的争用和等待;
S6、对交易的结果进行验证。
2.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S1的具体操作为:使用自旋锁(pinLock)和时间戳(Timestamp)来解决读写冲突和优先级的问题并使用缓存提交,进行读操作时将读到的数据复制到线程局部变量(ThreadLocal)中,如果Timestamp的值没有改变,则继续进行下一步操作,否则表明在这段时间内有其他的线程对该变量进行了写操作;此时需要重新读取原变量的值,直到Timestamp的值相同,在此过程中缓存策略将所有成功执行的操作先存储在缓存(Cache)中,当所有动作执行完毕提交或丢弃Cache。
3.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S2使用Spinlock执行交易并对交易进行标记,记录每个操作的前驱结点和锁定时间,具体操作为:开启三个工作线程对交易进行并行化执行,Ti表示线程,ti表示交易序号,采用Spinlock和乐观读对交易进行处理,并记录每个操作的前驱结点和锁定的时间戳,若交易没有前驱结点则标记为空,如交易有多个前驱结点,则按照顺序进行记录。
4.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S3通过S2标记的信息构造交易图谱,具体操作为:通过并行挖矿阶段标记的信息可以得到合约之间交易的邻接矩阵M1,M2和M3,其顶点顺序依次为M1(V)={Kate,Ivy,Rita,Kim,Len,Eva,May,Zara,Lucy},M2(V)={Ruth,Elsa,Ruby},M3(V)={Vera,Kyra},每当有一笔交易记录就会在账户之间形成一条有向边用1表示,否则用0表示,如公式所示:
Figure FDA0002513175060000021
其中:M表示邻接矩阵;
vi,vj表示任意两个顶点,即合约账户。
5.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S4根据机器的并发将交易分组,具体操作为:递归是解决线性分组最直接的手段之一,首先,按照交易的规模对冲突交易集合U进行升序排序,假设排序后的集合为SU={s1,s2,...,sn},通过不断比较前i个元素和后n-i个元素的最值,得到问题的最优解,如公式所示:
Figure FDA0002513175060000022
其中:n代表集合U中元素的个数;
M|n,k|代表将n个元素分成k组的最优解;
边界条件计算公式为:
Figure FDA0002513175060000023
6.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S5具体操作为:将分组后的交易分发给不同的消息队列并行执行,每个消息队列使用单一的消费线程进行串行执行,以保证组内交易的执行顺序避免锁的争用和等待。
7.根据权利要求1所述的基于多核架构的智能合约执行优化方法,其特征在于:所述步骤S6对基于多核架构的智能合约执行优化方法进行实验,具体操作为:基于Aelf区块链,使用经典的转账合约作为实验数据,通过设置交易数量(txCount)和交易冲突率(conflictRate)这两个参数控制冲突交易的比例,针对并行挖矿策略和并行验证策略设计实验,验证交易的冲突率对智能合约并行化执行效率的影响,并行挖矿和并行验证策略吞吐量和加速比的变化情况;并分别与Aelf区块链提出的串行挖矿和串行验证作对比,验证并行策略的优越性。
CN202010467552.9A 2020-05-28 2020-05-28 一种基于多核架构的智能合约执行优化方法 Pending CN111724256A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010467552.9A CN111724256A (zh) 2020-05-28 2020-05-28 一种基于多核架构的智能合约执行优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010467552.9A CN111724256A (zh) 2020-05-28 2020-05-28 一种基于多核架构的智能合约执行优化方法

Publications (1)

Publication Number Publication Date
CN111724256A true CN111724256A (zh) 2020-09-29

Family

ID=72565354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010467552.9A Pending CN111724256A (zh) 2020-05-28 2020-05-28 一种基于多核架构的智能合约执行优化方法

Country Status (1)

Country Link
CN (1) CN111724256A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559174A (zh) * 2020-12-08 2021-03-26 上海物融智能科技有限公司 一种区块链并行交易处理方法及装置
CN113205417A (zh) * 2021-04-27 2021-08-03 华东师范大学 一种面向联盟链的交易并行处理方法及系统
CN116382815A (zh) * 2023-06-05 2023-07-04 安徽中科晶格技术有限公司 基于dag模型的合约并行化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409763A (zh) * 2018-11-08 2019-03-01 北京航空航天大学 一种基于贪婪式分组策略的动态测试任务调度方法及调度平台
CN110517140A (zh) * 2019-08-26 2019-11-29 华东师范大学 一种区块链智能合约交易并发执行方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409763A (zh) * 2018-11-08 2019-03-01 北京航空航天大学 一种基于贪婪式分组策略的动态测试任务调度方法及调度平台
CN110517140A (zh) * 2019-08-26 2019-11-29 华东师范大学 一种区块链智能合约交易并发执行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑力: ""面向数据共享的智能合约及其管理技术研究"", 《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》, no. 03, pages 138 - 640 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559174A (zh) * 2020-12-08 2021-03-26 上海物融智能科技有限公司 一种区块链并行交易处理方法及装置
CN113205417A (zh) * 2021-04-27 2021-08-03 华东师范大学 一种面向联盟链的交易并行处理方法及系统
CN116382815A (zh) * 2023-06-05 2023-07-04 安徽中科晶格技术有限公司 基于dag模型的合约并行化方法
CN116382815B (zh) * 2023-06-05 2023-10-10 安徽中科晶格技术有限公司 基于dag模型的合约并行化方法

Similar Documents

Publication Publication Date Title
US8458721B2 (en) System and method for implementing hierarchical queue-based locks using flat combining
Sharma et al. Blurring the lines between blockchains and database systems: the case of hyperledger fabric
CN111724256A (zh) 一种基于多核架构的智能合约执行优化方法
Recht et al. Hogwild!: A lock-free approach to parallelizing stochastic gradient descent
US10095556B2 (en) Parallel priority queue utilizing parallel heap on many-core processors for accelerating priority-queue-based applications
CN113205417B (zh) 一种面向联盟链的交易并行处理方法及系统
Chen et al. A well-balanced time warp system on multi-core environments
AU2013361244A1 (en) Paraller priority queue utilizing parallel heap on many-core processors for accelerating priority-queue-based applications
CN106055311A (zh) 基于流水线多线程的MapReduce任务并行化方法
WO2021018011A1 (zh) 访问临界资源的方法及装置、计算机设备及可读存储介质
Wijs et al. Efficient GPU algorithms for parallel decomposition of graphs into strongly connected and maximal end components
CN110032450B (zh) 一种基于固态盘扩展内存的大规模深度学习方法及系统
Marotta et al. A conflict-resilient lock-free calendar queue for scalable share-everything PDES platforms
Pellegrini et al. Transparent and efficient shared-state management for optimistic simulations on multi-core machines
JP5321691B2 (ja) 並列計算装置、並列計算方法、および並列計算プログラム
CN111176831A (zh) 基于多线程共享内存通信的动态线程映射优化方法及装置
He et al. Real-time scheduling in mapreduce clusters
CN109656868A (zh) 一种cpu与gpu之间的内存数据转移方法
CN113421095A (zh) 一种区块链交易并行执行加速方法
Li et al. Gpu accelerated three-stage execution model for event-parallel simulation
CN112765088A (zh) 利用数据标签提高多计算单元平台上数据共享的方法
Bueso Scalability techniques for practical synchronization primitives
Tang et al. A network load perception based task scheduler for parallel distributed data processing systems
CN108932172A (zh) 一种基于OpenMP/MPI混合并行CFD计算的细粒度共享内存通信同步方法
CN115688906A (zh) 一种面向超参训练的数据自动编排加载方法和系统

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