CN101887367A - 一种多级并行化编程方法 - Google Patents
一种多级并行化编程方法 Download PDFInfo
- Publication number
- CN101887367A CN101887367A CN2010102055301A CN201010205530A CN101887367A CN 101887367 A CN101887367 A CN 101887367A CN 2010102055301 A CN2010102055301 A CN 2010102055301A CN 201010205530 A CN201010205530 A CN 201010205530A CN 101887367 A CN101887367 A CN 101887367A
- Authority
- CN
- China
- Prior art keywords
- thread
- task
- dag
- dag task
- overtime
- 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
Links
Images
Abstract
本发明公开了一种多级并行化编程方法,涉及并行编程模型、模式与方法领域,该方法通过对进程间和进程内的处理,充分结合了混合硬件体系结构的特征,在提高集群硬件环境利用率方面具有明显效应,而且帮助开发人员简化并行编程和复用已有的并行代码,减少了编程的复杂度,降低了出错率;并且该方法考虑了容错,进一步地降低了出错率。
Description
技术领域
本发明涉及并行编程模型、模式与方法领域,特别涉及一种多级并行化编程方法。
背景技术
随着计算机的应用范围和应用水平的不断拓展和提高,人们对于计算机的计算和处理能力等性能要求也随之增加,近些年来,在诸如天文、气象、海洋、生物、能源、化工、地质勘探和数学等科学与工程计算领域,由于数据计算量的增大及计算复杂度的增加,很多实际应用问题的求解过程在计算能力及计算速度方面不断提出新的要求,对高性能计算能力的需求越来越迫切。而这类实际应用大多是基于数据型的,且耗时计算主要为数值计算。
目前,在硬件方面,随着多核处理器的出现,以及高性能集群的快速发展,搭建一个混合分布式多核集群已经是件很容易的事。
发明人在实现本发明的过程中,发现上述现有技术至少存在以下缺点和不足:
在软件方面,并行编程复杂且易出错。如何高效地在并行计算环境中,特别是在多核分布式集群环境下进行各种并行计算应用程序的设计与开发,对于多数非计算机专业出身的各应用领域的技术人员缺乏并行计算程序开发的专业训练,已成为并行计算技术转化为实际生产力所面临的关键问题。
发明内容
为了减少并行编程的复杂度,降低出错率,本发明提供了一种多级并行化编程方法,包括进程间的处理和进程内的处理,所述进程间的处理由主进程、从进程、DAG任务解析线程、第一线程池缓冲区、通信线城池、任务分配线程、数据同步线程和第一DAG任务完成反馈队列之间的相互通信实现;所述进程内的处理由主线程、第二线程池缓冲区、工作线程池、工作线程和第二DAG任务完成反馈队列之间的相互通信实现;
所述进程间的处理包括:
(1)所述DAG任务解析线程解析第一DAG图,获取并下发DAG任务到所述第一线程池缓冲区;
(2)所述通信线程池中的闲置线程从所述第一线程池缓冲区中获取DAG任务,所述任务分配线程下发DAG任务给相应的所述从进程并进入等待确认信息的状态;
(3)当任意一所述从进程完成DAG任务,其对完成的数据块内容进行广播,所述数据同步线程使所述主进程和所有所述从进程进行数据同步更新;广播完毕后,发送确认信息给相应的所述任务分配线程;
(4)所述任务分配线程接收到相应的所述从进程的确认信息后,将已完成的DAG任务ID写入所述第一DAG任务完成反馈队列;
(5)所述DAG任务解析线程实时监测所述第一DAG任务完成反馈队列,当有完成的DAG任务时,更新所述第一DAG图;否则,重新执行步骤(1),当所有的任务都完成,退出监测,流程结束;
所述进程内的处理包括:
(6)所述主线程获取所述从进程发送的DAG任务,解析第二DAG图,获取并下发DAG任务到所述第二线程池缓冲区;
(7)所述工作线程池从所述第二线程池缓冲区中获取DAG任务,将其下发给任一闲置的所述工作线程;当所述工作线程完成DAG任务时,将完成的DAG任务ID写入所述第二DAG任务完成反馈队列中;
(8)所述主线程实时监测所述第二DAG任务完成反馈队列,当有完成的DAG任务时,所述主线程更新所述第二DAG图,重新执行步骤(6);当所有的任务都完成后,所述主线程将退出监测,进入等待下一个新任务状态。
所述多级并行化编程方法还包括进程间的容错处理和进程内的容错处理,所述进程间的容错处理由所述DAG任务解析线程、第一超时队列、所述通信线程池中的任务分配线程、所述任务分配线程、第一DAG任务注册表、容错线程之间的相互通信实现;所述进程内的容错处理由所述主线程、第二超时队列、所述工作线程、第二DAG任务注册表、所述工作线程池之间的相互通信实现;具体地,
所述进程间的容错处理包括:
将所述DAG任务解析线程获取到的DAG任务下发到所述第一超时队列中;
当所述通信线程池中的任务分配线程获取到DAG任务后,所述任务分配线程将到所述第一DAG任务注册表中进行登记,记录任务分配线程ID及DAG任务ID;
当所述DAG任务解析线程实时监测发现有完成的DAG任务时,将从所述第一超时队列中将该DAG任务ID删除;
所述容错线程实时监测所述第一超时队列,根据第一超时阈值检测是否存在DAG任务超时;当发现有DAG任务超时,从所述第一超时队列中删除DAG任务ID,否则,继续反复监测所述第一超时队列;
所述进程内的容错处理包括:
将所述主线程获取到的DAG任务下发到所述第二超时队列中,当所述工作线程获取一可计算的DAG任务后,所述工作线程将到所述第二DAG任务注册表中进行登记,记录工作线程ID及DAG任务ID;
所述主线程实时监测所述第二超时队列,根据第二超时阈值检测是否存在DAG任务超时,当发现有DAG任务超时时,所述工作线程池杀死所述工作线程,重新创建一新工作线程替代被杀死的工作线程,将超时的DAG任务从所述第二超时队列中删除。
所述容错线程实时监测所述第一超时队列,根据第一超时阈值检测是否存在DAG任务超时,具体为:
当前时刻与所述第一超时队列的起始时间做差,得到的差值大于等于所述第一超时阈值时,视为存在DAG任务超时。
所述主线程实时监测所述第二超时队列,根据第二超时阈值检测是否存在DAG任务超时,具体为:
当前时刻与所述第二超时队列的起始时间做差,得到的差值大于等于所述第二超时阈值时,视为存在DAG任务超时。
所述第一超时阈值大于第二超时阈值。
本发明提供的技术方案的有益效果是:
该方法通过对进程间和进程内的处理,充分结合了混合硬件体系结构的特征,在提高集群硬件环境利用率方面具有明显效应,而且帮助开发人员简化并行编程和复用已有的并行代码,减少了编程的复杂度,降低了出错率;并且该方法考虑了容错,进一步地降低了出错率。
附图说明
图1是本发明提供的进程间的处理结构框图;
图2是本发明提供的进程间的流程图;
图3是本发明提供的进程内的处理结构框图;
图4是本发明提供的进程内的流程图;
图5是本发明提供的进程间容错处理的流程图;
图6是本发明提供的进程内容错处理的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了减少并行编程的复杂度,降低出错率,本发明实施例提供了一种多级并行化编程方法,该方法包括进程间的处理和进程内的处理,其中,进程间的处理采用主从模式,从进程端采用了动态进程池,进程间的处理由主进程、从进程、DAG任务解析线程、第一线程池缓冲区、通信线城池、任务分配线程、数据同步线程和第一DAG任务完成反馈队列之间的相互通信实现;进程内的处理,采用了主从模式,进程内的处理由主线程、第二线程池缓冲区、工作线程池、工作线程和第二DAG任务完成反馈队列之间的相互通信实现,详细描述参见下文:
一、进程间的处理
参见图1和图2,当系统启动时,主进程将根据用户的参数配置自动创建各个部分的线程,然后主进程中的各个DAG(Directed Acyclic Graph,有向无环图)任务解析线程开始工作;
101:DAG任务解析线程解析第一DAG图,获取并下发DAG任务到第一线程池缓冲区;
该步骤具体为DAG任务解析线程解析第一DAG图,获取入度为零的DAG任务,并将获取到的DAG任务下发到第一线程池缓冲区。其中,第一DAG图可以根据用户提供的参数由系统DAG Pattern(参数)生成。
102:通信线程池中的闲置线程从第一线程池缓冲区中获取DAG任务,任务分配线程下发DAG任务给相应的从进程并进入等待确认信息的状态;
当第一线程池缓冲区不为空时,处在通信线程池中的闲置线程将自动从第一线程池缓冲区中任意获取可计算的DAG任务;当第一线程池缓冲区为空时,处在通信线程池中的闲置线程将进入休眠状态。
图1中主进程下包括:一通信线程池、一从进程池,通信线程池中包括3个任务分配线程,分别为任务分配线程1、任务分配线程2和任务分配线程3,从进程池中包括3个从进程,分别为从进程1、从进程2和从进程3,有3个可计算的DAG任务,分别为DAG任务1、DAG任务2和DAG任务3,从进程池中任务分配线程1将可计算的DAG任务1下发给从进程池中的从进程1,任务分配线程1进入等待从进程1的确认信息的状态;从进程池中任务分配线程2将可计算的DAG任务2下发给从进程池中的从进程2,任务分配线程2进入等待从进程2的确认信息的状态;从进程池中任务分配线程3将可计算的DAG任务3下发给从进程池中的从进程3,任务分配线程3进入等待从进程3的确认信息的状态。
其中,通信线程池中的任务分配线程的数量可以为4个或5个或多个,本发明实施例以任务分配线程的数量为3个进行说明,具体实现时本发明实施例对此不做限制。
103:当任意一从进程完成DAG任务,其对完成的数据块内容进行广播,数据同步线程使主进程和所有从进程进行数据同步更新;广播完毕后,发送确认信息给相应的任务分配线程;
例如:当从进程1完成DAG任务后,从进程1对完成的数据块内容进行广播,使得主进程和所有从进程获知从进程1完成了DAG任务,并接收数据块内容,根据数据块内容对自身的数据进行同步的更新。当从进程1广播完毕后,将发送确认信息“ok”给任务分配线程1,通知任务分配线程1;当从进程2广播完毕后,将发送确认信息“ok”给任务分配线程2,通知任务分配线程2;当从进程3广播完毕后,将发送确认信息“ok”给任务分配线程3,通知任务分配线程3。其中,确认信息还可以为其他的字符,具体实现时,本发明实施例对此不做限制。
104:任务分配线程接收到相应从进程的确认信息后,将已完成的DAG任务ID(IDentity,身份识别码)写入第一DAG任务完成反馈队列;
例如:任务分配线程1接收到从进程1的确认信息后,将从进程1已完成的DAG任务ID写入到第一DAG任务完成反馈队列中;任务分配线程2接收到从进程2的确认信息后,将从进程2已完成的DAG任务ID写入到第一DAG任务完成反馈队列中,任务分配线程3接收到从进程3的确认信息后,将从进程3已完成的DAG任务ID写入到第一DAG任务完成反馈队列中。
其中,将完成的DAG任务ID写入到第一DAG任务完成反馈队列时,遵循先来先入列的方式进行。
105:DAG任务解析线程实时监测第一DAG任务完成反馈队列,当有完成的DAG任务时,更新第一DAG图;否则,重新执行步骤101,当所有的任务都完成,退出监测,流程结束。
二、进程内的处理
参见图3和图4所示,当某个从进程获取到相应的任务分配线程下发的DAG任务后,开始进行DAG任务的计算,具体为:
201:主线程获取从进程发送的DAG任务,解析第二DAG图,获取并下发DAG任务到第二线程池缓冲区;
该步骤具体为主线程通过解析第二DAG图,寻找入度为零的DAG任务,并将获取到的DAG任务下发到第二线程池缓冲区;其中,第二DAG图由用户提供或者根据用户提供的参数由DAG Pattern动态生成。
202:工作线程池从第二线程池缓冲区中获取DAG任务,将其下发给任一闲置的工作线程;当工作线程完成DAG任务时,将完成的DAG任务ID写入第二DAG任务完成反馈队列中;
图3中给出了第二线程池缓冲区和工作线程池,该工作线程池中有4个工作线程,分别为工作线程1、工作线程2、工作线程3和工作线程4,工作线程池判断工作线程1、工作线程2、工作线程3和工作线程4中是否存在闲置的工作线程,若存在,工作线程池从第二线程池缓冲区中获取任意可计算的DAG任务,将其下发给任一闲置的工作线程,该闲置的工作线程开始计算;否则,处在工作线程池缓冲区内的DAG任务处于等待,直到有闲置的工作线程为止;当工作线程完成DAG任务时,将完成的DAG任务ID写入第二DAG任务完成反馈队列中。
其中,工作线程池中的工作线程的数量可以为4个或5个或多个,本发明实施例以工作线程的数量为4个进行说明,具体实现时本发明实施例对此不做限制。
203:主线程实时监测第二DAG任务完成反馈队列,当有完成的DAG任务时,主线程更新第二DAG图,重新执行步骤201;当所有的任务都完成后,主线程将退出监测,进入等待下一个新任务状态。
进一步地,为了降低出错率,本发明实施例还提供了容错处理,包括进程间的容错处理和进程内的容错处理,进程间的容错处理由DAG任务解析线程、第一超时队列、通信线程池中的任务分配线程、任务分配线程、第一DAG任务注册表、容错线程之间的相互通信实现;进程内的容错处理由主线程、第二超时队列、工作线程、第二DAG任务注册表、工作线程池之间的相互通信实现;详见下文描述:
三、进程间的容错处理
参见图1和图5,该进程间的容错处理具体为:
301:将DAG任务解析线程获取到的DAG任务下发到第一超时队列中;
其中,第一超时队列接收DAG任务解析线程下发的DAG任务,每一个DAG任务都有一个time_start属性(起始时间),该属性用于记录DAG任务入第一超时队列的时间。例如:第一超时队列接收到3个DAG任务,分别为DAG任务1、DAG任务2和DAG任务3,DAG任务1的time_start属性为time_start1、DAG任务2的time_start属性为time_start2和DAG任务3的time_start属性为time_start3,DAG任务1的下发时间为14:23、DAG任务2的下发时间为14:24和DAG任务3的下发时间为14:25,则,time_start1为14:23;time_start2为14:24;time_start3为14:25。
302:当通信线程池中的任务分配线程获取到DAG任务后,该任务分配线程将到第一DAG任务注册表中进行登记,记录任务分配线程ID及DAG任务ID;
例如:任务分配线程1获取一个DAG任务(DAG任务ID为12),那么该任务分配线程1会去第一DAG任务注册表进行登记,记录任务分配线程ID和DAG任务ID。
303:当DAG任务解析线程实时监测发现有完成的DAG任务时,将从第一超时队列中将该DAG任务ID删除;
304:容错线程实时监测第一超时队列,根据第一超时阈值检测是否存在DAG任务超时;当发现有DAG任务超时,从第一超时队列中删除DAG任务ID,否则,继续反复监测第一超时队列。
该步骤的具体执行方法为:当前时刻与第一超时队列的time_start做差,得到的差值大于等于第一超时阈值时,视为存在DAG任务超时;否则,不存在DAG任务超时,第一超时阈值的设定根据实际应用中的具体情况进行设定,具体实现时,本发明实施例对此不做限制。
四、进程内的容错处理
参见图3和图6,该进程内的容错处理具体为:
401:将主线程获取到的DAG任务下发到第二超时队列中,当工作线程获取一可计算的DAG任务后,该工作线程将到第二DAG任务注册表中进行登记,记录工作线程ID及要计算的DAG任务ID;
例如:工作线程1获取一个DAG任务(DAG任务ID为12),那么该工作线程1会去第二DAG任务注册表进行登记,记录工作线程ID和DAG任务ID。
402:主线程实时监测第二超时队列,根据第二超时阈值检测是否存在DAG任务超时,当发现有DAG任务超时时,工作线程池杀死工作线程,重新创建一新工作线程替代被杀死的工作线程,将超时的DAG任务从第二超时队列中删除。
该步骤的具体执行方法为:当前时刻与第二超时队列的time_start做差,得到的差值大于等于第二超时阈值时,视为存在DAG任务超时,工作线程池杀死该工作线程;否则,不存在DAG任务超时,第二超时阈值的设定根据实际应用中的具体情况进行设定,具体实现时,本发明实施例对此不做限制。
其中,第一超时阈值应满足大于第二超时阈值。
综上所述,本发明实施例提供了一种多级并行化编程方法,该方法通过对进程间和进程内的处理,充分结合了混合硬件体系结构的特征,在提高集群硬件环境利用率方面具有明显效应,而且帮助开发人员简化并行编程和复用已有的并行代码,减少了编程的复杂度;并且该方法考虑了容错,进一步地降低了出错率;降低了非计算机专业人员设计开发并行计算应用程序的难度,缩短设计与开发周期,而且能够使完成的并行计算应用程序结构更为合理,性能更为优化,从而提高相应学科领域的研究效率和应用水平;同时,对推动并行计算在各个行业的应用与发展、提高各专业领域的计算机应用水平具有重要研究意义及应用价值
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种多级并行化编程方法,包括进程间的处理和进程内的处理,所述进程间的处理由主进程、从进程、DAG任务解析线程、第一线程池缓冲区、通信线城池、任务分配线程、数据同步线程和第一DAG任务完成反馈队列之间的相互通信实现;所述进程内的处理由主线程、第二线程池缓冲区、工作线程池、工作线程和第二DAG任务完成反馈队列之间的相互通信实现;其特征在于,所述进程间的处理包括:
(1)所述DAG任务解析线程解析第一DAG图,获取并下发DAG任务到所述第一线程池缓冲区;
(2)所述通信线程池中的闲置线程从所述第一线程池缓冲区中获取DAG任务,所述任务分配线程下发DAG任务给相应的所述从进程并进入等待确认信息的状态;
(3)当任意一所述从进程完成DAG任务,其对完成的数据块内容进行广播,所述数据同步线程使所述主进程和所有所述从进程进行数据同步更新;广播完毕后,发送确认信息给相应的所述任务分配线程;
(4)所述任务分配线程接收到相应的所述从进程的确认信息后,将已完成的DAG任务ID写入所述第一DAG任务完成反馈队列;
(5)所述DAG任务解析线程实时监测所述第一DAG任务完成反馈队列,当有完成的DAG任务时,更新所述第一DAG图;否则,重新执行步骤(1),当所有的任务都完成,退出监测,流程结束;
所述进程内的处理包括:
(6)所述主线程获取所述从进程发送的DAG任务,解析第二DAG图,获取并下发DAG任务到所述第二线程池缓冲区;
(7)所述工作线程池从所述第二线程池缓冲区中获取DAG任务,将其下发给任一闲置的所述工作线程;当所述工作线程完成DAG任务时,将完成的DAG任务ID写入所述第二DAG任务完成反馈队列中;
(8)所述主线程实时监测所述第二DAG任务完成反馈队列,当有完成的DAG任务时,所述主线程更新所述第二DAG图,重新执行步骤(6);当所有的任务都完成后,所述主线程将退出监测,进入等待下一个新任务状态。
2.根据权利要求1所述的多级并行化编程方法,其特征在于,所述多级并行化编程方法还包括进程间的容错处理和进程内的容错处理,所述进程间的容错处理由所述DAG任务解析线程、第一超时队列、所述通信线程池中的任务分配线程、所述任务分配线程、第一DAG任务注册表、容错线程之间的相互通信实现;所述进程内的容错处理由所述主线程、第二超时队列、所述工作线程、第二DAG任务注册表、所述工作线程池之间的相互通信实现;具体地,
所述进程间的容错处理包括:
将所述DAG任务解析线程获取到的DAG任务下发到所述第一超时队列中;
当所述通信线程池中的任务分配线程获取到DAG任务后,所述任务分配线程将到所述第一DAG任务注册表中进行登记,记录任务分配线程ID及DAG任务ID;
当所述DAG任务解析线程实时监测发现有完成的DAG任务时,将从所述第一超时队列中将该DAG任务ID删除;
所述容错线程实时监测所述第一超时队列,根据第一超时阈值检测是否存在DAG任务超时;当发现有DAG任务超时,从所述第一超时队列中删除DAG任务ID,否则,继续反复监测所述第一超时队列;
所述进程内的容错处理包括:
将所述主线程获取到的DAG任务下发到所述第二超时队列中,当所述工作线程获取一可计算的DAG任务后,所述工作线程将到所述第二DAG任务注册表中进行登记,记录工作线程ID及DAG任务ID;
所述主线程实时监测所述第二超时队列,根据第二超时阈值检测是否存在DAG任务超时,当发现有DAG任务超时时,所述工作线程池杀死所述工作线程,重新创建一新工作线程替代被杀死的工作线程,将超时的DAG任务从所述第二超时队列中删除。
3.根据权利要求2所述的多级并行化编程方法,其特征在于,所述容错线程实时监测所述第一超时队列,根据第一超时阈值检测是否存在DAG任务超时,具体为:
当前时刻与所述第一超时队列的起始时间做差,得到的差值大于等于所述第一超时阈值时,视为存在DAG任务超时。
4.根据权利要求2所述的多级并行化编程方法,其特征在于,所述主线程实时监测所述第二超时队列,根据第二超时阈值检测是否存在DAG任务超时,具体为:
当前时刻与所述第二超时队列的起始时间做差,得到的差值大于等于所述第二超时阈值时,视为存在DAG任务超时。
5.根据权利要求2所述的多级并行化编程方法,其特征在于,所述第一超时阈值大于第二超时阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010205530 CN101887367B (zh) | 2010-06-22 | 2010-06-22 | 一种多级并行化编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010205530 CN101887367B (zh) | 2010-06-22 | 2010-06-22 | 一种多级并行化编程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101887367A true CN101887367A (zh) | 2010-11-17 |
CN101887367B CN101887367B (zh) | 2013-06-19 |
Family
ID=43073297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010205530 Active CN101887367B (zh) | 2010-06-22 | 2010-06-22 | 一种多级并行化编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101887367B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012844A (zh) * | 2010-11-29 | 2011-04-13 | 上海大学 | 一种面向cmp系统的线程调度方法 |
CN102364447A (zh) * | 2011-10-28 | 2012-02-29 | 北京航空航天大学 | 一种优化多任务间通信能耗的作业调度方法 |
CN102520934A (zh) * | 2011-11-29 | 2012-06-27 | 深圳市万兴软件有限公司 | 一种预览数据的方法和相关装置 |
CN102591721A (zh) * | 2011-12-30 | 2012-07-18 | 北京新媒传信科技有限公司 | 一种分配线程执行任务的方法和系统 |
CN102651115A (zh) * | 2012-03-29 | 2012-08-29 | 清华大学 | 并行异步混合算法处理系统和水库(群)优化调度方法 |
CN102768675A (zh) * | 2012-06-13 | 2012-11-07 | 天津大学 | 一种并行天文交叉证认方法 |
CN102929707A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 并行任务动态分配方法 |
WO2014009846A1 (en) * | 2012-07-13 | 2014-01-16 | International Business Machines Corporation | Hybrid computer thread creation and management |
CN103605515A (zh) * | 2013-11-11 | 2014-02-26 | 曙光信息产业(北京)有限公司 | 并行编程组件的配置方法和装置 |
CN105677499A (zh) * | 2015-12-29 | 2016-06-15 | 曙光信息产业(北京)有限公司 | 基于硬件的超时管理平台 |
WO2016197858A1 (zh) * | 2015-06-12 | 2016-12-15 | 阿里巴巴集团控股有限公司 | 一种消息通知方法和设备 |
CN107391136A (zh) * | 2017-07-21 | 2017-11-24 | 众安信息技术服务有限公司 | 一种基于流式的编程系统和方法 |
CN107636654A (zh) * | 2015-11-17 | 2018-01-26 | 谷歌有限责任公司 | 通过生成指令列表将flash内容转换为html内容 |
CN107948224A (zh) * | 2016-10-12 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 客户端请求的超时处理方法和装置 |
CN108647134A (zh) * | 2018-05-04 | 2018-10-12 | 北京物资学院 | 一种面向多核架构的任务监测、跟踪及识别方法 |
CN109542406A (zh) * | 2018-11-05 | 2019-03-29 | 清华大学 | 用于模式开发的并行求解方法和系统 |
CN109788043A (zh) * | 2018-12-28 | 2019-05-21 | 亚信科技(中国)有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
CN116841751A (zh) * | 2023-08-31 | 2023-10-03 | 中国兵器装备集团兵器装备研究所 | 一种多任务线程池的策略配置方法、装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174546B2 (en) * | 2000-09-12 | 2007-02-06 | International Business Machines Corporation | Compiler and register allocation method |
JP2008158759A (ja) * | 2006-12-22 | 2008-07-10 | Toshiba Corp | プログラミング方法、プログラム処理方法、処理プログラム及び情報処理装置 |
CN101710286A (zh) * | 2009-12-23 | 2010-05-19 | 天津大学 | 面向dag数据驱动型应用的并行编程模型系统和实现方法 |
-
2010
- 2010-06-22 CN CN 201010205530 patent/CN101887367B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174546B2 (en) * | 2000-09-12 | 2007-02-06 | International Business Machines Corporation | Compiler and register allocation method |
JP2008158759A (ja) * | 2006-12-22 | 2008-07-10 | Toshiba Corp | プログラミング方法、プログラム処理方法、処理プログラム及び情報処理装置 |
CN101710286A (zh) * | 2009-12-23 | 2010-05-19 | 天津大学 | 面向dag数据驱动型应用的并行编程模型系统和实现方法 |
Non-Patent Citations (2)
Title |
---|
F.VALLEJO等: "Shared Memory Multimicroprocessor Operating System with an Extended Petri Net Model", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
王惠春等: "基于SMP集群的混合并行编程模型研究", 《计算机工程》 * |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012844B (zh) * | 2010-11-29 | 2013-01-09 | 上海大学 | 一种面向cmp系统的线程调度方法 |
CN102012844A (zh) * | 2010-11-29 | 2011-04-13 | 上海大学 | 一种面向cmp系统的线程调度方法 |
CN102364447A (zh) * | 2011-10-28 | 2012-02-29 | 北京航空航天大学 | 一种优化多任务间通信能耗的作业调度方法 |
CN102520934A (zh) * | 2011-11-29 | 2012-06-27 | 深圳市万兴软件有限公司 | 一种预览数据的方法和相关装置 |
CN102520934B (zh) * | 2011-11-29 | 2016-03-30 | 深圳万兴信息科技股份有限公司 | 一种预览数据的方法和相关装置 |
CN102591721A (zh) * | 2011-12-30 | 2012-07-18 | 北京新媒传信科技有限公司 | 一种分配线程执行任务的方法和系统 |
CN102651115A (zh) * | 2012-03-29 | 2012-08-29 | 清华大学 | 并行异步混合算法处理系统和水库(群)优化调度方法 |
CN102651115B (zh) * | 2012-03-29 | 2017-09-22 | 清华大学 | 并行异步混合算法处理系统和水库或水库群优化调度方法 |
CN102768675B (zh) * | 2012-06-13 | 2014-11-12 | 天津大学 | 一种并行天文交叉证认方法 |
CN102768675A (zh) * | 2012-06-13 | 2012-11-07 | 天津大学 | 一种并行天文交叉证认方法 |
US10303506B2 (en) | 2012-07-13 | 2019-05-28 | International Business Machines Corporation | Techniques for hybrid computer thread creation and management |
US10331477B2 (en) | 2012-07-13 | 2019-06-25 | International Business Machines Corporation | Techniques for hybrid computer thread creation and management |
US11061715B2 (en) | 2012-07-13 | 2021-07-13 | International Business Machines Corporation | Techniques for hybrid computer thread creation and management |
US9367320B2 (en) | 2012-07-13 | 2016-06-14 | International Business Machines Corporation | Techniques for hybrid computer thread creation and management |
US10318337B2 (en) | 2012-07-13 | 2019-06-11 | International Business Machines Corporation | Techniques for hybrid computer thread creation and management |
US10241825B2 (en) | 2012-07-13 | 2019-03-26 | International Business Machines Corporation | Techniques for hybrid computer thread creation and management |
WO2014009846A1 (en) * | 2012-07-13 | 2014-01-16 | International Business Machines Corporation | Hybrid computer thread creation and management |
US9619276B2 (en) | 2012-07-13 | 2017-04-11 | International Business Machines Corporation | Techniques for hybrid computer thread creation and management |
CN102929707A (zh) * | 2012-11-06 | 2013-02-13 | 无锡江南计算技术研究所 | 并行任务动态分配方法 |
CN102929707B (zh) * | 2012-11-06 | 2015-10-07 | 无锡江南计算技术研究所 | 并行任务动态分配方法 |
CN103605515A (zh) * | 2013-11-11 | 2014-02-26 | 曙光信息产业(北京)有限公司 | 并行编程组件的配置方法和装置 |
CN106302621B (zh) * | 2015-06-12 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 一种消息通知方法和设备 |
CN106302621A (zh) * | 2015-06-12 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种消息通知方法和设备 |
WO2016197858A1 (zh) * | 2015-06-12 | 2016-12-15 | 阿里巴巴集团控股有限公司 | 一种消息通知方法和设备 |
CN107636654A (zh) * | 2015-11-17 | 2018-01-26 | 谷歌有限责任公司 | 通过生成指令列表将flash内容转换为html内容 |
CN105677499B (zh) * | 2015-12-29 | 2018-10-12 | 曙光信息产业(北京)有限公司 | 基于硬件的超时管理平台 |
CN105677499A (zh) * | 2015-12-29 | 2016-06-15 | 曙光信息产业(北京)有限公司 | 基于硬件的超时管理平台 |
CN107948224A (zh) * | 2016-10-12 | 2018-04-20 | 北京京东尚科信息技术有限公司 | 客户端请求的超时处理方法和装置 |
CN107391136B (zh) * | 2017-07-21 | 2020-11-06 | 众安信息技术服务有限公司 | 一种基于流式的编程系统和方法 |
CN107391136A (zh) * | 2017-07-21 | 2017-11-24 | 众安信息技术服务有限公司 | 一种基于流式的编程系统和方法 |
CN108647134A (zh) * | 2018-05-04 | 2018-10-12 | 北京物资学院 | 一种面向多核架构的任务监测、跟踪及识别方法 |
CN109542406A (zh) * | 2018-11-05 | 2019-03-29 | 清华大学 | 用于模式开发的并行求解方法和系统 |
CN109542406B (zh) * | 2018-11-05 | 2020-07-17 | 清华大学 | 用于模式开发的并行求解方法和系统 |
CN109788043A (zh) * | 2018-12-28 | 2019-05-21 | 亚信科技(中国)有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
CN116841751A (zh) * | 2023-08-31 | 2023-10-03 | 中国兵器装备集团兵器装备研究所 | 一种多任务线程池的策略配置方法、装置和存储介质 |
CN116841751B (zh) * | 2023-08-31 | 2023-11-10 | 中国兵器装备集团兵器装备研究所 | 一种多任务线程池的策略配置方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101887367B (zh) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101887367B (zh) | 一种多级并行化编程方法 | |
CN104268695B (zh) | 一种多中心流域水环境分布式集群管理系统及方法 | |
CN103078941B (zh) | 一种分布式计算系统的任务调度方法 | |
CN104050042B (zh) | Etl作业的资源分配方法及装置 | |
CN102622476B (zh) | 用于建筑算量领域的cad图纸整合系统 | |
CN101840352A (zh) | 一种数据库连接池的监控方法及装置 | |
Long et al. | A toolkit for modeling and simulating cloud data storage: An extension to cloudsim | |
CN103413041B (zh) | 一种基于复杂产品研制对象的协同感知系统构建方法 | |
CN112445598B (zh) | 一种基于quartz的任务调度方法、装置、电子设备以及介质 | |
JP2011258122A (ja) | データ転送装置及びデータ転送方法及びデータ転送プログラム及びデータ連携システム | |
CN104243617A (zh) | 一种异构集群中面向混合负载的任务调度方法及系统 | |
CN102929899A (zh) | 一种基于中间表的分布式报表系统 | |
CN113254747B (zh) | 基于分布式网络爬虫的地理空间数据获取系统及方法 | |
CN114356578A (zh) | 自然语言处理模型的并行计算方法、装置、设备及介质 | |
CN114281509B (zh) | 一种基于场景描述的航天器多用户协同任务规划系统 | |
CN112948353B (zh) | 一种应用于DAstudio的数据分析方法、系统及存储介质 | |
CN105389196A (zh) | 利用虚拟化技术进行地震资料处理的方法 | |
CN114004000A (zh) | 一种基于bim技术管线智能排布的系统 | |
CN106257424A (zh) | 一种基于kvm云平台的分布式数据库系统实现自动伸缩负载均衡的方法 | |
CN101499971B (zh) | 服务网络性能优化系统 | |
CN102750371B (zh) | 面向电力系统的并行实时数据库系统及其数据管理方法 | |
CN103810258A (zh) | 基于数据仓库的数据汇聚调度方法 | |
Li et al. | Hadoop-Based University Ideological and Political Big Data Platform Design and Behavior Pattern Mining | |
Yang et al. | Study on static task scheduling based on heterogeneous multi-core processor | |
Liu et al. | BSPCloud: A hybrid distributed-memory and shared-memory programming model |
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 |