CN103077006A - 一种基于多线程的长事务并行执行方法 - Google Patents

一种基于多线程的长事务并行执行方法 Download PDF

Info

Publication number
CN103077006A
CN103077006A CN2012105798593A CN201210579859A CN103077006A CN 103077006 A CN103077006 A CN 103077006A CN 2012105798593 A CN2012105798593 A CN 2012105798593A CN 201210579859 A CN201210579859 A CN 201210579859A CN 103077006 A CN103077006 A CN 103077006A
Authority
CN
China
Prior art keywords
affairs
long
parallel
transaction
subtransaction
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
CN2012105798593A
Other languages
English (en)
Other versions
CN103077006B (zh
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 Long Carbon Technology Co.,Ltd.
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201210579859.3A priority Critical patent/CN103077006B/zh
Publication of CN103077006A publication Critical patent/CN103077006A/zh
Application granted granted Critical
Publication of CN103077006B publication Critical patent/CN103077006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

长事务是指包含多个原子事务且执行时间较长的事务,串行地执行这些原子事务不仅将使长事务执行时间较长,而且还占用较多的系统资源,导致系统运行效率降低。本发明公开了一种基于多线程的长事务并行执行方法,包括以下步骤:(1)将长事务形式化描述为一个扩展的有向图;(2)将LT分割为若干个可以并行执行的子事务LT,给出了其分割算法;(3) 基于POSIX线程库(或者Windows线程API)派生若干个子线程以并行嵌套的模式执行长事务。(4)并行化后的代码需要运行在多核处理器(或多CPU处理器)上。该发明可以显著缩短长事务的执行时间,提高长事务执行效率,可应用于面向服务架构SOA、服务组合、事务处理等领域。

Description

一种基于多线程的长事务并行执行方法
技术领域:本发明专利涉及长事务、图论、多线程技术、服务组合等技术领域,尤其是实现了一种基于多线程的长事务并行执行方法。
背景技术
随着Internet的广泛应用和网络技术的迅速发展,以Web服务为基础的面向服务架构(Service-Oriented Architecture,SOA)作为新型的分布式计算模式已成为目前Internet环境下主流的开发模式,通过动态地组合Web服务构建目标系统是软件开发的主要途径。在服务执行过程中,事务机制是保证数据一致性和可靠性的关键技术,由于服务组合的复杂性、异构性和长期性使得SOA模式下事务表现出不同于传统事务的特点。
传统事务也称为平坦事务,主要适用于处理时间较短的数据处理和较为简单的应用,事务应用控制只有一层,事务的ACID特性在这种情况下能够得到保障。而在基于互联网络的分布式环境下,由于服务组合产生的事务变得越来越复杂,其主要特点包括:(1)执行时间长。传统事务的处理时间只有几毫秒,而基于服务组合产生的事务执行时间相对较长,这是因为服务组合涉及到很多步骤,具有较复杂的业务逻辑,提交整个事务需要花费较长的时间。(2)拥有多个原子事务。一般地一个长事务包含多个原子事务,原子事务之间具有一定的依赖关系,每个原子事务都有自己的ACID特性,当所有的原子事务都提交后整个长事务才提交。(3)非严格的ACID特性。由于传统事务的执行时间较短,保障事务的ACID特性不会造成事务回滚时的大量资源浪费,而Web服务环境下,长事务涉及到许多原子事务,如果当原子事务执行失败而回滚整个长事务将导致系统效率降低,因此传统的事务ACID特性对长事务显得过于严格而代价过高。
一般地,长事务包括多个原子事务,只有当所有的原子事务执行完毕,整个长事务才算提交完成,其执行时间较长,占用的系统资源(如CPU、内存、数据字典、日志文件等)较多,这在基于锁的事务处理中尤其明显,如果长时间占用这些资源将导致系统运行效率降低,甚至数据库系统崩溃。
当前学术界关于长事务的研究主要集中于长事务的失效回复方法,当某一原子事务提交失败时,可以不用回必回滚整个长事务,即不必完全遵循事务的ACID特性。针对该问题,提出了多个模型,如较早的Sagas模型、适合于多数据库的Flexible模型、以及有严格提交先后关系的嵌套事务模型等,这些模型通过提出不同的补偿机制,确保原子事务在提交失败时,进行适当的处理,增强失效处理和失效回复的能力。
另一方面,长事务的长时间执行会造成事务的并发度降低,影响事务的执行效率。针对该问题,本发明专利实现了一种基于多线程的长事务并行执行方法,可以显著缩短长事务的执行时间,提高长事务执行效率和资源运行效率。
发明内容
为了缩短长事务的执行时间,提高长事务执行效率和资源运行效率,本发明专利通过分析长事务中原子事务的依赖关系,建立长事务执行模型,将长事务中包含的原子事务分割为多个可以并行执行的子事务,每个子事务由一个独立的线程执行,利用线程级并行技术加速执行长事务。
一种基于多线程的长事务并行执行方法,包括以下步骤:
(1)、将长事务描述为一个扩展的有向图。长事务可以形式化表示为一个扩展的有向图LT=(T,E,R),其中T ={t1,t2,…,tn}是原子事务集合,且每个原子事务且都具有ACID特性;E={e1,e2,…em}是原子事务间依赖关系集合,如ei=ti→tk表示原子事务tk的开始由ti的执行结果决定,若ti提交时tk开始执行,则称为提交依赖,若ti回滚时tk开始执行,则称为回滚依赖;R={r1,r2,…,rn}是逻辑关系的集合,如ri表示一个以ti为终点的事务之间的“与”、“或”逻辑表关系。
(2)、将长事务LT分割为若干个可以并行执行的子事务LT’。LT’是长事务的一个子集,可以包含一个或多个原子事务,即子事务LT’=(T’,E’,R’),其中T’T,E’
Figure BDA0000266088352
E,R’
Figure BDA0000266088353
R。通过将长事务划分为若干个子事务,当子事务之间不存在依赖关系时即可并行执行。其分割过程包括以下步骤:
(2.1)、分析长事务中所包含的原子事务、原子事务之间的依赖关系、原子事务直接的逻辑关系实现,建立长事务扩展有向图(EDG)。
(2.2)、根据长事务扩展有向图(EDG),合并有环子图,生成扩展有向无环图(EDAG)。
(2.3)、循环查找EDAG中的顺序事务。若当前事务只有唯一的孩子事务并且该孩子事务的父事务也是唯一的,则将它们是顺序事务,合并它们。
(2.4)、如果EDAG中仅包含一个子事务,则说明该长事务无法并行执行,否则输出并行化结果,该结果是包含多个可并行执行的子事务。
(3)、基于POSIX线程库(或者Windows线程API)派生若干个子线程并行执行长事务。长事务被划分为若干个子事务之后,其执行过程如下:
(3.1)、在长事务开始执行时,只生成一个线程(称为主线程),由它负责执行。
(3.2)、如果遇到可以并行执行的子事务时,则根据子事务的数量派生(Fork)出若干个子线程(称为辅助线程)并行执行。
(3.3)、在并行子事务执行过程中,如果又遇到可以并行执行的子事务,则继续派生新的辅助线程来执行新的并行子事务,此即为并行嵌套,可派生的辅助线程数目依赖于多核处理器的核数。
(3.4)、当辅助线程执行完毕后,则与主线程会和(Join),由主线程单独执行长事务,如果又遇到可并行的子事务,则转到(3.2),否则直到长事务执行完毕。
(4)、长事务并行执行的硬件环境是多核处理器(或多CPU处理器),这些平台为TLP技术提供了平台支撑。
本发明的效果
本发明专利的效果是可以将串行执行的长事务并行化为多个可以同时执行的子事务,每个子事务由一个线程执行,通过多线程并行技术加速长事务的执行,显著缩短长事务的执行时间。
附图说明
图1是一个长事务的扩展有向图。
图2 是长事务的并行执行模式。
具体实施方式
参照图1和图2,进一步说明本发明。
一种基于多线程的长事务并行执行方法,包括以下步骤:
(1)、将长事务描述为一个扩展的有向图。长事务可以形式化表示为一个扩展的有向图LT=(T,E,R),其中T ={t1,t2,…,tn}是原子事务集合,且每个原子事务且都具有ACID特性;E={e1,e2,…em}是原子事务间依赖关系集合,如ei=ti→tk表示原子事务tk的开始由ti的执行结果决定,若ti提交时tk开始执行,则称为提交依赖,若ti回滚时tk开始执行,则称为回滚依赖;R={r1,r2,…,rn}是逻辑关系的集合,如ri表示一个以ti为终点的事务之间的“与”、“或”逻辑表关系。
图1是一个包含有11个原子事务的长事务扩展有向图,边t1→t5表示t5执行依赖于t1的提交,t5→t7表示t7执行依赖于t5的回滚,r1表示t10执行由t6、t7、t4、t9的逻辑与决定。
(2)、将长事务LT分割为若干个可以并行执行的子事务LT’。LT’是长事务的一个子集,可以包含一个或多个原子事务,即子事务LT’=(T’,E’,R’),其中T’
Figure BDA0000266088354
T,E’
Figure BDA0000266088355
E,R’
Figure BDA0000266088356
R。通过将长事务划分为若干个子事务,当子事务之间不存在依赖关系时即可并行执行。在图1中t2、t3、t4构成一个子事务,t5、t6、t7构成一个子事务,t8、t9构成一个子事务,这三个子事务可以并行执行。其分割的具体步骤如下:
(2.1)、分析长事务中所包含的原子事务、原子事务之间的依赖关系、原子事务直接的逻辑关系实现,建立长事务扩展有向图(EDG)。
(2.2)、根据长事务扩展有向图(EDG),合并有环子图,生成扩展有向无环图(EDAG)。
(2.3)、循环查找EDAG中的顺序事务。若当前事务只有唯一的孩子事务并且该孩子事务的父事务也是唯一的,则将它们是顺序事务,合并它们。
(2.4)、如果EDAG中仅包含一个子事务,则说明该长事务无法并行执行,否则输出并行结果,该结果是包含多个可并行执行的子事务。
下面是将长事务并行化为多个子事务的完整算法,用伪代码进行描述。
Input: LT=(T,E,R)
Output:LT={LT1’,LT2’..,LTn’}
1begin
2//根据原子事务、原子事务之间的依赖关系、逻辑关系生成长事务扩展有向图EDG.
3for(i=0;i< T.number;;i++)
4    EDG=AddTranscations(EDG, T.node);
5for(i=0;i< E.number;i++)
6    EDG=AddEdges(EDG,E.edge)
7for(i=0;i< R.number;i++)
8    EDG=AddRules(EDG,E.rule)
9//合并EDG中的有环子图,生成扩展有向无环图
10for(i=0;i<EDG.number/2;i++){
11   EDAG=findcycleTransactions(EDAG)
12   EDAG=mergecycleTransactions(EDAG);
13}
14//递归找出顺序事务,合并这些顺序事务
15For(i=0;i=TransactionNumber;i++){
16//若当前事务只有唯一的孩子事务并且该孩子事务的父事务也是唯一的,则将它们合并。
17  If (currentTransaction has only one child transaction && This child transaction has only one parenttransaction) then
18     EDAG =MergeTransactions( currentTransaction,chilldTransaction)
19}
20If (TranscationNumber==1) then //子事务数是1,退出,无法并行执行
21   return;
22ReturnParallelTransactions(EDAG);//返回可以并行执行的子事务
23end
(3)、基于POSIX线程库(或者Windows线程API)派生若干个子线程并行执行长事务。长事务被划分为若干个子事务之后,其执行过程如下:
(3.1)、在长事务开始执行时,只生成一个线程(称为主线程),由它负责执行。
(3.2)、如果遇到可以并行执行的子事务时,则根据子事务的数量派生(Fork)出若干个子线程(称为辅助线程)并行执行。
(3.3)、在并行子事务执行过程中,如果又遇到可以并行执行的子事务,则继续派生新的辅助线程来执行新的并行子事务,此即为并行嵌套,可派生的辅助线程数目依赖于多核处理器的核数。
(3.4)、当辅助线程执行完毕后,则与主线程会和(Join),由主线程单独执行长事务,如果又遇到可并行的子事务,则转到(3.2),否则直到长事务执行完毕。
(4)、长事务并行执行的硬件环境是多核处理器(或多CPU处理器),这些平台为TLP技术提供了平台支撑。

Claims (1)

1.一种基于多线程的长事务并行执行方法,其特征在于:并行执行长事务包括以下步骤:
(1)、将长事务描述为一个扩展的有向图。长事务可以形式化表示为一个扩展的有向图LT=(T,E,R),其中T ={t1,t2,…,tn}是原子事务集合,且每个原子事务且都具有ACID特性;E={e1,e2,…em}是原子事务间依赖关系集合,如ei=ti→tk表示原子事务tk的开始由ti的执行结果决定,若ti提交时tk开始执行,则称为提交依赖,若ti回滚时tk开始执行,则称为回滚依赖;R={r1,r2,…,rn}是逻辑关系的集合,如ri表示一个以ti为终点的事务之间的“与”、“或”逻辑表关系。
(2)、将长事务LT分割为若干个可以并行执行的子事务LT’。LT’是长事务的一个子集,可以包含一个或多个原子事务,即子事务LT’=(T’,E’,R’),其中T’
Figure FDA0000266088341
T,E’
Figure FDA0000266088342
E,R’
Figure FDA0000266088343
R。通过将长事务划分为若干个子事务,当子事务之间不存在依赖关系时即可并行执行。其分割过程包括以下步骤:
(2.1)、分析长事务中所包含的原子事务、原子事务之间的依赖关系、原子事务直接的逻辑关系实现,建立长事务扩展有向图(EDG)。
(2.2)、根据长事务扩展有向图(EDG),合并有环子图,生成扩展有向无环图(EDAG)。
(2.3)、循环查找EDAG中的顺序事务。若当前事务只有唯一的孩子事务并且该孩子事务的父事务也是唯一的,则将它们是顺序事务,合并它们。
(2.4)、如果EDAG中仅包含一个子事务,则说明该长事务无法并行执行,否则输出并行结果,该结果是包含多个可并行执行的子事务。
(3)、基于POSIX线程库(OpenM语言或者Windows线程API)派生若干个子线程并行执行长事务。长事务被划分为若干个子事务之后,其执行过程如下:
(3.1)、在长事务开始执行时,只生成一个线程(称为主线程),由它负责执行。
(3.2)如果遇到可以并行执行的子事务时,则根据子事务的数量派生(Fork)出若干个子线程(称为辅助线程)并行执行。
(3.3)、在并行子事务执行过程中,如果又遇到可以并行执行的子事务,则继续派生新的辅助线程来执行新的并行子事务,此即为并行嵌套,可派生的辅助线程数目依赖于多核处理器的核数。
(3.4)、当辅助线程执行完毕后,则与主线程会和(Join),由主线程单独执行长事务,如果又遇到可并行的子事务,则转到(3.2),否则直到长事务执行完毕。
(4)、长事务并行执行的硬件环境是多核处理器(或多CPU处理器),这些平台为TLP技术提供了平台支撑。
CN201210579859.3A 2012-12-27 2012-12-27 一种基于多线程的长事务并行执行方法 Active CN103077006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210579859.3A CN103077006B (zh) 2012-12-27 2012-12-27 一种基于多线程的长事务并行执行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210579859.3A CN103077006B (zh) 2012-12-27 2012-12-27 一种基于多线程的长事务并行执行方法

Publications (2)

Publication Number Publication Date
CN103077006A true CN103077006A (zh) 2013-05-01
CN103077006B CN103077006B (zh) 2015-08-26

Family

ID=48153545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210579859.3A Active CN103077006B (zh) 2012-12-27 2012-12-27 一种基于多线程的长事务并行执行方法

Country Status (1)

Country Link
CN (1) CN103077006B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559020A (zh) * 2013-11-07 2014-02-05 中国科学院软件研究所 一种dna读序数据fastq文件并行压缩和解压缩方法
CN103593236A (zh) * 2013-11-14 2014-02-19 华为技术有限公司 一种业务流程调度的计算机设备、方法和装置
CN103631647A (zh) * 2013-12-06 2014-03-12 北京京东尚科信息技术有限公司 一种实现分布式事务的方法和装置
CN103780629A (zh) * 2014-02-14 2014-05-07 北京工业大学 面向并发访问请求关联关系的访问控制协调方法及其装置
CN104102684A (zh) * 2013-04-11 2014-10-15 株式会社日立制作所 数据反映方法
CN104216948A (zh) * 2014-08-12 2014-12-17 上海新炬网络技术有限公司 一种数据模型的差异控制方法
CN104281489A (zh) * 2013-07-12 2015-01-14 携程计算机技术(上海)有限公司 Soa架构下的多线程请求方法及系统
CN104317850A (zh) * 2014-10-14 2015-01-28 北京国双科技有限公司 数据处理方法和装置
WO2015032332A1 (zh) * 2013-09-09 2015-03-12 华为技术有限公司 一种数据处理方法及装置
WO2015120603A1 (en) * 2014-02-13 2015-08-20 Sap Ag Database calculation using parallel-computation in directed acyclic graph
CN105264530A (zh) * 2013-11-11 2016-01-20 华为技术有限公司 并行仿真方法及装置
CN105335143A (zh) * 2014-07-30 2016-02-17 阿里巴巴集团控股有限公司 一种业务处理方法及装置
CN106575240A (zh) * 2014-08-15 2017-04-19 英特尔公司 促进用于计算装置上可变位长事务的动态线程安全操作
WO2018113534A1 (zh) * 2016-12-20 2018-06-28 阿里巴巴集团控股有限公司 一种数据库死锁的处理方法、装置和数据库系统
WO2018218908A1 (zh) * 2017-06-01 2018-12-06 华南理工大学 一种图形化编程多线程同步方法
CN109033301A (zh) * 2018-07-16 2018-12-18 中国科学技术大学 一种基于图形处理器的数据库事务执行方法
CN109522128A (zh) * 2018-11-21 2019-03-26 北京像素软件科技股份有限公司 分段式多线程任务执行方法及装置
WO2019095873A1 (zh) * 2017-11-20 2019-05-23 上海寒武纪信息科技有限公司 任务并行处理方法、装置、系统、存储介质及计算机设备
CN110147268A (zh) * 2019-04-16 2019-08-20 清华大学无锡应用技术研究院 处理并发事务的方法、装置、并发控制系统及存储介质
CN110191140A (zh) * 2018-02-22 2019-08-30 北京嘀嘀无限科技发展有限公司 业务处理方法、装置及服务器
WO2020232951A1 (zh) * 2019-05-17 2020-11-26 深圳前海微众银行股份有限公司 一种任务执行方法及装置
CN112003827A (zh) * 2020-07-27 2020-11-27 山东英信计算机技术有限公司 一种基于并行计算的可配置的Redfish服务解析方法及系统
CN113128143A (zh) * 2021-06-17 2021-07-16 北京燧原智能科技有限公司 Ai处理器的仿真方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101033616A (zh) * 2006-03-10 2007-09-12 浙江工业大学 异步采集信号同步校正的基础结构动态测量仪

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101033616A (zh) * 2006-03-10 2007-09-12 浙江工业大学 异步采集信号同步校正的基础结构动态测量仪

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
任怡 等: "LHFR:面向长事务的层次式失效恢复算法", 《计算机研究与发展》, 31 December 2010 (2010-12-31) *
梁玲玲: "数据并行交换的长事务分配与调度模型", 《信息科技辑》, 31 May 2012 (2012-05-31) *

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102684A (zh) * 2013-04-11 2014-10-15 株式会社日立制作所 数据反映方法
CN104281489B (zh) * 2013-07-12 2017-11-21 上海携程商务有限公司 Soa架构下的多线程请求方法及系统
CN104281489A (zh) * 2013-07-12 2015-01-14 携程计算机技术(上海)有限公司 Soa架构下的多线程请求方法及系统
WO2015032332A1 (zh) * 2013-09-09 2015-03-12 华为技术有限公司 一种数据处理方法及装置
CN103559020A (zh) * 2013-11-07 2014-02-05 中国科学院软件研究所 一种dna读序数据fastq文件并行压缩和解压缩方法
CN103559020B (zh) * 2013-11-07 2016-07-06 中国科学院软件研究所 一种dna读序数据fastq文件并行压缩和解压缩方法
CN105264530A (zh) * 2013-11-11 2016-01-20 华为技术有限公司 并行仿真方法及装置
US10453010B2 (en) 2013-11-14 2019-10-22 Huawei Technologies Co., Ltd. Computer device, method, and apparatus for scheduling business flow
CN103593236B (zh) * 2013-11-14 2017-02-22 华为技术有限公司 一种业务流程调度的计算机设备、方法和装置
CN103593236A (zh) * 2013-11-14 2014-02-19 华为技术有限公司 一种业务流程调度的计算机设备、方法和装置
CN103631647A (zh) * 2013-12-06 2014-03-12 北京京东尚科信息技术有限公司 一种实现分布式事务的方法和装置
WO2015120603A1 (en) * 2014-02-13 2015-08-20 Sap Ag Database calculation using parallel-computation in directed acyclic graph
US9576072B2 (en) 2014-02-13 2017-02-21 Sap Se Database calculation using parallel-computation in a directed acyclic graph
CN103780629A (zh) * 2014-02-14 2014-05-07 北京工业大学 面向并发访问请求关联关系的访问控制协调方法及其装置
CN103780629B (zh) * 2014-02-14 2017-01-18 北京工业大学 面向并发访问请求关联关系的访问控制协调方法及其装置
CN105335143A (zh) * 2014-07-30 2016-02-17 阿里巴巴集团控股有限公司 一种业务处理方法及装置
CN104216948A (zh) * 2014-08-12 2014-12-17 上海新炬网络技术有限公司 一种数据模型的差异控制方法
CN104216948B (zh) * 2014-08-12 2017-12-05 上海新炬网络技术有限公司 一种数据模型的差异控制方法
CN106575240A (zh) * 2014-08-15 2017-04-19 英特尔公司 促进用于计算装置上可变位长事务的动态线程安全操作
CN104317850B (zh) * 2014-10-14 2017-11-14 北京国双科技有限公司 数据处理方法和装置
CN104317850A (zh) * 2014-10-14 2015-01-28 北京国双科技有限公司 数据处理方法和装置
WO2018113534A1 (zh) * 2016-12-20 2018-06-28 阿里巴巴集团控股有限公司 一种数据库死锁的处理方法、装置和数据库系统
WO2018218908A1 (zh) * 2017-06-01 2018-12-06 华南理工大学 一种图形化编程多线程同步方法
WO2019095873A1 (zh) * 2017-11-20 2019-05-23 上海寒武纪信息科技有限公司 任务并行处理方法、装置、系统、存储介质及计算机设备
CN110191140B (zh) * 2018-02-22 2022-07-22 北京嘀嘀无限科技发展有限公司 业务处理方法、装置及服务器
CN110191140A (zh) * 2018-02-22 2019-08-30 北京嘀嘀无限科技发展有限公司 业务处理方法、装置及服务器
CN109033301A (zh) * 2018-07-16 2018-12-18 中国科学技术大学 一种基于图形处理器的数据库事务执行方法
CN109033301B (zh) * 2018-07-16 2021-07-06 中国科学技术大学 一种基于图形处理器的数据库事务执行方法
CN109522128B (zh) * 2018-11-21 2020-11-13 北京像素软件科技股份有限公司 分段式多线程任务执行方法及装置
CN109522128A (zh) * 2018-11-21 2019-03-26 北京像素软件科技股份有限公司 分段式多线程任务执行方法及装置
CN110147268A (zh) * 2019-04-16 2019-08-20 清华大学无锡应用技术研究院 处理并发事务的方法、装置、并发控制系统及存储介质
CN110147268B (zh) * 2019-04-16 2020-05-08 清华大学无锡应用技术研究院 处理并发事务的方法、装置、并发控制系统及存储介质
WO2020232951A1 (zh) * 2019-05-17 2020-11-26 深圳前海微众银行股份有限公司 一种任务执行方法及装置
CN112003827A (zh) * 2020-07-27 2020-11-27 山东英信计算机技术有限公司 一种基于并行计算的可配置的Redfish服务解析方法及系统
CN113128143A (zh) * 2021-06-17 2021-07-16 北京燧原智能科技有限公司 Ai处理器的仿真方法、装置、计算机设备及存储介质
CN113128143B (zh) * 2021-06-17 2021-09-28 北京燧原智能科技有限公司 Ai处理器的仿真方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN103077006B (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
CN103077006B (zh) 一种基于多线程的长事务并行执行方法
US8661449B2 (en) Transactional computation on clusters
US8291197B2 (en) Aggressive loop parallelization using speculative execution mechanisms
Zhou et al. Bamboo: a data-centric, object-oriented approach to many-core software
Garbervetsky et al. Toward full elasticity in distributed static analysis: The case of callgraph analysis
Muller et al. Competitive parallelism: Getting your priorities right
Hsu et al. Multithreaded simulation for synchronous dataflow graphs
Totoo et al. Parallel Haskell implementations of the N‐body problem
Yuan et al. Compiling esterel for multi-core execution
Edwards et al. Programming shared memory multiprocessors with deterministic message-passing concurrency: Compiling SHIM to Pthreads
Garcia et al. A dynamic load balancing approach with SMPSuperscalar and MPI
Li et al. Safe concurrency introduction through slicing
Schwarzer et al. Throughput-optimizing compilation of dataflow applications for multi-cores using quasi-static scheduling
Dzik et al. MBrace: cloud computing with monads
Fleming et al. Investigating mixed criticality cyclic executive schedule generation
Wang et al. A general and fast distributed system for large-scale dynamic programming applications
Chatterjee et al. Code aware resource management
US9836323B1 (en) Scalable hypervisor scheduling of polling tasks
Belwal et al. Feasibility interval for the transactional event handlers of P-FRP
Chiu et al. Programming Dynamic Task Parallelism for Heterogeneous EDA Algorithms
Gadia et al. Verifying nested lock priority inheritance in RTEMS with java pathfinder
Tran et al. Design and implementation of a new execution model for CAPE
Hei et al. Parallelization using task parallel library with task-based programming model
Wang et al. Deadlock avoidance algorithms for recursion-tree modeled requests in parallel executions
Anand et al. A deadlock‐free lock‐based synchronization for GPUs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180605

Address after: 311026 Hangzhou, Binjiang District, Zhejiang, Changhe street, Changchun Road, 288, 1, 5, 501 rooms.

Patentee after: Hangzhou Long Carbon Technology Co.,Ltd.

Address before: 310014 Chao Wang Road, Xiacheng City, Hangzhou, Zhejiang Province, No. 18

Patentee before: Zhejiang University of Technology

TR01 Transfer of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Parallel Execution Method for Long Transactions Based on Multithreading

Effective date of registration: 20230325

Granted publication date: 20150826

Pledgee: Bank of Hangzhou Limited by Share Ltd. science and Technology Branch

Pledgor: Hangzhou Long Carbon Technology Co.,Ltd.

Registration number: Y2023980035987

PE01 Entry into force of the registration of the contract for pledge of patent right