CN103970604A - 基于MapReduce架构实现图处理的方法和装置 - Google Patents

基于MapReduce架构实现图处理的方法和装置 Download PDF

Info

Publication number
CN103970604A
CN103970604A CN201310043220.8A CN201310043220A CN103970604A CN 103970604 A CN103970604 A CN 103970604A CN 201310043220 A CN201310043220 A CN 201310043220A CN 103970604 A CN103970604 A CN 103970604A
Authority
CN
China
Prior art keywords
task
processing operation
execution time
degrees
mapreduce
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
CN201310043220.8A
Other languages
English (en)
Other versions
CN103970604B (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310043220.8A priority Critical patent/CN103970604B/zh
Priority to US14/168,459 priority patent/US9558045B2/en
Publication of CN103970604A publication Critical patent/CN103970604A/zh
Priority to US15/383,742 priority patent/US9870270B2/en
Application granted granted Critical
Publication of CN103970604B publication Critical patent/CN103970604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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

Landscapes

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

Abstract

本发明公开了一种基于MapReduce架构实现图处理的方法和装置,该方法包括:接收图处理作业的输入文件;利用获取的MapReduce任务的度数与执行时间的关系分布和所述图处理作业的度数分布预测所述图处理作业的MapReduce任务执行时间分布;根据预测的所述图处理作业的MapReduce任务执行时间分布将所述图处理作业的输入文件切分为MapReduce任务的输入数据分片。本发明实施例的方法能够实现均衡Map任务和Reduce任务的计算负载,从而高效地完成图处理作业。

Description

基于MapReduce架构实现图处理的方法和装置
技术领域
本发明涉及图处理,更具体地,涉及一种基于MapReduce架构实现图处理的方法和装置。
背景技术
MapReduce是Google公司提出的一种用于大规模并行编程的软件架构。用于大规模数据集(大于1TB)上的并行运算。概念“Map(映射)”和“Reduce(化简)”及其主要思想,都是从函数式编程语言借来的。当前的MapReduce中间件实现要求应用开发者指定一个Map(映射)函数,用来把一组键值对映射成一些新的键值对(key-value pair),称作中间键值对;此外还要求应用开发者指定一个Reduce(化简)函数,用来对Map函数输出的中间键值对进行进一步处理。MapReduce架构多用于大规模数据集(大于1TB)的并行运算,并通过把对数据集的大规模操作分发给网络上的多个节点进行并行运算来实现伸缩性。在web访问日志分析、文档聚类、机器学习、数据统计、基于统计的机器翻译等领域有广泛的应用。例如,Hadoop就是一种MapReduce的实现。越来越多的云计算服务商在云计算系统中部署了MapReduce架构。
图处理是大规模数据处理问题中的一类重要问题。在社交化网络中对各种实体关系的分析和数据挖掘中,以及各种优化求解问题中,就涉及到大量的图处理算法。图处理算法的MapReduce实现通常由多个迭代构成,而每个迭代则由多级Map任务和Reduce任务组成。图处理算法一般需要经过多次迭代,最后收敛形成一个稳定的解。
在现有的图处理问题中,输入数据集的规模非常大,难以在单个节点上完成运算。因此在基于MapReduce图算法的实现中,需要将由多个节点组成的大图分割为多个子图。基于图中节点和边分布的不均衡性,每个子图的基于Map任务或者Reduce任务的计算负载也是不均衡的,其根本原因是其计算复杂度和所用数据结构(例如邻接表)的存储复杂度成线性关系。通常的划分标准是按固定的数据大小对输入的图处理作业的数据集进行切分。因此,在当前的图算法的MapReduce实现中,常常会出现“长尾”现象,某些子计算任务(Map任务或者Reduce任务)的运行时间特别长,而其它已经完成的子任务必须等待所有的子任务完成才能进行下一个迭代的运算。造成这种现象的本质是因为图处理算法的计算复杂度和数据长度不一定成线性关系,例如是O(n2),O(n3)的关系。
因此需要一种均衡Map任务和Reduce任务的计算负载的图处理的方法。
发明内容
为解决以上问题,本发明提供了基于MapReduce架构实现图处理的方法和装置。
根据本发明的一个方面,提供了基于MapReduce架构实现图处理的方法,包括:接收提交的图处理作业的数据集;利用获取的MapReduce任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的MapReduce任务执行时间分布;根据预测的MapReduce任务执行时间分布将图处理作业的数据集切分为MapReduce任务的输入数据分片。
根据本发明的另一个方面,提供了基于MapReduce架构实现图处理的装置,包括:接收模块,被配置为接收提交的图处理作业的数据集;预测模块,被配置为利用获取的MapReduce任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的MapReduce任务执行时间分布;切分模块,被配置为根据预测的MapReduce任务执行时间分布将图处理作业的数据集切分为MapReduce任务的输入数据分片。
根据本发明实施例的基于MapReduce实现图处理的方法和装置,能够实现均衡Map任务和Reduce任务的计算负载,从而高效地完成图处理作业。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2示出了现有的MapReduce架构的示意图。
图3示出根据本发明的实施例基于MapReduce架构实现图处理的方法。
图4示出根据执行时间分布将图处理作业的输入文件切分为MapReduce任务的输入数据分片的流程。
图5示出本发明基于MapReduce架构实现图处理作业的一个实施例。
图6示出根据本发明实施例的图处理作业的输入文件中的键值对。
图7示出根据本发明的实施例为每个节点的键值对生成新键值对的示例。
图8示出根据本发明的实施例对新键值对重新排序后的示例。
图9示出根据本发明实施例的Reduce任务的执行时间和度数的关系分布曲线。
图10示出根据本发明实施例的图处理作业的度数分布曲线。
图11所示的根据本发明实施例的Reduce任务处理该图处理作业的执行时间分布预测。
图12示出根据本发明实施例的Map任务的执行时间和度数的关系分布曲线。
图13示出根据本发明实施例的Map任务处理该图处理作业的执行时间分布预测。
图14示出根据本发明的实施例基于MapReduce实现图处理的装置1400。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
图2示出了现有的MapReduce架构的示意图,其中,作业调度器(JobTracker)和多个任务服务器(Task Tracker)是该MapReduce架构中最基本的两个服务。通常,作业调度器部署在主节点上,接收用户所提交的作业,统一调度所有的作业,管理所有的任务服务器,将用户提交的每一个作业拆分成多个任务,包括Map任务和Reduce任务等,并负责将任务分配给相应的任务服务器。任务作为具体执行的基本单元,需要被分配到合适的任务服务器上执行。多个任务服务器轮询作业调度器,以获得任务。被分配执行Map任务的任务服务器是Map任务服务器,被分配执行Reduce任务的任务服务器是Reduce任务服务器。任务服务器一边执行一边向作业调度器汇报各个任务的状态,以此帮助作业调度器了解任务执行的整体情况。
具体地,输入文件被上传到在数据中心上部署的分布式文件系统,并根据分割规则而分成M个输入数据分片,每个片的大小一般在64MB到512MB范围内,具体可通过配置文件指定。执行任务所需的程序文件也被上传到分布式文件系统,包括任务配置文件(包括Map函数、合并函数、Reduce函数等)等。当作业调度器接收到来自客户端程序的任务请求后,将任务分解为多个任务,包括M个Map任务和R个Reduce任务,并负责将Map任务或Reduce任务分配给空闲的任务服务器。
然后,Map任务服务器根据所分配的任务,读取相应的输入数据分片,并从中分析出输入键值对(key-value pair)。接着,Map任务服务器调用Map函数map()以将输入键值对映射成中间键值对,Map函数所产生的中间键值对被缓存在内存中。缓存的中间键值对通过调用合并函数而对每个键值名(key)聚集该键值名的所有值,并通过调用分割函数而被分割成R片,然后被周期性地写入本地磁盘的R个区域中。当Map任务完成后,Map任务服务器向作业调度器通知任务完成以及中间键值对在本地磁盘上的位置信息。
当Reduce任务服务器从作业调度器获得Reduce任务后,根据位置信息从一个或多个Map任务服务器的本地磁盘上读取中间键值对,然后根据键值名对中间键值对进行排序,将相同键值名的值聚合在一起。Reduce任务服务器调用Reduce函数reduce(),对这些中间键值对进行化简,并将Reduce函数的输出添加到该Reduce任务服务器的最终输出文件中。
根据本发明实施例的基于MapReduce实现图处理的方法,改变了现有的MapReduce架构中将输入文件分为固定大小的输入数据分片的分割规则,根据预测的图处理作业的执行时间分布将图处理作业的输入文件切分为任务的输入数据分片。
图3示出根据本发明的实施例基于MapReduce架构实现图处理的方法,该方法包括:在步骤S301,接收图处理作业的输入文件;在步骤S302,利用获取的MapReduce任务的度数与执行时间的关系分布和所述图处理作业的度数分布预测所述图处理作业的MapReduce任务执行时间分布;在步骤S303,根据预测的所述图处理作业的MapReduce执行时间分布将所述图处理作业的输入文件切分为MapReduce任务的输入数据分片。
在步骤S301,接收图处理作业的输入文件,图处理作业的输入文件包括图处理作业的多个节点以及多个节点的相邻节点的信息,其中每个节点由唯一的标识ID进行标识,图处理作业的输入文件是以对应于每个节点的键值对(key-value pair)进行组织的数据集,每一个键值对由键值名(key)和对应于该键值名的值(value)组成,其中键值名(key)为该键值对的唯一标识ID。
在步骤S302,利用获取的MapReduce任务的度数与执行时间的关系和所述图处理作业的度数分布预测所述图处理作业的MapReduce任务执行时间分布,其中MapReduce任务的度数与执行时间的关系分布表征Map任务或Reduce任务在执行不同度数的节点的执行时间,该分布的横坐标是度数,在此度数(degree)表示与某个节点相邻的节点的个数,纵坐标是任务的执行时间。根据本发明的一个实施例,任务的度数和执行时间的关系分布可以从该任务处理的历史记录中获取,根据本发明的另一个实施例,任务的度数和执行时间的关系分布可以从该任务的算法复杂度中获取。获取的任务的度数和执行时间的关系分布预先存储在数据字典中。图处理作业的度数分布可以从该图处理作业的历史记录中获取,对于首次处理的图处理作业,通过对图处理作业进行预处理获得图处理作业的度数分布,并将图处理作业的度数分布存储在数据字典中,在预测图处理作业中节点的执行时间分布时,从数据字典中获取任务的度数与执行时间的关系和图处理作业的度数分布。
在步骤S303,根据预测的所述图处理作业的MapReduce执行时间分布将所述图处理作业的输入文件切分为MapReduce任务的输入数据分片,图4示出根据执行时间分布将图处理作业的输入文件切分为MapReduce任务的输入数据分片的流程,在步骤S401,检测图处理作业的输入文件中对应于节点的键值对是否以该节点的度数进行构造,例如可以在输入文件的数据集中添加标签表明对应于节点的键值对是以该节点的度数进行构造的;响应于检测结果为是,则在步骤S402,按照度数对图处理作业的输入文件中的节点的键值对排序;在步骤S403,根据预测的执行时间分布将排序的节点的键值对切分为任务的输入数据分片;响应于检测结果为否,则在步骤S404,需要对图处理作业的输入文件进行预处理,用节点的度数构造图处理作业中对应于节点的键值对,具体地,用节点的度数构造图处理作业中对应于节点的键值对的键值名;然后再进行步骤S402和S403的处理,流程结束。
根据本发明的一个实施例,其中MapReduce任务的度数与执行时间的关系分布是Map任务的度数与执行时间的关系分布,利用Map任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的Map任务执行时间分布,根据预测的Map任务执行时间分布将排序的节点的键值对平均切分为输入数据分片,由作业调度器(Job tracker)将切分好的输入数据分片指派给Map任务服务器执行。
根据本发明的一个实施例,其中MapReduce任务的度数与执行时间的关系分布是Reduce任务的度数与执行时间的关系分布,利用Reduce任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的Reduce任务执行时间分布,根据预测的Reduce任务执行时间分布将排序的节点的键值对平均切分为输入数据分片并输入到Reduce任务的分区器(partitioner);由分区器向Reduce任务分配输入数据分片;由作业调度器将输入数据分片指派给Reduce任务服务器执行。
图5示出本发明基于MapReduce架构实现图处理作业的一个实施例,该图处理作业包括6个节点,输入的图处理作业的输入文件包括对应于每个节点的键值对(key-value pair),图6示出根据本发明实施例的图处理作业的输入文件中的键值对,其中key为每个节点的标识ID,value为该图节点的相邻节点的标识ID。
第一步,Map任务服务器检测图处理作业的输入文件中对应于每个节点的键值对是否以该节点的度数进行构造,具体地,检测键值对的键值名是否以该节点的度数进行构造,例如,可以通过检测图处理作业的输入文件中是否添加标签来表示,如果检测到对应于每个节点的键值对未以该节点的度数进行构造,则为每个节点的键值对生成新键值名,新键值名的格式为“相邻节点个数_原始键值名”,图7示出根据本发明的实施例为每个节点的键值对生成新键值对的示例。
第二步,依赖MapReduce架构自身的分布式排序机制对新键值对进行排序,根据本发明的实施例,可以按照当前节点的度数对新键值对进行排序,图8示出根据本发明的实施例对新键值对重新排序后的示例。
第三步,任务服务器根据从数据库中获得的Reduce执行时间和度数的关系分布曲线(Reduce predictive equation)和图处理作业的度数分布曲线(degree distribution)来做负载均衡的分区(partition),图9示出根据本发明实施例的Reduce任务的执行时间和度数的关系分布曲线,我们假设从之前的任务中得到Reduce任务的执行时间和度数是O(n2)的关系,并存储于数据字典中。图10示出根据本发明实施例的图处理作业的度数分布曲线,我们假设该图处理作业的度数分布由之前的任务获得,存放于数据字典中。
根据图9和图10,能够得到图11所示的根据本发明实施例的Reduce任务处理该图处理作业的执行时间分布预测。假设有两个Reduce任务,根据预测的执行时间分布,得知Reduce任务处理新键值对“4_3 1,2,4,5”的执行时间是16个时间单位,处理新键值对“3_1 2,3,5”的执行时间是9个时间单位,处理新键值对“3_2 1,3,5”的执行时间是9个时间单位,处理新键值对“3_51,2,3”的执行时间是9个时间单位,处理新键值对“2_4 3,6”的执行时间是4个时间单位,处理新键值对“1_6 4”的执行时间是1个时间单位,Reduce任务总共的执行时间是48个时间单位,对图6排序后的新键值对进行切分,得到Reduce任务的切分结果:将第一、二个新键值对“4_3 1,2,4,5”和“3_12,3,5”分配给Reduce 1处理,将第三、四、五、六个新键值对“3_2 1,3,5”、“3_5 1,2,3”、“2_4 3,6”和“1_6 4”分配给Reduce 2处理,以此达到Reduce任务负载均衡的目的。如果没有本发明实施例的机制,第一至第三个键值对都会分配给Reduce 1,从而造成负载不均衡,导致性能降低。
从第二个MapReduce任务开始,所有节点的键值对已经是按照度数排序,因此对于Map任务而言,按上述第三步同样的方法,根据Map任务的执行时间和度数关系分布曲线和图处理作业的度数分布曲线来预测Map任务处理该图处理作业的执行时间分布。图12示出根据本发明实施例的Map任务的执行时间和度数的关系分布曲线,这里假设Map算法是O(N3)的,图处理作业的度数分布曲线在处理过程中没有发生变化,如图9所示,根据图9和图12,能够得到图13所示的根据本发明实施例的Map任务处理该图处理作业的执行时间分布预测。假设有两个Map任务,分别为Map1和Map2,根据预测的执行时间分布,得知Map任务处理新键值对“4_31,2,4,5”的执行时间是64个时间单位,处理新键值对“3_1 2,3,5”的执行时间是27个时间单位,处理新键值对“3_2 1,3,5”的执行时间是27个时间单位,处理新键值对“3_5 1,2,3”的执行时间是27个时间单位,处理新键值对“2_43,6”的执行时间是8个时间单位,处理新键值对“1_6 4”的执行时间是1个时间单位,Map任务总共的执行时间是127个时间单位,对图6排序后的新键值对进行切分,得到Map任务的切分结果:将第一新键值对“4_3 1,2,4,5”分配给Map 1处理,将第二、三、四、五、六新键值对“3_1 2,3,5”“3_21,3,5”、“3_5 1,2,3”、“2_4 3,6”和“1_6 4”分配给Map 2处理,以此达到Map任务负载均衡的目的。
对于某些图迭代算法,当多轮迭代过程中图的拓扑结构发生了变化,则固定周期需要重新采集图处理作业的度数分布。由于每轮图处理作业的MapReduce任务处理都会由MapReduce的内置框架对基于度数的键排序,因此拓扑结构的变化不会影响切分的精度。
基于同一发明构思,本发明还提出一个基于MapReduce架构实现图处理的装置,图14示出根据本发明一个实施例的基于MapReduce架构实现图处理的装置1400,该装置包括:接收模块1401,被配置为接收提交的图处理作业的输入文件;预测模块1402,被配置为被配置为利用获取的MapReduce任务的度数与执行时间的关系分布和所述图处理作业的度数分布预测所述图处理作业的MapReduce任务执行时间分布;切分模块1403,被配置为根据预测的所述图处理作业的MapReduce任务执行时间分布将所述图处理作业的输入文件切分为MapReduce任务的输入数据分片。
根据本发明的实施例,其中切分模块包括:检测模块,被配置为检测图处理作业的输入文件中节点的键值对是否以该节点的度数进行构造;排序模块,被配置为响应于检测结果为是,则按照度数对图处理作业的输入文件中的节点的键值对排序;切分模块被配置为根据预测的任务执行时间分布将排序的键值对切分为任务的输入数据分片。
根据本发明的实施例,其中切分模块还包括:键值对构造模块,被配置为响应于检测结果为否,用节点的度数对图处理作业的输入文件中的节点的键值对进行构造,具体地,用节点的度数对图处理作业的输入文件中的节点的键值对的键值名进行构造;排序模块被配置为按照度数对构造后的键值对排序;切分模块被配置为根据预测的任务执行时间分布将排序的键值对切分为任务的输入数据分片。
根据本发明的实施例,其中任务的度数与执行时间的关系是Map任务的度数与执行时间的关系分布,预测模块被配置为利用Map任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的Map任务执行时间分布。
根据本发明的实施例,其中切分模块被配置为:根据预测的Map任务执行时间分布将排序的节点的键值对平均切分为Map任务的输入数据分片;由作业调度器将Map任务的输入数据分片指派给Map任务服务器执行。
根据本发明的实施例,其中任务的度数与执行时间的关系是Reduce任务的度数与执行时间的关系分布,预测模块被配置为利用Reduce任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的Reduce任务执行时间分布。
根据本发明的实施例,其中切分模块被配置为:根据预测的Reduce任务执行时间分布将排序的节点的键值对平均切分为Reduce任务的输入数据分片;将Reduce任务的输入数据分片输入到Reduce任务的分区器;由作业调度器将分区器输出的输入数据分片指派给Reduce任务服务器执行。
根据本发明的实施例,其中任务的度数与执行时间的关系是从该任务处理的历史记录中获取的,图处理作业的度数分布是从该图处理作业的历史记录中获取的。其中任务的度数与执行时间的关系是从该任务的算法复杂度中获取的。
其中各个模块的具体实现可以参照根据本发明的实施例的基于MapReduce架构实现图处理的方法,在此不一一赘述。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (20)

1.基于MapReduce架构实现图处理的方法,包括:
接收图处理作业的输入文件;
利用获取的MapReduce任务的度数与执行时间的关系分布和所述图处理作业的度数分布预测所述图处理作业的MapReduce任务执行时间分布;
根据预测的所述图处理作业的MapReduce任务执行时间分布将所述图处理作业的输入文件切分为MapReduce任务的输入数据分片。
2.根据权利要求1所述的方法,其中根据预测的所述图处理作业的MapReduce任务执行时间分布将图处理作业的输入文件切分为MapReduce任务的输入数据分片包括:
检测图处理作业的输入文件中的节点的键值对是否以该节点的度数进行构造;
响应于检测结果为是,则按照度数对所述节点的键值对排序;
根据预测的所述图处理作业的MapReduce任务执行时间分布将排序的节点的键值对切分为MapReduce任务的输入数据分片。
3.根据权利要求2所述的方法,其中根据预测的所述图处理作业的MapReduce任务执行时间分布将所述图处理作业的输入文件切分为输入数据分片包括:
响应于检测结果为否,用节点的度数对图处理作业的输入文件中的节点的键值对进行构造;
按照度数对构造后的键值对排序;
根据预测的所述图处理作业的MapReduce任务执行时间分布将排序的节点的键值对切分为MapReduce任务的输入数据分片。
4.根据权利要求3所述的方法,其中用节点的度数对图处理作业的输入文件中的节点的键值对进行构造包括:用节点的度数对图处理作业的输入文件中的节点的键值对的键值名进行构造。
5.根据权利要求2至4中任一项所述的方法,其中MapReduce任务的度数与执行时间的关系分布是Map任务的度数与执行时间的关系分布,利用获取的MapReduce任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的MapReduce任务执行时间分布包括利用Map任务的度数与执行时间的关系分布和图处理作业的度数分布预测所述图处理作业的Map任务执行时间分布。
6.根据权利要求5所述的方法,其中根据预测的所述图处理作业的MapReduce任务执行时间分布将排序的节点的键值对切分为MapReduce任务的输入数据分片包括:
根据预测的Map任务执行时间分布将排序的节点的键值对平均切分为Map任务的输入数据分片;
由作业调度器将Map任务的输入数据分片指派给Map任务服务器执行。
7.根据权利要求2至4中任一项所述的方法,其中MapReduce任务的度数与执行时间的关系分布是Reduce任务的度数与执行时间的关系分布,利用获取的MapReduce任务的度数与执行时间的关系分布和图处理作业的度数分布预测所述图处理作业的MapReduce任务执行时间分布包括利用Reduce任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的Reduce任务执行时间分布。
8.根据权利要求7所述的方法,其中根据预测的所述图处理作业的MapReduce任务执行时间分布将排序的节点的键值对切分为MapReduce任务的输入数据分片包括:
根据预测的Reduce任务执行时间分布将排序的节点的键值对平均切分为Reduce任务的输入数据分片;
将Reduce任务的输入数据分片输入到Reduce任务的分区器;
由作业调度器将分区器输出的输入数据分片指派给Reduce任务服务器执行。
9.根据权利要求1所述的方法,其中MapReduce任务的度数与执行时间的关系分布是从该MapReduce任务处理的历史记录中获取的,图处理作业的度数分布是从该图处理作业的历史记录中获取的。
10.根据权利要求1所述的方法,其中MapReduce任务的度数与执行时间的关系分布是从该MapReduce任务的算法复杂度分析中获取的。
11.基于MapReduce架构实现图处理的装置,包括:
接收模块,被配置为接收提交的图处理作业的输入文件;
预测模块,被配置为利用获取的MapReduce任务的度数与执行时间的关系分布和所述图处理作业的度数分布预测所述图处理作业的MapReduce任务执行时间分布;
切分模块,被配置为根据预测的所述图处理作业的MapReduce任务执行时间分布将所述图处理作业的输入文件切分为MapReduce任务的输入数据分片。
12.根据权利要求11所述的装置,其中切分模块包括:
检测模块,被配置为检测图处理作业的输入文件中的节点的键值对是否以该节点的度数进行构造;
排序模块,被配置为响应于检测结果为是,则按照度数对所述节点的键值对排序;
切分模块被配置为根据预测的所述图处理作业的MapReduce任务执行时间分布将排序的节点的键值对切分为MapReduce任务的输入数据分片。
13.根据权利要求12所述的装置,其中切分模块还包括:
键值对构造模块,被配置为响应于检测结果为否,用节点的度数对图处理作业的输入文件中的节点的键值对进行构造;
排序模块被配置为按照度数对构造后的键值对排序;
切分模块被配置为根据预测的所述图处理作业的MapReduce任务执行时间分布将排序的节点的键值对切分为MapReduce任务的输入数据分片。
14.根据权利要求13所述的装置,其中键值对构造模块进一步被配置为:被配置为响应于检测结果为否,用节点的度数对图处理作业的输入文件中的节点的键值对的键值名进行构造。
15.根据权利要求12至14中任一项所述的装置,其中MapReduce任务的度数与执行时间的关系分布是Map任务的度数与执行时间的关系分布,预测模块被配置为利用获取的Map任务的度数与执行时间的关系分布和图处理作业的度数分布预测所述图处理作业的Map任务执行时间分布。
16.根据权利要求14所述的装置,其中切分模块被配置为:
根据预测的Map任务执行时间分布将排序的节点的键值对平均切分为Map任务的输入数据分片;
由作业调度器将Map任务的输入数据分片指派给Map任务服务器执行。
17.根据权利要求11至13中任一项所述的装置,其中MapReduce任务的度数与执行时间的关系分布是Reduce任务的度数与执行时间的关系分布,预测模块被配置为利用Reduce任务的度数与执行时间的关系分布和图处理作业的度数分布预测图处理作业的Reduce任务执行时间分布。
18.根据权利要求17所述的装置,其中切分模块被配置为:
根据预测的Reduce任务执行时间分布将排序的节点的键值对平均切分为Reduce任务的输入数据分片;
将Reduce任务的输入数据分片输入到Reduce任务的分区器;
由作业调度器将分区器输出的输入数据分片指派给Reduce任务服务器执行。
19.根据权利要求11所述的装置,其中MapReduce任务的度数与执行时间的关系分布是从该MapReduce任务处理的历史记录中获取的,图处理作业的度数分布是从该图处理作业的历史记录中获取的。
20.根据权利要求11所述的装置,其中MapReduce任务的度数与执行时间的关系分布是从该MapReduce任务的算法复杂度分析中获取的。
CN201310043220.8A 2013-01-31 2013-01-31 基于MapReduce架构实现图处理的方法和装置 Active CN103970604B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310043220.8A CN103970604B (zh) 2013-01-31 2013-01-31 基于MapReduce架构实现图处理的方法和装置
US14/168,459 US9558045B2 (en) 2013-01-31 2014-01-30 Realizing graph processing based on the MapReduce architecture
US15/383,742 US9870270B2 (en) 2013-01-31 2016-12-19 Realizing graph processing based on the mapreduce architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310043220.8A CN103970604B (zh) 2013-01-31 2013-01-31 基于MapReduce架构实现图处理的方法和装置

Publications (2)

Publication Number Publication Date
CN103970604A true CN103970604A (zh) 2014-08-06
CN103970604B CN103970604B (zh) 2017-05-03

Family

ID=51224523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310043220.8A Active CN103970604B (zh) 2013-01-31 2013-01-31 基于MapReduce架构实现图处理的方法和装置

Country Status (2)

Country Link
US (2) US9558045B2 (zh)
CN (1) CN103970604B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589931A (zh) * 2015-12-10 2016-05-18 天津海量信息技术有限公司 基于HBase的MAP数据动态切分方法
WO2016101798A1 (zh) * 2014-12-26 2016-06-30 华为技术有限公司 一种对大数据进行处理的方法和装置
CN105868070A (zh) * 2015-12-25 2016-08-17 乐视网信息技术(北京)股份有限公司 确定任务消耗资源的方法及装置
CN106570572A (zh) * 2015-10-12 2017-04-19 中国石油化工股份有限公司 基于MapReduce的旅行时计算方法和装置
WO2018045753A1 (zh) * 2016-09-12 2018-03-15 星环信息科技(上海)有限公司 用于分布式图计算的方法与设备
CN109388733A (zh) * 2018-08-13 2019-02-26 国网浙江省电力有限公司 一种面向图数据处理引擎的优化方法
CN110309177A (zh) * 2018-03-23 2019-10-08 腾讯科技(深圳)有限公司 一种数据处理的方法以及相关装置
CN111897783A (zh) * 2020-06-24 2020-11-06 安徽大学 基于多ndp协同主机端执行并行任务的kv存储系统优化方法
CN114844781A (zh) * 2022-05-20 2022-08-02 南京大学 Rack架构下面向编码MapReduce的Shuffle性能优化方法及系统

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9147213B2 (en) 2007-10-26 2015-09-29 Zazzle Inc. Visualizing a custom product in situ
BR112014004988A2 (pt) * 2011-08-31 2017-05-30 Zazzle Com Inc processo de ladrilho para recuperação de imagem digital
CN103970604B (zh) 2013-01-31 2017-05-03 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置
US10108692B1 (en) * 2013-10-15 2018-10-23 Amazon Technologies, Inc. Data set distribution
US10572817B2 (en) 2014-03-19 2020-02-25 Peopleconnect, Inc. Graph-based organization entity resolution
US10157429B2 (en) * 2014-03-19 2018-12-18 Peopleconnect, Inc. Fast and scalable connected component computation
JP6519111B2 (ja) * 2014-07-18 2019-05-29 富士通株式会社 データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
US11487779B2 (en) 2014-11-05 2022-11-01 Sap Se Virtual function as query operator
US10289626B2 (en) * 2014-12-30 2019-05-14 Teradata Us, Inc. Distributed sequential pattern mining (SPM) using static task distribution strategy
JP6547342B2 (ja) * 2015-03-16 2019-07-24 日本電気株式会社 分散処理制御装置
US11151446B2 (en) * 2015-10-28 2021-10-19 Google Llc Stream-based accelerator processing of computational graphs
EP3705994B1 (en) * 2015-10-28 2023-10-04 Google LLC Processing computational graphs
CN106919622B (zh) * 2015-12-28 2021-10-15 伊姆西Ip控股有限责任公司 用于分布式数据处理的方法和设备
US10506016B2 (en) 2016-05-19 2019-12-10 Oracle International Corporation Graph analytic engine that implements efficient transparent remote access over representational state transfer
US10275287B2 (en) * 2016-06-07 2019-04-30 Oracle International Corporation Concurrent distributed graph processing system with self-balance
US10387207B2 (en) * 2016-12-06 2019-08-20 International Business Machines Corporation Data processing
CN108268316A (zh) * 2016-12-30 2018-07-10 北京国双科技有限公司 作业调度的方法及装置
US10318355B2 (en) 2017-01-24 2019-06-11 Oracle International Corporation Distributed graph processing system featuring interactive remote control mechanism including task cancellation
WO2018205246A1 (en) * 2017-05-12 2018-11-15 Shanghai Putu Technology Partnership (General Partnership) Parallel computation engine for graph data
US10534657B2 (en) 2017-05-30 2020-01-14 Oracle International Corporation Distributed graph processing system that adopts a faster data loading technique that requires low degree of communication
US11238468B1 (en) * 2017-08-17 2022-02-01 Wells Fargo Bank, N.A. Semantic graph database capture of industrial organization and market structure
CN108595268B (zh) * 2018-04-24 2021-03-09 咪咕文化科技有限公司 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质
US10990595B2 (en) 2018-05-18 2021-04-27 Oracle International Corporation Fast distributed graph query engine
US11461130B2 (en) 2020-05-26 2022-10-04 Oracle International Corporation Methodology for fast and seamless task cancelation and error handling in distributed processing of large graph data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110295855A1 (en) * 2010-05-31 2011-12-01 Microsoft Corporation Graph-Processing Techniques for a MapReduce Engine
US20120079498A1 (en) * 2010-09-27 2012-03-29 Samsung Electronics Co., Ltd. Method and apparatus for dynamic resource allocation of processing units
CN102521051A (zh) * 2011-12-05 2012-06-27 中国联合网络通信集团有限公司 应用于图算法的Map Reduce系统中的任务调度方法、装置和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6437804B1 (en) * 1997-10-23 2002-08-20 Aprisma Management Technologies, Inc Method for automatic partitioning of node-weighted, edge-constrained graphs
US6480816B1 (en) * 1999-06-14 2002-11-12 Sanjay Dhar Circuit simulation using dynamic partitioning and on-demand evaluation
US7945909B2 (en) * 2003-05-09 2011-05-17 Sap Aktiengesellschaft Initiating recovery of an executing task using historical information and task information
US8818918B2 (en) * 2011-04-28 2014-08-26 International Business Machines Corporation Determining the importance of data items and their characteristics using centrality measures
CN103970604B (zh) 2013-01-31 2017-05-03 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110295855A1 (en) * 2010-05-31 2011-12-01 Microsoft Corporation Graph-Processing Techniques for a MapReduce Engine
US20120079498A1 (en) * 2010-09-27 2012-03-29 Samsung Electronics Co., Ltd. Method and apparatus for dynamic resource allocation of processing units
CN102521051A (zh) * 2011-12-05 2012-06-27 中国联合网络通信集团有限公司 应用于图算法的Map Reduce系统中的任务调度方法、装置和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FU LEE WANG 等: "An efficient distributed subgraph mining algorithm in extreme large graphs", 《AICI"10 PROCEEDINGS OF THE 2010 INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND COMPUTATIONAL INTELLIGENCE》 *
JONATHAN COHEN: "Graph twiddling in a MapReduce World", 《COMPUTING IN SCIENCE AND ENGINEERING》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016101798A1 (zh) * 2014-12-26 2016-06-30 华为技术有限公司 一种对大数据进行处理的方法和装置
US10691669B2 (en) 2014-12-26 2020-06-23 Huawei Technologies Co., Ltd. Big-data processing method and apparatus
CN106570572B (zh) * 2015-10-12 2019-12-17 中国石油化工股份有限公司 基于MapReduce的旅行时计算方法和装置
CN106570572A (zh) * 2015-10-12 2017-04-19 中国石油化工股份有限公司 基于MapReduce的旅行时计算方法和装置
CN105589931A (zh) * 2015-12-10 2016-05-18 天津海量信息技术有限公司 基于HBase的MAP数据动态切分方法
CN105868070A (zh) * 2015-12-25 2016-08-17 乐视网信息技术(北京)股份有限公司 确定任务消耗资源的方法及装置
WO2018045753A1 (zh) * 2016-09-12 2018-03-15 星环信息科技(上海)有限公司 用于分布式图计算的方法与设备
CN110309177A (zh) * 2018-03-23 2019-10-08 腾讯科技(深圳)有限公司 一种数据处理的方法以及相关装置
CN110309177B (zh) * 2018-03-23 2023-11-03 腾讯科技(深圳)有限公司 一种数据处理的方法以及相关装置
CN109388733A (zh) * 2018-08-13 2019-02-26 国网浙江省电力有限公司 一种面向图数据处理引擎的优化方法
CN109388733B (zh) * 2018-08-13 2022-01-07 国网浙江省电力有限公司 一种面向图数据处理引擎的优化方法
CN111897783A (zh) * 2020-06-24 2020-11-06 安徽大学 基于多ndp协同主机端执行并行任务的kv存储系统优化方法
CN111897783B (zh) * 2020-06-24 2023-05-02 安徽大学 基于多ndp协同主机端执行并行任务的kv存储系统优化方法
CN114844781A (zh) * 2022-05-20 2022-08-02 南京大学 Rack架构下面向编码MapReduce的Shuffle性能优化方法及系统

Also Published As

Publication number Publication date
US9558045B2 (en) 2017-01-31
US20170097853A1 (en) 2017-04-06
US20140215477A1 (en) 2014-07-31
CN103970604B (zh) 2017-05-03
US9870270B2 (en) 2018-01-16

Similar Documents

Publication Publication Date Title
CN103970604A (zh) 基于MapReduce架构实现图处理的方法和装置
CN103853596B (zh) 用于在工作组之间迁移虚拟机的方法和系统
CN104346433B (zh) 用于数据库查询操作的可缩放加速的方法和系统
CN109710405B (zh) 区块链智能合约管理方法、装置、电子设备及存储介质
CN103238138B (zh) 用于迁移逻辑分区的方法、装置和系统
US10409828B2 (en) Methods and apparatus for incremental frequent subgraph mining on dynamic graphs
JP6234477B2 (ja) 回帰モデルを計算するための方法、コンピュータ・プログラム、およびシステム
CN103777920A (zh) 基于数据特性来识别对应指令的数据处理系统
CN110334091A (zh) 一种数据分片分布式处理方法、系统、介质和电子设备
US10963298B2 (en) Method, device and computer-readable for managing virtual machines
US11574254B2 (en) Adaptive asynchronous federated learning
US20200082026A1 (en) Graph data processing
Li et al. Wide-area spark streaming: Automated routing and batch sizing
CN111044062B (zh) 路径规划、推荐方法和装置
US8627039B2 (en) Effective memory clustering to minimize page fault and optimize memory utilization
CN111459650B (zh) 管理专用处理资源的存储器的方法、设备和介质
CN116263813A (zh) 通过降维提高分类和回归树性能
US10956512B2 (en) Document link migration
CN104090895A (zh) 获取基数的方法、装置、服务器及系统
US11651235B2 (en) Generating a candidate set of entities from a training set
US11204923B2 (en) Performance for query execution
US10776269B2 (en) Two level compute memoing for large scale entity resolution
CN112148461A (zh) 应用的调度方法、装置
Vinothiyalakshmi et al. Workload mining in cloud computing using extended cloud Dempster–Shafer theory (ECDST)
US11914593B2 (en) Generate digital signature of a query execution plan using similarity hashing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant