CN101710286A - 面向dag数据驱动型应用的并行编程模型系统和实现方法 - Google Patents
面向dag数据驱动型应用的并行编程模型系统和实现方法 Download PDFInfo
- Publication number
- CN101710286A CN101710286A CN200910312089A CN200910312089A CN101710286A CN 101710286 A CN101710286 A CN 101710286A CN 200910312089 A CN200910312089 A CN 200910312089A CN 200910312089 A CN200910312089 A CN 200910312089A CN 101710286 A CN101710286 A CN 101710286A
- Authority
- CN
- China
- Prior art keywords
- thread
- dag
- thread pool
- task
- data
- 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
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种面向DAG数据驱动型应用的并行编程模型系统和实现方法,包括DAG模式图模块、用户应用程序模块以及DAG运行时系统模块,其中:DAG模式图模块包括DAG模式图库;用户应用程序模块用于用户的初始化设置和具体的并行化算法的确定;DAG运行时系统模块包括主线程,线程池。主线程用于DAG模式图的解析与更新、数据块的分发及调度,以及容错控制,线程池包括线程池队列缓冲区及工作线程:线程池队列缓冲区是主线程和工作线程的数据接口,工作线程则不停的去队列缓冲区获取计算任务并进行计算。与现有技术相比,本发明降低非计算机专业人员设计开发并行计算应用程序的难度,缩短并行软件的开发周期,而且能够使完成的并行计算应用程序结构更为合理,性能更为优化。
Description
技术领域
本发明涉及计算机软件设计领域的并行编程模型、模式与方法,特别是涉及一种面向DAG数据驱动型应用的并行化编程模型系统和程序设计方法。
背景技术
随着计算机的应用范围和应用水平的不断拓展和提高,人们对于计算机的计算和处理能力等性能要求也随之增加,近些年来,在诸如天文、气象、海洋、生物、能源、化工、地质勘探和数学等科学与工程计算领域,随着数据计算量的增大及计算复杂度的增加,很多实际应用问题的求解过程在计算能力及计算速度方面不断提出新的要求,对高计算能力及高性能的需求越来越迫切。而这类实际应用大多是基于数据型的,且耗时计算主要为数值计算。
目前,在硬件方面,构建并行计算硬件环境的技术也已日臻成熟,搭建一个理论上计算能力相当强的并行计算环境,现在已经不是难题。然而,在软件方面,并行编程复杂且易出错,已经是一个不争的事实,如何高效地在并行计算环境中进行各种并行计算应用程序的设计与开发,尤其是多数非计算机专业出身的各应用领域的技术人员缺乏并行计算程序开发的专业训练,已成为并行计算技术转化为实际生产力所面临的关键问题。因此,设计和开发出一套新的模型和方法,来帮助开发人员简化并行编程成为了一个关键和必要。
经文献检索发现,传统的简化并行编程的理论和方法主要有:并行编程模型,并型设计模式,并行骨架,可视化建模等等。本发明是从并行编程模型的角度,针对科学应用中大量的具有DAG数据依赖关系的应用,提出了一套编程模型和方法,用来帮助开发人员简化并行编程和复用已有的并行代码。
发明内容
鉴于上述现有技术,本发明提出了一种面向DAG数据驱动型应用的并行编程模型系统和实现方法,通过图形化操作界面实现并行计算应用程序的辅助开发设计,用户在该系统上利用已经实现好的面向DAG数据驱动型应用的完成并行编程,并且实现通用集成开发环境(EasyPAB系统)中的添加实现。
本发明提出一种面向DAG数据驱动型应用的并行编程模型系统,包括DAG模式图模块、用户应用程序模块以及DAG运行时系统模块,其特征在于,其中:
DAG模式图模块,包括DAG模式图库,该DAG模式图库中存储有来自系统提供的DAG模式图和用户自定义的DAG模式图;
用户应用程序模块,作为整个并行编程模型系统的驱动,用于用户的初始化设置和具体的并行化算法的确定,其处理包括:
用户从DAG模式图库中选择一个DAG模式图,对DAG模式图及运行时需要的参数进行初始化操作,包括设置DAG模式图的大小、选择对DAG图中的每一个节点进行数据块映射的数据块映射机制、系统运行时所需要的线程数目及time out(对应中文:超时)参数等;调用系统所提供的API函数,初始化选择的DAG模式图,运行时系统开始进行后台的并行化计算,主要包括对数据任务的自动化划分和分配,线程的调度、反馈与管理;具体过程为:主线程开始解析DAG图,寻找当前可计算的数据节点,将其进行真实数据块任务的映射,并将可计算数据任务放入线程池队列缓冲区,而线程池内的闲置工作线程一旦发现线程池队列不为空时,将自动地从线程池队列缓冲区获取一块计算任务,并开始进行计算;当某个工作线程完成任务时,将计算完的任务信息放入反馈队列,主线程则及时地通过反馈队列获知完成的计算任务节点,根据完成的计算任务节点更新DAG图,寻找新的可计算任务节点并进行映射,任务下发,整个过程不断反复,直到整个任务计算完毕,返回计算结果;
DAG运行时系统模块,包括主线程,线程池,主线程用于DAG模式图的解析与更新、数据块的分发及调度,以及容错控制,其中:
DAG模式图的解析是通过寻找入度为0的节点来获取当前可计算的数据模块;而DAG图的更新是当有一个数据节点的任务完成时,及时地将该任务节点从DAG图中删除,并将其所指向的边也删除,及时地更新DAG模式图;
数据块的分发及调度是当发现有可计算的数据模块时,主线程会将该数据块放入线程池的队列缓冲区当中,由工作线程负责计算;线程池包括线程池队列缓冲区及工作线程:线程池队列缓冲区是主线程和工作线程的数据接口,工作线程则不停的去队列缓冲区获取计算任务并进行计算;
容错控制,在存放当前正处在计算中的数据节点的任务分配时刻,开启一个储存超时操作队列,将当前时刻与队列中每个数据节点的分配时刻的差值与超时预值进行比较,由主线程实时检测超时队列,对超时计算节点任务进行重新分配计算,杀死超时线程,并重新创建一个新的线程进行替换计算。
所述数据块映射机制还包括用户自定义的数据块映射机制。
所述用户应用程序模块还为系统提供了一个对外的接口,用户将自定义的具体应用加载到系统,以使后台运行时系统则将自动调用该接口进行并行计算。
该系统采用主从模式,所述主模式为主线程,所述从模式为线程池。
所述线程池包括动态线程池和静态线程池:对于静态线程池,除了存在线程池队列缓冲区外,每一个工作线程都有一个自己的队列缓冲区,每一个计算数据块任务和每一个工作线程根据某种静态映射策略在程序运行之前就已经绑定;当主线程发现一个可计算的数据块时,将其放入线程池队列缓冲区当中,线程池则根据该映射机制,将任务下发到对应的工作线程缓冲区当中;对于动态线程池,其数据块计算任务和工作线程不是事先绑定的,每一个闲置的工作线程动态地从线程池队列缓冲区当中获取计算任务;当线程池队列缓冲区不为空时,不存在闲置的线程,反之,当有闲置线程存在时,线程池队列缓冲区为空。
本发明还提出了一种面向DAG数据驱动型应用的并行编程模型的实现方法,该方法包括以下步骤:
用户从DAG模式图库中选择一个DAG模式图,对DAG模式图及运行时需要的参数进行初始化操作,包括设置DAG模式图的大小、选择对DAG图中的每一个节点进行数据块映射的数据块映射机制、系统运行时所需要的线程数目及time out超时参数;
调用系统所提供的API函数,初始化选择的DAG模式图,运行时系统开始进行后台的并行化计算,主要包括对数据任务的自动化划分和分配,线程的调度、反馈与管理等;返回计算结果;
创建主线程和线程池,主线程用于DAG模式图的解析与更新、数据块的分发及调度,以及容错控制:
DAG模式图的解析,通过寻找入度为0的节点来获取当前可计算的数据模块;而DAG图的更新是当有一个数据节点的任务完成时,及时地将该任务节点从DAG图中删除,并将其所指向的边也删除,及时地更新DAG模式图;
数据块的分发及调度,当发现有可计算的数据模块时,主线程会将该数据块放入线程池的队列缓冲区当中,由工作线程负责计算;线程池包括线程池队列缓冲区及工作线程:线程池队列缓冲区是主线程和工作线程的数据接口,工作线程则不停的去队列缓冲区获取计算任务并进行计算;
容错控制,在存放当前正处在计算中的数据节点的任务分配时刻,开启一个储存超时操作队列,将当前时刻与队列中每个数据节点的分配时刻的差值与超时预值进行比较,由主线程实时检测超时队列,对超时计算节点任务进行重新分配计算,杀死超时线程,并重新创建一个新的线程进行替换计算。
所述数据块映射机制还包括用户自定义的数据块映射机制。
该方法采用主从模式,所述主模式为主线程,所述从模式为线程池。
所述线程池包括动态线程池和静态线程池:对于静态线程池,除了存在线程池队列缓冲区外,每一个工作线程都有一个自己的队列缓冲区,每一个计算数据块任务和每一个工作线程根据某种静态映射策略在程序运行之前就已经绑定;当主线程发现一个可计算的数据块时,将其放入线程池队列缓冲区当中,线程池则根据该映射机制,将任务下发到对应的工作线程缓冲区当中;对于动态线程池,其数据块计算任务和工作线程不是事先绑定的,每一个闲置的工作线程动态地从线程池队列缓冲区当中获取计算任务;当线程池队列缓冲区不为空时,不存在闲置的线程,反之,当有闲置线程存在时,线程池队列缓冲区为空。
与现有技术相比,本发明能够针对满足DAG数据依赖型应用,提供一套并行程序系统与方法,将降低非计算机专业人员设计开发并行计算应用程序的难度,即使没有并行程序设计与开发的经验和技巧的程序设计与开发人员,只要懂得问题域的专业知识,就可以正确且高效的进行并行程序设计与开发,以提高并行软件开发人员的编程效率和减少程序编码的错误,最终提高工作效率和相应学科领域的研究效率和应用水平,缩短并行软件的开发周期,而且能够使完成的并行计算应用程序结构更为合理,性能更为优化,基于此方法的系统平台市场前景非常广阔,面临着巨大的市场机遇。
附图说明
图1为本发明的面向DAG数据驱动型应用的并行编程模型系统和实现方法的系统结构示意图;
图2为本发明的一个典型常用的DAG模式图;
图3为本发明的面向DAG数据驱动型应用的并行编程模型系统和实现方法提供的常用的DAG模式图。
具体实施方式
本发明的面向DAG数据驱动型应用的并行编程模型系统和方法,如图1所示,包括三个模块组成:用户应用程序模块、DAG模式图模块以及DAG运行时系统模块。
用户应用程序模块用于将一些将用户设定的基本步骤和内容,作为整个并行编程模型系统和方法的驱动。在设计与实现该模块中,用户只需要做一些简单的初始化设置和具体的算法应用上,而并行编程可以自动实现。用户应用程序模块的处理步骤包括:
首先,用户根据自己应用的需要,从DAG模式图库中选择一个DAG模式图(如果系统提供的DAG模式图无法满足用户应用的需要,用户可以根据需要,实现自己的DAG模式图,并将其添加到DAG模式图库当中),对DAG模式图及运行时需要的参数进行初始化操作,主要包括设置DAG模式图的大小(宽和高),选择系统提供的一种数据块映射机制或者用户自定义的数据块映射机制对DAG图中的每一个节点进行数据块映射,系统运行时所需要的线程数目及timeout参数等;然后,当配置和初始化完各种所需要的参数后,调用系统所提供的API函数,启动选择的DAG,运行时系统开始进行后台的并行化计算,主要包括对数据任务的自动化划分和分配,线程的调度、反馈与管理等;最后,当并行化计算完毕后,返回计算结果;另外,该用户应用程序模块提供了一个对外的接口,可让用户将自定义的具体应用加载到系统,以使后台运行时系统则将自动调用该接口进行并行计算。
DAG模式图模块主要为一个DAG模式图库,在该DAG模式图库中,存储着各种常用的DAG模式图,主要包括来自系统提供的DAG模式图,以及用户自定义的DAG模式图。所谓DAG模式图,其首先是一个规则的DAG图,定义和描述了每个DAG节点间的基本的依赖关系,但是它的大小(宽和高)并未固定,而是作为参数供用户进行大小设置,如图2所示为一个典型的DAG模式图,其中每一个DAG节点代表着真实数据中的一个数据块,每一个DAG节点都有且仅依赖着其左边和上边的节点(依赖关系规则且固定),通过大小参数的不同设定,我们可以得到各种不同的DAG图。如图3所示,其为系统提供给用户选择的常用DAG模式图。
DAG运行时系统模块用于系统的DAG模式图的解析与更新操作和程序并行化控制及容错处理操作。其采用了主从模式,分别由主线程,线程两大部分构成。主线程部分负责DAG图的解析与更新操作,数据块任务的分发及调度,以及容错控制功能。DAG图的解析主要是通过寻找入度为0的节点来获取当前可计算的数据模块,而DAG图的更新则是当有一个数据节点的任务完成时,及时地将该任务节点从DAG图中删除,并将其所指向的边也删除,及时地更新DAG图。当发现有可计算的数据模块时,主线程会将该数据块放入线程池的队列缓冲区当中,由工作线程负责计算。线程池部分由线程池队列缓冲区及工作线程两部分组成。线程池队列缓冲区是主线程和工作线程的数据接口,工作线程则不停的去队列缓冲区获取计算任务并进行计算。线程池具体分为动态线程池和静态线程池。对于静态线程池,除了存在线程池队列缓冲区外,每一个工作线程都有一个自己的队列缓冲区。每一个计算数据块任务和每一个工作线程根据某种静态映射策略在程序运行之前就已经绑定。当主线程发现一个可计算的数据块时,将其放入线程池队列缓冲区当中,线程池则根据该映射机制,将任务下发到对应的工作线程缓冲区当中。对于动态线程池,其数据块计算任务和工作线程不是事先绑定的,每一个闲置的工作线程动态地从线程池队列缓冲区当中获取计算任务。也即是,当线程池队列缓冲区不为空时,一定不存在闲置的线程,反之,当有闲置线程存在时,线程池队列缓冲区一定为空。
下面通过一个具体实例,来详细说明本发明的技术方案:
本发明的面向DAG数据驱动型应用的并行编程模型系统和方法,针对DAG数据驱动型应用的并行化,从编程模型的角度,通过将那些复杂的并行细节部分进行封装隐藏,将其交由后台运行时系统负责完成,让用户停留在串行程序设计当中,将其精力主要集中于具体的算法应用当中,而并非并行相关部分。
用户在使用该系统时,首先需要理解整个编程模型系统和方法的每一个模块的内涵和意义,并且能够知道自己所面临的DAG数据型应用的数据间的依赖关系,在系统所提供DAG模式图库中选择适合的DAG模式图。另外,在用户应用程序模块的初始化阶段,设置合理的初始化参数对整个系统程序的运行性能有着直接的影响。例如,假设在多核环境当中,线程数目的多少直接决定着程序的性能好坏,过大过小对程序性能都会有影响,合理的情况是让其值接近或等于当前CPU核的数目。同样,每一个数据块的大小设置以及timout的值大小也都对性能产生直接影响。
面向DAG数据驱动型应用的并行编程模型系统和方法,已设计并实现的辅助并行计算应用程序开发人员进行快速开发的通用集成开发环境(EasyPAB系统)中添加实现。该系统拥有良好的用户界面,对于各种常用的功能提供了操作系统风格的图形化操作界面,从而方便了程序员和其他系统用户操作。用户可以在该平台上利用已经实现好的面向DAG数据驱动型应用的并行编程模型系统,进行应用程序开发,从而避免去实现面向DAG数据驱动型应用的并行编程模型的代码框架。
Claims (9)
1.一种面向DAG数据驱动型应用的并行编程模型系统,包括DAG模式图模块、用户应用程序模块以及DAG运行时系统模块,其特征在于,其中:
DAG模式图模块,包括DAG模式图库,该DAG模式图库中存储有来自系统提供的DAG模式图和用户自定义的DAG模式图;
用户应用程序模块,作为整个并行编程模型系统的驱动,用于用户的初始化设置和具体的并行化算法的确定,其处理包括:
用户从DAG模式图库中选择一个DAG模式图,对DAG模式图及运行时需要的参数进行初始化操作,包括设置DAG模式图的大小、选择对DAG图中的每一个节点进行数据块映射的数据块映射机制、系统运行时所需要的线程数目及time out(对应中文:超时)参数等;调用系统所提供的API函数,初始化选择的DAG模式图,运行时系统开始进行后台的并行化计算,包括对数据任务的自动化划分和分配, 线程的调度、反馈与管理,具体过程为:主线程开始解析DAG图,寻找当前可计算的数据节点,将其进行真实数据块任务的映射,并将可计算数据任务放入线程池队列缓冲区,而线程池内的闲置工作线程一旦发现线程池队列不为空时,将自动地从线程池队列缓冲区获取一块计算任务,并开始进行计算;当某个工作线程完成任务时,将计算完的任务信息放入反馈队列,主线程则及时地通过反馈队列获知完成的计算任务节点,根据完成的计算任务节点更新DAG图,寻找新的可计算任务节点并进行映射,任务下发,整个过程不断反复,直到整个任务计算完毕,返回计算结果;
DAG运行时系统模块,包括主线程,线程池,主线程用于DAG模式图的解析与更新、数据块的分发及调度,以及容错控制,其中:
DAG模式图的解析是通过寻找入度为0的节点来获取当前可计算的数据模块;而DAG图的更新是当有一个数据节点的任务完成时,及时地将该任务节点从DAG图中删除,并将其所指向的边也删除,及时地更新DAG模式图;
数据块的分发及调度是当发现有可计算的数据模块时,主线程会将该数据块放入线程池的队列缓冲区当中,由工作线程负责计算;线程池包括线程池队列缓冲区及工作线程:线程池队列缓冲区是主线程和工作线程的数据接口,工作线程则不停的去队列缓冲区获取计算任务并进行计算;
容错控制,在存放当前正处在计算中的数据节点的任务分配时刻,开启一个储存超时操作队列,将当前时刻与队列中每个数据节点的分配时刻的差值与超时预值进行比较,由主线程实时检测超时队列,对超时计算节点任务进行重新分配计算,杀死超时线程,并重新创建一个新的线程进行替换计算。
2.如权利要求1所述的面向DAG数据驱动型应用的并行编程模型系统,其特征在于,所述数据块映射机制还包括用户自定义的数据块映射机制。
3.如权利要求1所述的面向DAG数据驱动型应用的并行编程模型系统,其特征在于,所述用户应用程序模块还为系统提供了一个对外的接口,用户将自定义的具体应用加载到系统,以使后台运行时系统则将自动调用该接口进行并行计算。
4.如权利要求1所述的面向DAG数据驱动型应用的并行编程模型系统,其特征在于,该系统采用主从模式,所述主模式为主线程,所述从模式为线程池。
5.如权利要求1或4所述的面向DAG数据驱动型应用的并行编程模型系统,其特征在于,所述线程池包括动态线程池和静态线程池:对于静态线程池,除了存在线程池队列缓冲区外,每一个工作线程都有一个自己的队列缓冲区,每一个计算数据块任务和每一个工作线程根据某种静态映射策略在程序运行之前就已经绑定;当主线程发现一个可计算的数据块时,将其放入线程池队列缓冲区当中,线程池则根据该映射机制,将任务下发到对应的工作线程缓冲区当中;对于动态线程池,其数据块计算任务和工作线程不是事先绑定的,每一个闲置的工作线程动态地从线程池队列缓冲区当中获取计算任务;当线程池队列缓冲区不为空时,不存在闲置的线程,反之,当有闲置线程存在时,线程池队列缓冲区为空。
6.一种面向DAG数据驱动型应用的并行编程模型的实现方法,该方法包括以下步骤:
用户从DAG模式图库中选择一个DAG模式图,对DAG模式图及运行时需要的参数进行初始化操作,包括设置DAG模式图的大小、选择对DAG图中的每一个节点进行数据块映射的数据块映射机制、系统运行时所需要的线程数目及time out超时参数;
调用系统所提供的API函数,初始化选择的DAG模式图,运行时系统开始进行后台的并行化计算,主要包括对数据任务的自动化划分和分配,线程的调度、反馈与管理;返回计算结果;
创建主线程和线程池,主线程用于DAG模式图的解析与更新、数据块的分发及调度,以及容错控制:
DAG模式图的解析,通过寻找入度为0的节点来获取当前可计算的数据模块;而DAG图的更新是当有一个数据节点的任务完成时,及时地将该任务节点从DAG图中删除,并将其所指向的边也删除,及时地更新DAG模式图;
数据块的分发及调度,当发现有可计算的数据模块时,主线程会将该数据块放入线程池的队列缓冲区当中,由工作线程负责计算;线程池包括线程池队列缓冲区及工作线程:线程池队列缓冲区是主线程和工作线程的数据接口,工作线程则不停的去队列缓冲区获取计算任务并进行计算;
容错控制,在存放当前正处在计算中的数据节点的任务分配时刻,开启一个储存超时操作队列,将当前时刻与队列中每个数据节点的分配时刻的差值与超时预值进行比较,由主线程实时检测超时队列,对超时计算节点任务进行重新分配计算,杀死超时线程,并重新创建一个新的线程进行替换计算。
7.如权利要求6所述的面向DAG数据驱动型应用的并行编程模型的实现方法,其特征在于,所述数据块映射机制还包括用户自定义的数据块映射机制。
8.如权利要求6所述的面向DAG数据驱动型应用的并行编程模型的实现方法,其特征在于,该方法采用主从模式,所述主模式为主线程,所述从模式为线程池。
9.如权利要求6或8所述的面向DAG数据驱动型应用的并行编程模型的实现方法,其特征在于,所述线程池包括动态线程池和静态线程池:对于静态线程池,除了存在线程池队列缓冲区外,每一个工作线程都有一个自己的队列缓冲区,每一个计算数据块任务和每一个工作线程根据某种静态映射策略在程序运行之前就已经绑定;当主线程发现一个可计算的数据块时,将其放入线程池队列缓冲区当中,线程池则根据该映射机制,将任务下发到对应的工作线程缓冲区当中;对于动态线程池,其数据块计算任务和工作线程不是事先绑定的,每一个闲置的工作线程动态地从线程池队列缓冲区当中获取计算任务;当线程池队列缓冲区不为空时,不存在闲置的线程,反之,当有闲置线程存在时,线程池队列缓冲区为空。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910312089A CN101710286A (zh) | 2009-12-23 | 2009-12-23 | 面向dag数据驱动型应用的并行编程模型系统和实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910312089A CN101710286A (zh) | 2009-12-23 | 2009-12-23 | 面向dag数据驱动型应用的并行编程模型系统和实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101710286A true CN101710286A (zh) | 2010-05-19 |
Family
ID=42403078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910312089A Pending CN101710286A (zh) | 2009-12-23 | 2009-12-23 | 面向dag数据驱动型应用的并行编程模型系统和实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101710286A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887367A (zh) * | 2010-06-22 | 2010-11-17 | 天津大学 | 一种多级并行化编程方法 |
CN102768675A (zh) * | 2012-06-13 | 2012-11-07 | 天津大学 | 一种并行天文交叉证认方法 |
CN103164273A (zh) * | 2012-09-06 | 2013-06-19 | 佳都新太科技股份有限公司 | 一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法 |
CN103164267A (zh) * | 2013-03-29 | 2013-06-19 | 汉柏科技有限公司 | 无锁消息队列实现方法 |
CN103778001A (zh) * | 2014-01-26 | 2014-05-07 | 北京仿真中心 | 一种基于dag图的仿真任务并行度分析方法 |
CN105183553A (zh) * | 2015-10-31 | 2015-12-23 | 山东智洋电气股份有限公司 | 软总线程序并发资源分配方法 |
CN106844017A (zh) * | 2015-12-03 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 用于网站服务器处理事件的方法和设备 |
CN108388474A (zh) * | 2018-02-06 | 2018-08-10 | 北京易沃特科技有限公司 | 基于dag的智能分布式计算管理系统及方法 |
CN109343942A (zh) * | 2018-09-03 | 2019-02-15 | 北京邮电大学 | 基于边缘计算网络的任务调度方法 |
CN109788043A (zh) * | 2018-12-28 | 2019-05-21 | 亚信科技(中国)有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
CN109799973A (zh) * | 2018-12-11 | 2019-05-24 | 极道科技(北京)有限公司 | 一种数据驱动的用户透明的可扩展编程方法 |
CN110263110A (zh) * | 2019-05-30 | 2019-09-20 | 武汉智云集思技术有限公司 | 基于抽稀算法的地理空间数据加载方法、设备及存储介质 |
CN110297699A (zh) * | 2018-03-23 | 2019-10-01 | 华为技术有限公司 | 调度方法、调度器、存储介质及系统 |
CN111061911A (zh) * | 2019-12-17 | 2020-04-24 | 天津大学 | 面向多视频监控数据的目标检测与追踪方法、装置及设备 |
CN112306471A (zh) * | 2020-10-19 | 2021-02-02 | 北京金山云网络技术有限公司 | 一种任务的调度方法和装置 |
CN112541179A (zh) * | 2020-11-27 | 2021-03-23 | 国网河南省电力公司电力科学研究院 | 一种Android应用数字证书校验漏洞检测系统及方法 |
CN116679610A (zh) * | 2023-07-17 | 2023-09-01 | 上海能誉科技股份有限公司 | 一种控制器的编程方法、可视化开发工具及控制器 |
-
2009
- 2009-12-23 CN CN200910312089A patent/CN101710286A/zh active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887367B (zh) * | 2010-06-22 | 2013-06-19 | 天津大学 | 一种多级并行化编程方法 |
CN101887367A (zh) * | 2010-06-22 | 2010-11-17 | 天津大学 | 一种多级并行化编程方法 |
CN102768675B (zh) * | 2012-06-13 | 2014-11-12 | 天津大学 | 一种并行天文交叉证认方法 |
CN102768675A (zh) * | 2012-06-13 | 2012-11-07 | 天津大学 | 一种并行天文交叉证认方法 |
CN103164273A (zh) * | 2012-09-06 | 2013-06-19 | 佳都新太科技股份有限公司 | 一种利用自扩展的阻塞算法将同步服务调用转换为异步并行式调用的方法 |
CN103164267A (zh) * | 2013-03-29 | 2013-06-19 | 汉柏科技有限公司 | 无锁消息队列实现方法 |
CN103778001A (zh) * | 2014-01-26 | 2014-05-07 | 北京仿真中心 | 一种基于dag图的仿真任务并行度分析方法 |
CN105183553A (zh) * | 2015-10-31 | 2015-12-23 | 山东智洋电气股份有限公司 | 软总线程序并发资源分配方法 |
CN106844017A (zh) * | 2015-12-03 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 用于网站服务器处理事件的方法和设备 |
CN106844017B (zh) * | 2015-12-03 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 用于网站服务器处理事件的方法和设备 |
CN108388474A (zh) * | 2018-02-06 | 2018-08-10 | 北京易沃特科技有限公司 | 基于dag的智能分布式计算管理系统及方法 |
US11190618B2 (en) | 2018-03-23 | 2021-11-30 | Huawei Technologies Co., Ltd. | Scheduling method, scheduler, storage medium, and system |
CN110297699A (zh) * | 2018-03-23 | 2019-10-01 | 华为技术有限公司 | 调度方法、调度器、存储介质及系统 |
CN109343942B (zh) * | 2018-09-03 | 2020-11-03 | 北京邮电大学 | 基于边缘计算网络的任务调度方法 |
CN109343942A (zh) * | 2018-09-03 | 2019-02-15 | 北京邮电大学 | 基于边缘计算网络的任务调度方法 |
CN109799973A (zh) * | 2018-12-11 | 2019-05-24 | 极道科技(北京)有限公司 | 一种数据驱动的用户透明的可扩展编程方法 |
CN109788043A (zh) * | 2018-12-28 | 2019-05-21 | 亚信科技(中国)有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
CN110263110A (zh) * | 2019-05-30 | 2019-09-20 | 武汉智云集思技术有限公司 | 基于抽稀算法的地理空间数据加载方法、设备及存储介质 |
CN110263110B (zh) * | 2019-05-30 | 2021-10-12 | 武汉智云集思技术有限公司 | 基于抽稀算法的地理空间数据加载方法、设备及存储介质 |
CN111061911A (zh) * | 2019-12-17 | 2020-04-24 | 天津大学 | 面向多视频监控数据的目标检测与追踪方法、装置及设备 |
CN111061911B (zh) * | 2019-12-17 | 2023-04-11 | 天津大学 | 面向多视频监控数据的目标检测与追踪方法、装置及设备 |
CN112306471A (zh) * | 2020-10-19 | 2021-02-02 | 北京金山云网络技术有限公司 | 一种任务的调度方法和装置 |
CN112541179A (zh) * | 2020-11-27 | 2021-03-23 | 国网河南省电力公司电力科学研究院 | 一种Android应用数字证书校验漏洞检测系统及方法 |
CN116679610A (zh) * | 2023-07-17 | 2023-09-01 | 上海能誉科技股份有限公司 | 一种控制器的编程方法、可视化开发工具及控制器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101710286A (zh) | 面向dag数据驱动型应用的并行编程模型系统和实现方法 | |
CN110737529B (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
CN102508639B (zh) | 一种基于卫星遥感数据特征的分布式并行处理方法 | |
US5303170A (en) | System and method for process modelling and project planning | |
CN104965761B (zh) | 一种基于gpu/cpu混合架构的流程序多粒度划分与调度方法 | |
JPH09512377A (ja) | プロセスおよびプロジェクト管理コンピュータ・システム用の方法および装置 | |
CN103473134B (zh) | 一种异构多核处理器的依赖任务调度方法 | |
CN103729246B (zh) | 一种任务调度方法和装置 | |
CN111861412B (zh) | 面向完成时间优化的科学工作流调度方法及系统 | |
CN101373432B (zh) | 一种基于中间件的组件系统性能预测方法和系统 | |
CN102547776B (zh) | 基于模型驱动和进化算法的无线传感器网络模型转换方法 | |
CN105094984A (zh) | 资源调度的方法及系统 | |
CN110705716A (zh) | 一种多模型并行训练方法 | |
CN102866890A (zh) | 基于对象关联的Android嵌入式界面及程序框架的生成系统及生成方法 | |
Fan et al. | Object-oriented scheduling for repetitive projects with soft logics | |
WO2019086764A1 (en) | Graphics engine resource management and allocation system | |
CN106055862A (zh) | 一种新型高效的启发式两阶段并行分支定界方法 | |
CN108647134B (zh) | 一种面向多核架构的任务监测、跟踪及识别方法 | |
Monot et al. | PASA: Framework for partitioning and scheduling automation applications on multicore controllers | |
EP2013813A2 (en) | Location-based construction planning and scheduling system | |
Kostromin et al. | Service-oriented tools for automating digital twin development | |
CN101599012A (zh) | 一种用于网格计算的图形化开发方法 | |
Lindemann et al. | Intelligent strategies for structuring products | |
Hernández et al. | A Simulation-based Scheduling Strategy for Scientific Workflows. | |
Hsiung et al. | Synthesis of real-time embedded software with local and global deadlines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100519 |