CN107992358B - 一种适用于核外图处理系统的异步io执行方法及系统 - Google Patents

一种适用于核外图处理系统的异步io执行方法及系统 Download PDF

Info

Publication number
CN107992358B
CN107992358B CN201711115579.6A CN201711115579A CN107992358B CN 107992358 B CN107992358 B CN 107992358B CN 201711115579 A CN201711115579 A CN 201711115579A CN 107992358 B CN107992358 B CN 107992358B
Authority
CN
China
Prior art keywords
offset
module
task
request
asynchronous
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.)
Active
Application number
CN201711115579.6A
Other languages
English (en)
Other versions
CN107992358A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201711115579.6A priority Critical patent/CN107992358B/zh
Publication of CN107992358A publication Critical patent/CN107992358A/zh
Application granted granted Critical
Publication of CN107992358B publication Critical patent/CN107992358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种适用于核外图处理系统的异步IO执行方法及系统,属于大数据领域的图计算与处理技术领域,也可以用于其他数据存放在磁盘的迭代计算系统。其中,方法的实现包括:在图计算执行过程中,线程将从任务队列中获取的任务发送给异步IO库,而后异步IO库依据任务所需数据的存储情况,异步地发出数据的读取请求并加入到请求队列,然后请求队列对异步产生的读取请求进行排序合并,在相关数据读取完毕时,异步IO库执行对应任务,从而在执行层提高磁盘的访问效率,加快任务的执行速度。本发明能应用于基于磁盘的迭代计算系统,加快算法的执行速度,实用性强。

Description

一种适用于核外图处理系统的异步IO执行方法及系统
技术领域
本发明属于大数据处理技术的图计算技术领域,更具体地,涉及一种适用于核外图处理系统的异步IO执行方法及系统。
背景技术
图数据模型用来表征不同实体间复杂的依赖关系,在现实生活中随处可见。在许多实际的应用当中,如社交网络分析、网页搜索、商品推荐等,都可以使用图数据模型来进行问题的建模和分析。然而,在大数据时代,这类问题的规模通常十分庞大并仍然在快速增长,使得图计算技术领域面临巨大的挑战。在此背景下,如何加快基于磁盘的大规模图数据中相关算法的求解成为了亟待解决的问题。
现有的大规模图处理方式主要包括:多节点的分布式平台和单节点的核外系统。多节点的分布式平台进行图计算的步骤是:划分图数据、给节点机发送图数据、节点机处理接收的图数据、处理结果的汇总。单节点的核外系统则是利用单个节点机的外部存储来存放大规模的图数据,然后依次载入部分图数据到内存中进行处理。
分布式图处理平台随着问题规模的扩大有很好的扩展性,但是系统处理效率难以提高。首先,图的划分,在提高系统性能的同时保证节点间负载均衡,是一个多项式复杂程度的非确定性NP-hard问题。其次,节点间协同工作和容错需求,制约了系统的性能。最后,环境搭建和程序编写比较复杂,而且程序的调优和优化相对困难。
近几年,单机核外图处理系统有了许多新的成果——GraphChi、X-Stream、TurboGraph、MMap、VENUS、GridGraph。这些成果极大地降低了大图计算的开销,同时能够达到甚至超过部分分布式图处理平台的处理时延。由此证明的单机核外图处理系统处理大规模图数据的可行性,使得加快单机核外图处理系统中相关算法的求解拥有广泛的需求。
由于不同的算法有不同的访问存储特点,现有的单机核外图处理系统对于不同的算法并不一定都有最优的性能。对于GraphChi、X-Stream和GridGraph的执行模型,PageRank算法能够最大化利用磁盘带宽,因为每次迭代都需要遍历所有的图数据,而对于BFS算法,则浪费了磁盘带宽,因为每次迭代中不是所有顶点都需要参与计算,部分读取的数据无用。然而,对于MMap,PageRank算法带来的随机性访问限制了算法性能,而对于BFS算法,随机性访问减少了无用数据的读取,加速了算法的执行。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种适用于核外图处理系统的异步IO执行方法及系统,由此解决现有基于磁盘的大规模图数据中相关算法求解效率较低的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种适用于核外图处理系统的异步IO执行方法,包括:
(1)判断系统的任务队列是否为空,如果是,则执行步骤(8),否则执行步骤(2);
(2)获取所述系统的任务队列中的目标任务,并判断所述目标任务所需数据是否都能直接访问,如果是,则执行步骤(7),否则执行步骤(3);
(3)对所述目标任务所需的不能直接访问的数据生成读取请求,将所述读取请求加入异步IO库的请求队列,并将所述目标任务加入所述异步IO库的任务队列;
(4)判断所述异步IO库的请求队列中的读取请求数是否大于预设阈值,如果是,则执行步骤(5),否则执行步骤(1);
(5)按照各读取请求的文件偏移量和所需数据的字节数将所述异步IO库的请求队列中的读取请求加以排序合并;
(6)响应排序合并后的读取请求,以获取排序合并后的各读取请求对应任务所需的数据;
(7)执行所述目标任务或者执行所述异步IO库的任务队列的任务,然后执行步骤(1);
(8)判断所述异步IO库的请求队列是否为空,如果是,则执行步骤(9),否则执行步骤(5);
(9)等待所述异步IO库中的所有任务执行完成,流程结束。
优选地,步骤(2)具体包括:
(2.1)从所述系统的任务队列中获取目标任务;
(3.2)判断所述目标任务所需数据是否都能直接从所述异步IO库中获取,如果是,则执行步骤(7),否则执行步骤(3)。
优选地,步骤(5)具体包括:
(5.1)根据所述异步IO库的请求队列中各读取请求的文件偏移量offset和所需数据的字节数size,对所述异步IO库的请求队列中的各读取请求以预设排序规则加以排序,其中,所述预设排序规则为首先以offset升序排序,其次在offset相同时以size升序排序;
(5.2)对排序后的所述异步IO库的请求队列中的各读取请求以预设合并规则加以合并。
优选地,步骤(5.2)具体包括:
对于排序后的所述异步IO库的请求队列中的任意两个读取请求A和B,若读取请求A的文件偏移量和所需数据的字节数分别为offset1和size1,读取请求B的文件偏移量和所需数据的字节数分别为offset2,size2,且offset1<=offset2,则在offset1+size1>=offset2且offset1+size1<offset2+size2时,合并A和B为新的读取请求C,且C的文件偏移量和所需数据的字节数分别为offset1和offset2-offset1+size2,在offset1+size1>=offset2且offset1+size1>=offset2+size2时,去除读取请求B,在offset1+size1<offset2时,不进行合并操作。
优选地,在步骤(7)中,在由步骤(2)跳转而来时,执行所述目标任务;在由步骤(6)跳转而来时,执行所述异步IO库的任务队列中的任务。
按照本发明的另一方面,提供了一种适用于核外图处理系统的异步IO执行系统,包括第一任务队列模块、判断模块和异步IO库,所述异步IO库包括任务执行模块、第二任务队列模块、核心模块、请求队列模块以及存储模块:
所述判断模块,用于判断所述第一任务队列模块中的系统任务队列是否为空;
所述核心模块,用于在所述第一任务队列模块中的系统任务队列不为空时,获取所述系统任务队列中的目标任务,并判断所述目标任务所需数据是否都能直接访问;
所述核心模块,还用于在所述目标任务所需数据不是都能直接访问时,对所述目标任务所需的不能直接访问的数据生成读取请求,将所述读取请求加入所述请求队列模块,并将所述目标任务加入所述第二任务队列模块;
所述核心模块,还用于判断所述请求队列模块中的读取请求数是否大于预设阈值,在所述请求队列模块中的读取请求数小于等于所述预设阈值时,返回执行所述判断模块;
所述请求队列模块,用于在所述请求队列模块中的读取请求数大于所述预设阈值时,按照各读取请求的文件偏移量和所需数据的字节数将所述异步IO库的请求队列中的读取请求加以排序合并;
所述存储模块,用于响应排序合并后的读取请求,以获取排序合并后的各读取请求对应任务所需的数据;
所述任务执行模块,用于执行所述目标任务或者执行所述第二任务队列模块中的任务,然后返回执行所述判断模块;
所述核心模块,还用于在所述第一任务队列模块中的系统任务队列为空时,判断所述请求队列模块是否为空,并在所述请求队列为空时,等待所述异步IO库中的所有任务执行完成,在所述请求队列不为空时,返回执行所述请求队列模块。
优选地,所述核心模块,用于在所述第一任务队列模块中的系统任务队列不为空时,从所述系统任务队列中获取目标任务,并访问所述存储模块中的数据,以判断所述目标任务所需数据是否都能直接访问。
优选地,所述请求队列模块包括:
排序模块,用于在所述请求队列模块中的读取请求数大于所述预设阈值时,根据所述请求队列模块中各读取请求的文件偏移量offset和所需数据的字节数size,对所述请求队列模块中的各读取请求以预设排序规则加以排序,其中,所述预设排序规则为首先以offset升序排序,其次在offset相同时以size升序排序;
合并模块,用于对排序后的所述异步IO库的请求队列中的各读取请求以预设合并规则加以合并。
优选地,所述合并模块,用于对于排序后的所述请求队列模块中的任意两个读取请求A和B,若读取请求A的文件偏移量和所需数据的字节数分别为offset1和size1,读取请求B的文件偏移量和所需数据的字节数分别为offset2,size2,且offset1<=offset2,则在offset1+size1>=offset2且offset1+size1<offset2+size2时,合并A和B为新的读取请求C,且C的文件偏移量和所需数据的字节数分别为offset1和offset2-offset1+size2,在offset1+size1>=offset2且offset1+size1>=offset2+size2时,去除读取请求B,在offset1+size1<offset2时,不进行合并操作。
优选地,所述任务执行模块,用于在所述目标任务所需数据都能直接访问时,执行所述目标任务;或者,在所述存储模块响应排序合并后的读取请求,以获取排序合并后的各读取请求对应任务所需的数据后,执行所述第二任务队列模块中的任务,然后返回执行所述判断模块。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)区别于现有的单机核外图处理系统的同步IO方式,重叠了处理开销和IO开销,加快了算法的执行速度;
(2)在执行层对读取请求进行了排序合并,尽可能发挥了存储介质的最大IO处理性能,从而提高了算法性能。
附图说明
图1为本发明实施例公开的一种适用于核外图处理系统的异步IO执行方法的流程示意图;
图2为本发明实施例公开的一种初始化后的结果示意图;
图3为本发明实施例公开的一种对请求队列中的读取请求加以排序合并后的结果示意图,其中,图3(a)表示排序合并前的请求队列,图3(b)表示排序合并后的请求队列;
图4为本发明实施例公开的一种适用于核外图处理系统的异步IO执行系统的总体框架图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种适用于核外图处理系统的异步IO执行方法及系统,目的在于设计一种基于磁盘的异步IO库,旨在加速基于磁盘的大规模图数据中相关算法求解。
如图1所示为本发明实施例公开的一种适用于核外图处理系统的异步IO执行方法的流程示意图,在图1所示的方法中包括:
(1)判断系统的任务队列是否为空,如果是,则执行步骤(8),否则执行步骤(2);
其中,在步骤(1)之前还包括初始化操作,用于初始化系统的任务队列,以及异步IO库的任务队列、请求队列。
(2)获取系统的任务队列中的目标任务,并判断目标任务所需数据是否都能直接访问,如果是,则执行步骤(7),否则执行步骤(3);
在一个可选的实施方式中,步骤(2)具体包括:
(2.1)从系统的任务队列中获取目标任务;
(3.2)判断目标任务所需数据是否都能直接从异步IO库中获取,如果是,则执行步骤(7),否则执行步骤(3)。
(3)对目标任务所需的不能直接访问的数据生成读取请求,将读取请求加入异步IO库的请求队列,并将目标任务加入异步IO库的任务队列;
(4)判断异步IO库的请求队列中的读取请求数是否大于预设阈值,如果是,则执行步骤(5),否则执行步骤(1);
其中,预设阈值可以根据实际需要进行确定。
(5)按照各读取请求的文件偏移量和所需数据的字节数将异步IO库的请求队列中的读取请求加以排序合并;
在一个可选的实施方式中,步骤(5)具体包括:
(5.1)根据异步IO库的请求队列中各读取请求的文件偏移量offset和所需数据的字节数size,对异步IO库的请求队列中的各读取请求以预设排序规则加以排序,其中,预设排序规则为首先以offset升序排序,其次在offset相同时以size升序排序;
(5.2)对排序后的异步IO库的请求队列中的各读取请求以预设合并规则加以合并。
在一个可选的实施方式中,步骤(5.2)具体包括:
对于排序后的异步IO库的请求队列中的任意两个读取请求A和B,若读取请求A的文件偏移量和所需数据的字节数分别为offset1和size1,读取请求B的文件偏移量和所需数据的字节数分别为offset2,size2,且offset1<=offset2,则在offset1+size1>=offset2且offset1+size1<offset2+size2时,合并A和B为新的读取请求C,且C的文件偏移量和所需数据的字节数分别为offset1和offset2-offset1+size2,在offset1+size1>=offset2且offset1+size1>=offset2+size2时,去除读取请求B,在offset1+size1<offset2时,不进行合并操作。
(6)响应排序合并后的读取请求,以获取排序合并后的各读取请求对应任务所需的数据;
(7)执行所述目标任务或者执行所述异步IO库的任务队列的任务,然后执行步骤(1);
其中,在步骤(7)中,在由步骤(2)跳转而来时,执行目标任务;在由步骤(6)跳转而来时,执行异步IO库的任务队列中的任务。
(8)判断所述异步IO库的请求队列是否为空,如果是,则执行步骤(9),否则执行步骤(5);
(9)等待所述异步IO库中的所有任务执行完成,流程结束。
图2为本发明实施例公开的一种初始化后的结果示意图,在图2中,对于任务队列,图中用顶点Id表示对应任务编号;对于请求队列,图中上下两个方格代表一个读取请求,分别为文件偏移量offset和所需数据的字节数size。
图3为本发明实施例公开的一种对请求队列中的读取请求加以排序合并后的结果示意图,假定请求队列的读取请求数阈值为6,图3(a)为排序合并前的请求队列,图3(b)为排序合并后的请求队列。图3(a)中的前6个方格依次对应图3中任务队列的前6个任务(实际运行过程中,并不一定按顺序对应),图3(a)中第一个请求的offset等于第三个请求的offset加上对应的size,所以第一个请求和第三个请求可以合并为一个请求即图3(b)中第一个请求,同理第四个请求和第六个请求也可以合并为一个请求即图3(b)中第二个请求。
如图4所示为本发明实施例公开的一种适用于核外图处理系统的异步IO执行系统的总体框架图,异步IO库包括:核心模块、请求队列模块、存储模块、任务队列模块、任务执行模块。核心模块统筹协调各个模块,存储模块判断任务所需数据是否能直接访问,如果能则将异步IO库中的任务直接提交给任务执行模块执行,否则生成对应的读取请求并加入到请求队列,同时将任务加入到任务队列模块;请求队列模块在读取请求数超过阈值时,对请求队列中的读取请求进行排序合并,并提交给存储模块;存储模块响应读取请求;任务队列模块存储所需数据不能直接访问的任务;任务执行模块执行任务。
具体地,本发明提供了一种适用于核外图处理系统的异步IO执行系统,包括第一任务队列模块、判断模块和异步IO库,所述异步IO库包括任务执行模块、第二任务队列模块、核心模块、请求队列模块以及存储模块:
判断模块,用于判断第一任务队列模块中的系统任务队列是否为空;
核心模块,用于在第一任务队列模块中的系统任务队列不为空时,获取系统任务队列中的目标任务,并判断目标任务所需数据是否都能直接访问;
核心模块,还用于在目标任务所需数据不是都能直接访问时,对目标任务所需的不能直接访问的数据生成读取请求,将读取请求加入请求队列模块,并将目标任务加入第二任务队列模块;
核心模块,还用于判断请求队列模块中的读取请求数是否大于预设阈值,在请求队列模块中的读取请求数小于等于预设阈值时,返回执行判断模块;
请求队列模块,用于在请求队列模块中的读取请求数大于预设阈值时,按照各读取请求的文件偏移量和所需数据的字节数将所述异步IO库的请求队列中的读取请求加以排序合并;
存储模块,用于响应排序合并后的读取请求,以获取排序合并后的各读取请求对应任务所需的数据;
任务执行模块,用于执行目标任务或者执行第二任务队列模块中的任务,然后返回执行判断模块;
核心模块,还用于在第一任务队列模块中的系统任务队列为空时,判断请求队列模块是否为空,并在请求队列为空时,等待异步IO库中的所有任务执行完成,在请求队列不为空时,返回执行请求队列模块。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种适用于核外图处理系统的异步IO执行方法,其特征在于,包括:
(1)判断系统的任务队列是否为空,如果是,则执行步骤(8),否则执行步骤(2);
(2)获取所述系统的任务队列中的目标任务,并判断所述目标任务所需数据是否都能直接访问,如果是,则执行步骤(7),否则执行步骤(3);
(3)对所述目标任务所需的不能直接访问的数据生成读取请求,将所述读取请求加入异步IO库的请求队列,并将所述目标任务加入所述异步IO库的任务队列;
(4)判断所述异步IO库的请求队列中的读取请求数是否大于预设阈值,如果是,则执行步骤(5),否则执行步骤(1);
(5)按照各读取请求的文件偏移量和所需数据的字节数将所述异步IO库的请求队列中的读取请求加以排序合并;
(6)响应排序合并后的读取请求,以获取排序合并后的各读取请求对应任务所需的数据;
(7)执行所述目标任务或者执行所述异步IO库的任务队列的任务,然后执行步骤(1);
(8)判断所述异步IO库的请求队列是否为空,如果是,则执行步骤(9),否则执行步骤(5);
(9)等待所述异步IO库中的所有任务执行完成,流程结束。
2.根据权利要求1所述的方法,其特征在于,步骤(2)具体包括:
(2.1)从所述系统的任务队列中获取目标任务;
(3.2)判断所述目标任务所需数据是否都能直接从所述异步IO库中获取,如果是,则执行步骤(7),否则执行步骤(3)。
3.根据权利要求1所述的方法,其特征在于,步骤(5)具体包括:
(5.1)根据所述异步IO库的请求队列中各读取请求的文件偏移量offset和所需数据的字节数size,对所述异步IO库的请求队列中的各读取请求以预设排序规则加以排序,其中,所述预设排序规则为首先以offset升序排序,其次在offset相同时以size升序排序;
(5.2)对排序后的所述异步IO库的请求队列中的各读取请求以预设合并规则加以合并。
4.根据权利要求3所述的方法,其特征在于,步骤(5.2)具体包括:
对于排序后的所述异步IO库的请求队列中的任意两个读取请求A和B,若读取请求A的文件偏移量和所需数据的字节数分别为offset1和size1,读取请求B的文件偏移量和所需数据的字节数分别为offset2,size2,且offset1≤offset2,则在offset1+size1≥offset2且offset1+size1<offset2+size2时,合并A和B为新的读取请求C,且C的文件偏移量和所需数据的字节数分别为offset1和offset2-offset1+size2,在offset1+size1≥offset2且offset1+size1≥offset2+size2时,去除读取请求B,在offset1+size1<offset2时,不进行合并操作。
5.根据权利要求1至4任意一项所述的方法,其特征在于,在步骤(7)中,在由步骤(2)跳转而来时,执行所述目标任务;在由步骤(6)跳转而来时,执行所述异步IO库的任务队列中的任务。
6.一种适用于核外图处理系统的异步IO执行系统,其特征在于,包括第一任务队列模块、判断模块和异步IO库,所述异步IO库包括任务执行模块、第二任务队列模块、核心模块、请求队列模块以及存储模块:
所述判断模块,用于判断所述第一任务队列模块中的系统任务队列是否为空;
所述核心模块,用于在所述第一任务队列模块中的系统任务队列不为空时,获取所述系统任务队列中的目标任务,并判断所述目标任务所需数据是否都能直接访问;
所述核心模块,还用于在所述目标任务所需数据不是都能直接访问时,对所述目标任务所需的不能直接访问的数据生成读取请求,将所述读取请求加入所述请求队列模块,并将所述目标任务加入所述第二任务队列模块;
所述核心模块,还用于判断所述请求队列模块中的读取请求数是否大于预设阈值,在所述请求队列模块中的读取请求数小于等于所述预设阈值时,返回执行所述判断模块;
所述请求队列模块,用于在所述请求队列模块中的读取请求数大于所述预设阈值时,按照各读取请求的文件偏移量和所需数据的字节数将所述异步IO库的请求队列中的读取请求加以排序合并;
所述存储模块,用于响应排序合并后的读取请求,以获取排序合并后的各读取请求对应任务所需的数据;
所述任务执行模块,用于执行所述目标任务或者执行所述第二任务队列模块中的任务,然后返回执行所述判断模块;
所述核心模块,还用于在所述第一任务队列模块中的系统任务队列为空时,判断所述请求队列模块是否为空,并在所述请求队列为空时,等待所述异步IO库中的所有任务执行完成,在所述请求队列不为空时,返回执行所述请求队列模块。
7.根据权利要求6所述的系统,其特征在于,所述核心模块,用于在所述第一任务队列模块中的系统任务队列不为空时,从所述系统任务队列中获取目标任务,并访问所述存储模块中的数据,以判断所述目标任务所需数据是否都能直接访问。
8.根据权利要求6所述的系统,其特征在于,所述请求队列模块包括:
排序模块,用于在所述请求队列模块中的读取请求数大于所述预设阈值时,根据所述请求队列模块中各读取请求的文件偏移量offset和所需数据的字节数size,对所述请求队列模块中的各读取请求以预设排序规则加以排序,其中,所述预设排序规则为首先以offset升序排序,其次在offset相同时以size升序排序;
合并模块,用于对排序后的所述异步IO库的请求队列中的各读取请求以预设合并规则加以合并。
9.根据权利要求8所述的系统,其特征在于,所述合并模块,用于对于排序后的所述请求队列模块中的任意两个读取请求A和B,若读取请求A的文件偏移量和所需数据的字节数分别为offset1和size1,读取请求B的文件偏移量和所需数据的字节数分别为offset2,size2,且offset1≤offset2,则在offset1+size1≥offset2且offset1+size1<offset2+size2时,合并A和B为新的读取请求C,且C的文件偏移量和所需数据的字节数分别为offset1和offset2-offset1+size2,在offset1+size1≥offset2且offset1+size1≥offset2+size2时,去除读取请求B,在offset1+size1<offset2时,不进行合并操作。
10.根据权利要求6至9任意一项所述的系统,其特征在于,所述任务执行模块,用于在所述目标任务所需数据都能直接访问时,执行所述目标任务;或者,在所述存储模块响应排序合并后的读取请求,以获取排序合并后的各读取请求对应任务所需的数据后,执行所述第二任务队列模块中的任务,然后返回执行所述判断模块。
CN201711115579.6A 2017-11-13 2017-11-13 一种适用于核外图处理系统的异步io执行方法及系统 Active CN107992358B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711115579.6A CN107992358B (zh) 2017-11-13 2017-11-13 一种适用于核外图处理系统的异步io执行方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711115579.6A CN107992358B (zh) 2017-11-13 2017-11-13 一种适用于核外图处理系统的异步io执行方法及系统

Publications (2)

Publication Number Publication Date
CN107992358A CN107992358A (zh) 2018-05-04
CN107992358B true CN107992358B (zh) 2020-05-19

Family

ID=62031470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711115579.6A Active CN107992358B (zh) 2017-11-13 2017-11-13 一种适用于核外图处理系统的异步io执行方法及系统

Country Status (1)

Country Link
CN (1) CN107992358B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110896415B (zh) * 2019-11-22 2022-05-24 浪潮电子信息产业股份有限公司 一种数据readdir方法、系统、设备及计算机介质
CN111541555A (zh) * 2020-03-24 2020-08-14 中国平安人寿保险股份有限公司 群聊优化方法及相关产品
CN113487026B (zh) * 2021-07-05 2024-05-03 江苏号百科技有限公司 一种图计算中io节点高效读取数据的方法及系统
CN116737398B (zh) * 2023-08-16 2023-11-17 北京卡普拉科技有限公司 一种异步io请求的调度与处理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530871A (en) * 1993-09-29 1996-06-25 Nec Corporation Asynchronous input and output control system
CN102831014A (zh) * 2012-07-30 2012-12-19 华中科技大学 一种利用多请求队列提升io并行性和减少小io延迟的方法
CN104778077A (zh) * 2015-04-27 2015-07-15 华中科技大学 基于随机和连续磁盘访问的高速核外图处理方法及系统
CN107193899A (zh) * 2017-05-10 2017-09-22 华中科技大学 一种图算法友善的强连通图划分方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530871A (en) * 1993-09-29 1996-06-25 Nec Corporation Asynchronous input and output control system
CN102831014A (zh) * 2012-07-30 2012-12-19 华中科技大学 一种利用多请求队列提升io并行性和减少小io延迟的方法
CN104778077A (zh) * 2015-04-27 2015-07-15 华中科技大学 基于随机和连续磁盘访问的高速核外图处理方法及系统
CN107193899A (zh) * 2017-05-10 2017-09-22 华中科技大学 一种图算法友善的强连通图划分方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高速核外图处理系统的设计与实现;何剑;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170531;全文 *

Also Published As

Publication number Publication date
CN107992358A (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
CN107992358B (zh) 一种适用于核外图处理系统的异步io执行方法及系统
KR101400286B1 (ko) 다중 프로세서 시스템에서 작업을 이동시키는 방법 및 장치
US20130227194A1 (en) Active non-volatile memory post-processing
CN105653204A (zh) 一种基于磁盘的分布式图计算方法
CN105022670A (zh) 一种云计算平台中的异构分布式任务处理系统及其处理方法
CN111104224B (zh) 一种基于fpga的动态图处理方法
CN110659278A (zh) 基于cpu-gpu异构架构的图数据分布式处理系统
CN111752691B (zh) Ai计算图的排序方法、装置、设备及存储介质
Wang et al. Data placement and task scheduling optimization for data intensive scientific workflow in multiple data centers environment
CN115150471A (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN111176831A (zh) 基于多线程共享内存通信的动态线程映射优化方法及装置
He et al. Real-time scheduling in mapreduce clusters
CN114444715A (zh) 图数据处理方法、装置、系统、电子设备及可读存储介质
Yang et al. GPU acceleration of subgraph isomorphism search in large scale graph
CN111858656A (zh) 一种基于分布式架构的静态数据的查询方法和设备
Lin et al. Performance analysis of MapReduce program in heterogeneous cloud computing
Yang et al. Study on static task scheduling based on heterogeneous multi-core processor
Tang et al. A network load perception based task scheduler for parallel distributed data processing systems
Jiang et al. An optimized resource scheduling strategy for Hadoop speculative execution based on non-cooperative game schemes
Tang et al. IncGraph: An improved distributed incremental graph computing model and framework based on spark graphX
CN114547206A (zh) 一种数据同步方法和数据同步系统
Zhang et al. Repeatable multi-dimensional virtual network embedding in cloud service platform
CN115827170B (zh) 基于离散事件的计算机体系结构的并行仿真方法及装置
García et al. Development of a spatial domain decomposition scheme for Monte Carlo neutron transport
Li et al. The distributed storage system based on MPP for mass data

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