CN117056431B - 基于hbase亲和性计算的二阶段调度的分布式执行方法和系统 - Google Patents

基于hbase亲和性计算的二阶段调度的分布式执行方法和系统 Download PDF

Info

Publication number
CN117056431B
CN117056431B CN202311308786.9A CN202311308786A CN117056431B CN 117056431 B CN117056431 B CN 117056431B CN 202311308786 A CN202311308786 A CN 202311308786A CN 117056431 B CN117056431 B CN 117056431B
Authority
CN
China
Prior art keywords
node
virtual
scheduling
affinity
virtual node
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
CN202311308786.9A
Other languages
English (en)
Other versions
CN117056431A (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.)
Zhongdian Data Industry Co ltd
Cec Digital Innovation Beijing Technology Co ltd
Original Assignee
Zhongdian Data Industry Co ltd
Cec Digital Innovation Beijing Technology Co ltd
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 Zhongdian Data Industry Co ltd, Cec Digital Innovation Beijing Technology Co ltd filed Critical Zhongdian Data Industry Co ltd
Priority to CN202311308786.9A priority Critical patent/CN117056431B/zh
Publication of CN117056431A publication Critical patent/CN117056431A/zh
Application granted granted Critical
Publication of CN117056431B publication Critical patent/CN117056431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/465Distributed object oriented systems
    • 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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/5083Techniques for rebalancing the load in a distributed system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及分布式数据库技术领域,提供一种基于hbase亲和性计算的二阶段调度的分布式执行方法和系统,本发明的方法包括:获取待调度的节点集,确定节点集中每个节点的亲和因子以及调度因子,节点集包括计算节点集和存储节点集;根据每个节点的亲和因子以及调度因子,在计算节点集的每个计算节点中构建至少一个虚拟节点;启动第一阶段调度,调度计算节点集中的计算任务至构建的虚拟节点;启动第二阶段调度,均衡各个虚拟节点的负载。本发明基于hbase亲和性计算的二阶段调度的分布式执行方法和系统,基于并行处理层和数据存储层的亲和性,通过协调调度,在满足任务最大化本地性和最小传输代价的基础上,保证系统资源平衡和提高资源的利用率。

Description

基于hbase亲和性计算的二阶段调度的分布式执行方法和 系统
技术领域
本发明涉及分布式数据库技术领域,尤其涉及一种基于hbase亲和性计算的二阶段调度的分布式执行方法和系统。
背景技术
随着海量数据和云存储的发展,大多主流分布式数据库都采用了存算分离的架构模式。在存算分离的场景中,作为数据的计算和调度层的分布式数据库执行器,其复杂性主要体现在如下几方面:实际生产中,存储节点、计算节点和数据分片的部署数量和分布是不确定的。由于软硬件的故障或增加,会导致计算节点、存储节点的变动,从而使数据分片不断迁移。
并且,hbase作为开源大数据分布式存储系统被广泛应用,很多计算引擎基于hbase构建OLAP分析系统,如presto和trafodion。然而,在实际应用中,这些现有的开源系统在hbase的分布式计算方面存在以下不足:1.Trafodion利用hbase元数据实现数据的分布式调度,缺乏对节点负载的考虑,当分片分布不均或计算节点与存储节点不一致时,容易导致调度倾斜,致使部分节点压力过大,导致查询性能缓慢,当数据分片存在迁移,不能很好的适应;2.Presto利用一致性hash算法进行亲和调度,该算法为了改善负载平衡和处理不稳定的worker,选择了两个首选节点,会导致数据冗余,同时,该算法并未考虑数据的局部性。
因此,在迁移计算的过程中,如何解决数据分片在计算节点负载的均衡、迁移代价和局部性问题,同时,使执行器能够适应数据分片的变化,是本领域所要面对的重点问题。
发明内容
为了克服现有技术的不足,本发明旨在提供一种基于hbase亲和性计算的二阶段调度的分布式执行方法和系统。
根据本发明的第一方面,提供一种基于hbase亲和性计算的二阶段调度的分布式执行方法,包括:
步骤S1:获取待调度的节点集,确定节点集中每个节点的亲和因子以及调度因子,所述节点集包括计算节点集和存储节点集;
步骤S2:根据每个节点的亲和因子以及调度因子,在计算节点集的每个计算节点中构建至少一个虚拟节点;
步骤S3:启动第一阶段调度,调度所述计算节点集中的计算任务至构建的虚拟节点;
步骤S4:启动第二阶段调度,均衡各个虚拟节点的负载。
优选的,本发明基于hbase亲和性计算的二阶段调度的分布式执行方法,步骤S2包括:
步骤S21:根据节点的亲和因子,将计算节点集拆分成No_affinity计算节点集和No_reomte计算节点集;
步骤S22:根据拆分的两个计算节点集中计算节点的并发参数,计算并发width扰动参数和亲和度并发参数;
步骤S23:采用No_affinity计算节点集、No_remote计算节点集、width扰动参数和亲和并发度参数,在每个计算节点中构建至少一个虚拟节点,并得到虚拟节点的集合。
优选的,本发明基于hbase亲和性计算的二阶段调度的分布式执行方法,步骤S3包括:
步骤S31:根据是否在计算节点内将数据分片拆分为R_affinity集合和R_remote集合,确定每个虚拟节点的最小分片数minPerTaskSlot和最大分片数maxPerTaskSlot,其中,所述数据分片是作为数据载体设置于所述虚拟节点中的;
步骤S32:调度R_affinity集合中的数据分片到对应的虚拟节点容器中,基于预先配置的区域通讯代价矩阵对每一个虚拟节点容器由小到大进行排序;
步骤S33:在虚拟节点中的数据分片中,从Mrn集获取数据亲密集合R_affinity中的数据分片的对应节点集合,并从所述集合中移除该虚拟节点挂载的节点,其中,所述Mrn集为数据分片与通讯代价的映射关系对;
步骤S34:初始化minSlots集合和maxSlots集合,其中minSlots集合用于存放数据分片数小于平均负载的虚拟节点,maxSlots集合用于存放数据分片数大于平均负载的虚拟节点;
步骤S35:基于预先配置的第一调度规则,将虚拟节点集中的所有虚拟节点分发到minSlots集合和maxSlots集合,并按照虚拟节点容器的大小由大到小排序。
优选的,本发明基于hbase亲和性计算的二阶段调度的分布式执行方法,步骤S35中的第一调度规则包括:
如果虚拟节点中数据分片数小于最小分片数minPerTaskSlot,将该虚拟节点分发到minSlots集合;
如果虚拟节点中数据分片数大于最小分片数minPerTaskSlot,将该虚拟节点分发到maxSlots集合;
如果虚拟节点中数据分片数等于最小分片数minPerTaskSlot, 该虚拟节点已经满足平均负载,不做调度。
优选的,本发明基于hbase亲和性计算的二阶段调度的分布式执行方法,步骤S4包括:
步骤S41:获取R_remote集合中的数据分片,根据获取的数据分片从Mrn集获取对应节点有序集合,遍历所述有序集合,直到找到其中与minSlots集合中匹配的虚拟节点,将该数据分片分配到该虚拟节点的容器中;
步骤S42:确定该虚拟节点容器大小是否大于或等于最大分片数maxPerTaskSlot,如果满足则将该虚拟节点从minSlots集合中移除,将该虚拟节点添加到虚拟节点集中,完成该虚拟节点的调度,否则,执行S41,直到遍历完R_remote集合;
步骤S43:判断minSlots集合和maxSlots集合中是否存在需要调度的虚拟节点,如果存在需要调度的虚拟节点,将maxSlots集合中虚拟节点的数据分片调度到minSlots集合中;遍历步骤S41中所述的有序集合,直到找到其中与minSlots集合中匹配的虚拟节点,并将该数据分片分配到对应的虚拟节点容器中,将所述虚拟节点作为输入,基于第二调度规则进行调度;如果不存在需要调度的虚拟节点,结束调度,输出负载均衡后的虚拟节点集。
优选的,本发明基于hbase亲和性计算的二阶段调度的分布式执行方法,步骤S43中的第二调度规则包括:
如果maxSlots集合中虚拟节点中数据分片数小于等于最小分片数minPerTaskSlot,将该虚拟节点从maxSlots集合中移除并添加到虚拟节点集中,否则,将该虚拟节点重新放入maxSlots集合;
如果minSlots集合中虚拟节点中最小分片数数大于等于最小分片数minPerTaskSlot,将该虚拟节点从minSlots集合中移除并添加到虚拟节点集中,否则,将该虚拟节点重新放入minSlots集合。
根据本发明的第二方面,提供一种基于hbase亲和性计算的二阶段调度的分布式执行系统,所述系统包括分布式执行服务端,包括:配置模块,获取待调度的节点集,确定节点集中每个节点的亲和因子以及调度因子,所述节点集包括计算节点集和存储节点集;虚拟节点模块,用于根据每个节点的亲和因子以及调度因子,在计算节点集的每个计算节点中构建至少一个虚拟节点;第一调度模块,用于启动第一阶段调度,调度所述计算节点集中的计算任务至构建的虚拟节点;第二调度模块,用于启动第二阶段调度,均衡各个虚拟节点的负载被配置为启动第二阶段调度,均衡各个所述虚拟节点的负载。
根据本发明的第三方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面所述的方法。
根据本发明的第四方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明第一方面所述的方法。
本发明的基于hbase亲和性计算的二阶段调度的分布式执行方法和系统,充分考虑了并行处理层和数据存储层的亲和性,通过协调调度,在满足任务最大化本地性和最小传输代价的基础上,保证了系统资源平衡和提高了资源的利用率。
附图说明
图1为一种适用于本申请实施例的基于hbase亲和性计算的二阶段调度的分布式执行方法的系统的示意图;
图2为本实施例系统中分布式执行服务端101的一种示例性架构图;
图3为根据本发明实施例的一种基于hbase亲和性计算的二阶段调度的分布式执行方法的步骤流程图;
图4为根据本发明实施例的网络架构图;
图5为根据本发明实施例的虚拟节点、计算节点和分片的关系示意图;
图6为根据本发明实施例的虚拟节点构建流程示意图;
图7为本发明实施例基于L-B模型的调度流程示例图;
图8为本发明提供的设备的结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明中说明书中对方法流程的描述及本发明说明书附图中流程图的步骤并非必须按步骤标号严格执行,方法步骤是可以改变执行顺序的。而且,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
图1示出了一种适用于本申请实施例的基于hbase亲和性计算的二阶段调度的分布式执行方法的示例性系统。如图1所示,该系统可以包括分布式执行服务端101、通信网络102和/或一个或多个分布式执行客户端103,图1中示例为多个分布式执行客户端103。
分布式执行服务端101可以时用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的服务器。在一些实施例中,分布式执行服务端101可以执行适当的功能。例如,在一些实施例中,分布式执行服务端101可以用于调度计算任务,均衡虚拟节点的负载。作为可选的示例,在一些实施例中,分布式执行服务端101可以被用于通过二阶段调度实现虚拟节点的负载均衡。例如,分布式执行服务端101可以用于获取待调度的节点集,确定节点集中每个节点的亲和因子以及调度因子,所述节点集包括计算节点集和存储节点集;根据每个节点的亲和因子以及调度因子,在计算节点集的每个计算节点中构建至少一个虚拟节点;启动第一阶段调度,调度所述计算节点集中的计算任务至构建的虚拟节点;启动第二阶段调度,均衡各个虚拟节点的负载。
图2为本实施例系统中分布式执行服务端101的一种示例性架构图,如图2所示,本实施例基于hbase亲和性计算的二阶段调度的分布式执行系统中分布式执行服务端101包括:
配置模块,获取待调度的节点集,确定节点集中每个节点的亲和因子以及调度因子,所述节点集包括计算节点集和存储节点集;
虚拟节点模块,用于根据每个节点的亲和因子以及调度因子,在计算节点集的每个计算节点中构建至少一个虚拟节点;
第一调度模块,用于启动第一阶段调度,调度所述计算节点集中的计算任务至构建的虚拟节点;
第二调度模块,用于启动第二阶段调度,均衡各个虚拟节点的负载被配置为启动第二阶段调度,均衡各个所述虚拟节点的负载。
作为另一示例,在一些实施例中,分布式执行服务端101可以根据分布式执行客户端103的请求,将基于hbase亲和性计算的二阶段调度的分布式执行方法发送到分布式执行客户端103供用户使用。
作为可选的示例,在一些实施例中,分布式执行客户端103用于提供可视化分布式执行界面,该可视化分布式执行界面用于接收用户分布式执行的选择输入操作,以及,用于响应于选择输入操作,从分布式执行服务端101获取与选择输入操作所选择的选项所对应的分布式执行界面并展示分布式执行界面,分布式执行界面中至少展示有分布式执行的信息以及针对分布式执行的信息的操作选项。
在一些实施例中,通信网络102可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络102能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字订户线路(DSL)网络、帧中继网络、异步转移模式(ATM)网络、虚拟专用网(VPN)和/或任何其它合适的通信网络。分布式执行客户端103能够通过一个或多个通信链路(例如,通信链路104)连接到通信网络102,该通信网络102能够经由一个或多个通信链路(例如,通信链路105)被链接到分布式执行服务端101。通信链路可以是适合于在分布式执行客户端103和分布式执行服务端101之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
分布式执行客户端103可以包括通过适当形式呈现与通过二阶段调度实现虚拟节点的负载均衡相关的界面,以供用户使用和操作的任何一个或多个客户端。在一些实施例中,分布式执行客户端103可以包括任何合适类型的设备。例如,在一些实施例中,分布式执行客户端103可以包括移动设备、平板计算机、膝上型计算机、台式计算机和/或任何其他合适类型的客户端设备。
尽管将分布式执行服务端101图示为一个设备,但是在一些实施例中,可以使用任何适当数量的设备来执行由分布式执行服务端101执行的功能。例如,在一些实施例中,可以使用多个设备来实现由分布式执行服务端101执行的功能。或者,可使用云服务实现分布式执行服务端101的功能。
基于上述系统,本申请实施例提供了一种基于hbase亲和性计算的二阶段调度的分布式执行方法,以下通过以下实施例进行说明。
参照图3,示出了根据本申请实施例的一种基于hbase亲和性计算的二阶段调度的分布式执行方法的步骤流程图。
如图3所示,本实施例的方法包括以下步骤:
步骤S1:获取待调度的节点集,确定节点集中每个节点的亲和因子以及调度因子,所述节点集包括计算节点集和存储节点集。
本实施例中待调度的节点集可用如下集合N表示:N =NO∪(NS-(NO∩NS))。
其中,NO表示所有计算节点的集合,即计算节点集,NS表示所有存储节点的集合,及存储节点集,N的大小为n。N[i]表示N的第i个节点。
节点的亲和因子表示节点之间的亲和性,用NA表示由各节点的亲和因子nai组成的集合,并按亲和因子由大到小排序,其中:
其中,n为节点数,dij是节点亲和矩阵D的元素,且D为n阶方阵,dij表示第i个节点与第j个节点的亲和性,亲和性公式如下:
dij=1/dstij 0<dij≤1
其中,dstij表示两个节点的网络距离,可用如下公式描述:
其中,同一机架上的不同节点用Ni表示,不同的数据中心中不同机架上的节点用Ri表示,不同数据中心的节点用Di表示。
如图4所示,假设有数据中心D1,机架R1中的节点N1。该节点可以表示为“/D1//R1/N1”。利用这种标记,这里给出四种距离描述:
dst11(/D1//R1/N1,/D1//R1/N1)=1 dst12(/D1//R1/N1,/D1/R1/N2)=2
dst13(/D1//R1/N1,/D1/R2/N3)=4 dst15(/D1//R1/N1,/D2/R3/N5)=6
本实施例中每个节点的亲和因子按以下方式确定:
首先,节点之间的亲和因子矩阵可用如下公式计算:
其中,LT为本地状态矩阵的转置矩阵,ER为m×1单位状态矩阵,m为数据分片数。
本实施例中,本地状态转移矩阵L通过存储节点分片的元数据信息得到,其表现形式如下:
其中,矩阵L表示本地状态转移矩阵,是m×n的矩阵,lij表示第i个数据分片在j个存储节点。
节点集N的第i个节点的亲和因子为
本实施例中,调度因子(nci)表示被选为虚拟节点的优先级,调度因子越大,表示节点越优先被选为虚拟节点。用NC表示调度因子Nci由大到小排序的有序集合,调度因子按以下公式计算:
nci = Factor*nai/wi
其中,wi=wt+we,表示节点的工作负载,wt表示节点的内部负载,即由该计算节点调度任务产生的工作负载,we表示节点的外部负载,由其他任务产生的工作负载,we由监控管理器实时动态获取,nai表示亲和因子的代价,Factor表示平衡因子,用于权衡节点的工作负载和亲和因子的代价的关系,默认为1。
步骤S2:根据每个节点的亲和因子以及调度因子,在计算节点集的每个计算节点中构建至少一个虚拟节点。
图5为根据本发明实施例的虚拟节点、计算节点和分片的关系示意图,如图5所示,虚拟节点作为任务调度的载体,计算节点作为任务运行的载体,数据分片作为数据载体。虚拟节点、计算机点和数据分片的关系可描述如下:
1.一个计算节点N可以包含一个或多个虚拟节点。
2.每一个虚拟节点只能挂载到唯一的计算节点。
3.每一个虚拟节点由容器构成,可存储多个分片信息。
具体的,如图6所示,步骤S2按以下方式实现:
步骤S21:根据节点的亲和因子fi,将计算节点集NO拆分成No_affinity计算节点集和No_reomte计算节点集,并满足以下公式:
N= N_affinity ∪ N_reomte (1)
(2)
其中,N[i]表示节点集N中的第i个节点;
No_affinity = N_affinity ∩ No由Noai元素构成,并按照亲和因子fi由大到小的有序的集合。
No_reomte = No-No_affinity,由Nori元素构成,并按照调度因子nci由大到小的有序的集合。
步骤S22:根据拆分的两个计算节点集中计算节点的并发参数,计算并发width扰动参数和亲和度并发参数。
实际的计划并发,不是仅由一个计划要分多少个fragment(将计划拆分成多少个并发),往往由参数、代价和计算节点数等多个因素决定。本实施例的并发width扰动参数计算公式如下:
Width= Max.max(1,wop)
其中,Wop = Math.min(MaxOP,Math.max(MinOP wn)),其中MaxOP和MinOP 分别表示该分片中每个算子最大和最小并发。
Wn = Math.min(wc,MaxperNode * activeNodes),其中MaxperNode 和activeNodes分别表示每个计算节点最大并发和运行的节点数。
Wc = (int) Math.ceil(rows/SliceTarget),其中rows和SliceTarget分别表示数据的行数和用户指定的分片数。
步骤S23:采用No_affinity计算节点集、No_remote计算节点集、width扰动参数和亲和并发度参数,在每个计算节点中构建至少一个虚拟节点,并得到虚拟节点的集合。
本实施例中的亲和并发度参数按以下方式计算:
w_affinity = min(max(1, ⌈f×w/m⌉×Size(N_affinity)),w)
其中,f为亲和系数,由用户指定,默认为1,w为并发数,m表示计算节点的个数,Size(N_affinity)表示N_affinity集合的大小。
以下通过一个具体示例对本实施例方法构建虚拟节点的具体流程进行详细说明。
虚拟节点构建流程的输入:待调度的No_affinity计算节点集、待调度的No_remote计算节点集、width扰动参数和亲和并发度参数w_affinity;
虚拟节点构建流程的输入:虚拟节点集合V
虚拟节点构建流程的具体流程:
1. 初始化虚拟节点集合V,V为空。
2. 初始化变量i =1,j =1判断i<=w_affinity是否成立,如果成立,则执行步骤3,否则执行步骤5。
3. 从No_affinity集合获取节点Nai=N[m],创建虚拟节点Vmj,并添加到V中。
4. 修改循环条件i=i+1,i=i%Size(No_affinity),j =j+1,转到步骤2。
5. 初始化变量i =1,j =1,判断Size(V)<= width是否成立,如果成立,则执行步骤6,否则执行步骤8。
6. 从No_reomte集合获取节点Nri=N[m],创建虚拟节点Vmj,并添加到V中。
7. 修改循环条件i=i+1,i=i%Size(No_affinity),j =j+1,转到步骤5。
8. 结束输出虚拟节点集合V。
步骤S3:启动第一阶段调度,调度所述计算节点集中的计算任务至构建的虚拟节点。
具体的,设虚拟节点集V,Vij表示第j个虚拟节点挂载到第i计算节点,虚拟节点整体构建流程步骤S3按以下方式实现:
步骤S31:根据是否在计算节点内将数据分片拆分为R_affinity集合和R_remote集合,确定每个虚拟节点的最小分片数minPerTaskSlot和最大分片数maxPerTaskSlot,其中,所述数据分片是作为数据载体设置于所述虚拟节点中的。
在hbase中数据传输的最小单元是Region,即数据分片可用region表示,数据分片集用R表示:
其中,m为分片的个数,R[i]表示集合中第i个region对应的节点名ri。
本实施例中,根据本地状态转移矩阵L,将Lij为1的存储节名点和计算节点集No匹配,将Region集合用如下两个集合表示:R = R_affinity ∪ R_remote。
其中,R_affinity = {r|r∈No},表示region在计算节点的region构成的集;
R_remote = {r|r∉No}表示region不在计算节点的region构成的集合。
本实施例中,minPerTaskSlot=⌊m/numslots⌋,maxPerTaskSlot=⌈m/numslots⌉,其中, m为region(数据分片)的个数,numslots = Size(V),表示启动的虚拟节点个数。
步骤S32:调度R_affinity集合中的数据分片到对应的虚拟节点容器中,基于预先配置的区域通讯代价矩阵对每一个虚拟节点容器由小到大进行排序;
步骤S33:在虚拟节点中的数据分片中,从Mrn集获取数据亲密集合R_affinity中的数据分片的对应节点集合,并从所述集合中移除该虚拟节点挂载的节点,其中,所述Mrn集为数据分片与通讯代价的映射关系对。
举例来说,本实施例中Mrn集的构建过程如下:
首先需要利用region的通讯代价矩阵AC的第i行,构建代价有序集NR[i],NR[i]={nij|n∈No且nij =No[j] sort_asc(acij,nij)},其中,sort_asc(acij,nij)表示按照代价acij,将计算节点nij从小到大排序;进一步的,将NR[i]进行集合,以NR ={NR[i]|1≤i≤m}表示。然后构建分片与节点的代价集NR映射关系集合Mrn,并采用Mrn= {(R[i],NR[i])|R[i]∈R,NR[i]∈NR }表示。
本实施例中的region的通讯代价可用AC矩阵描述,AC是n×m矩阵,aji为亲和矩阵A的元素,表示第i个region数据传输到第j个计算节点的代价,可用如下公式描述:
其中,数据的操作代价可用n×1的RC矩阵描述,rci为代价矩阵RC的元素,表示第i个region(数据分片)的操作代价,并采用如下公式表示:
其中,hi和k分别表示该Region中的第i个Hfile大小和Hfile的总数。mj和n分别表示该region第j个memstore在内存中的实际大小和列族的个数。
步骤S34:初始化minSlots集合和maxSlots集合,其中minSlots集合用于存放数据分片数小于平均负载的虚拟节点,maxSlots集合用于存放数据分片数大于平均负载的虚拟节点;
步骤S35:基于预先配置的第一调度规则,将虚拟节点集中的所有虚拟节点分发到minSlots集合和maxSlots集合,并按照虚拟节点容器的大小由大到小排序,其中,第一调度规则包括:
如果虚拟节点Vij中数据分片数小于最小分片数minPerTaskSlot,将该虚拟节点分发到minSlots集合;
如果虚拟节点Vij中数据分片数大于最小分片数minPerTaskSlot,将该虚拟节点分发到maxSlots集合;
如果虚拟节点Vij中数据分片数等于最小分片数minPerTaskSlot, 该虚拟节点已经满足平均负载,不做调度。
作为一种示例,本实施例方法第一阶段调度的执行流程中,输入为:虚拟节点V、本地状态转移矩阵L、Region通讯代价矩阵AC、Region集合和计算节点集;输出为:用于存储需要调度的虚拟节点的minSlots集合和maxSlots集合、maxPerTaskSlot、minPerTaskSlot和R_remote集合。
步骤S4:启动第二阶段调度,均衡各个虚拟节点的负载。具体的,步骤S4按以下方式实现:
步骤S41:获取R_remote集合中的数据分片,根据获取的数据分片从Mrn集获取对应节点有序集合NR[i],遍历所述有序集合NR[i],直到找到NR[i]中与minSlots集合中匹配的虚拟节点Vij,将该数据分片分配到该虚拟节点Vij的容器中;
步骤S42:确定该虚拟节点Vij的容器大小是否大于或等于最大分片数maxPerTaskSlot,如果满足则将该虚拟节点从minSlots集合中移除,将该虚拟节点添加到虚拟节点集中,完成该虚拟节点的调度,否则,执行S41,直到遍历完R_remote集合;
步骤S43:判断minSlots集合和maxSlots集合中是否存在需要调度的虚拟节点,如果存在需要调度的虚拟节点,将maxSlots集合中虚拟节点的数据分片调度到minSlots集合中;遍历步骤S41中所述的有序集合,直到找到其中与minSlots集合中匹配的虚拟节点,并将该数据分片分配到对应的虚拟节点容器中,将所述虚拟节点作为输入,基于第二调度规则进行调度;如果不存在需要调度的虚拟节点,结束调度,输出负载均衡后的虚拟节点集。
作为一种示例,如果存在需要调度的虚拟节点,初始化变量i = 1,j=1获取maxslots中的第i个虚拟节点,获取虚拟节点有序容器中的j个Region 对应的节点名R[i],根据R[i]从Mrn获取对应节点有序集合NR[i],遍历有序集合NR[i],直到找到NR[i]中的节点nm与minSlots中匹配的虚拟节点vmn,并将该Region分配到该虚拟节点vmn的容器中。
本实施例中的第二调度规则包括:
如果maxSlots集合中虚拟节点中数据分片数小于等于最小分片数minPerTaskSlot,将该虚拟节点从maxSlots集合中移除并添加到虚拟节点集中,否则,将该虚拟节点重新放入maxSlots集合;
如果minSlots集合中虚拟节点中最小分片数数大于等于最小分片数minPerTaskSlot,将该虚拟节点从minSlots集合中移除并添加到虚拟节点集中,否则,将该虚拟节点重新放入minSlots集合。
作为一种示例,本实施例方法第二阶段调度的执行流程中,输入为:虚拟节点V、本地状态转移矩阵L、Region通讯代价矩阵AC、Region集合和计算节点集;输出为:调度完成的虚拟节点集V。
综上,为了解决存算分离场景下,数据的本地率与负载的调度矛盾,本实施例提出一种基于L-B模型的调度策略,该策略将并发作为扰动,用数据亲和性矩阵描述模型的L部分,保证了数据分片的本地率最大化。将L模拟输出作为B模型的输入,利用机架感知算法计算数据的代价矩阵,并用代价矩阵描述模型的B部分,实现二阶段调度,解决了计算节点、存储节点和分片之间的倾斜和任务负载和资源均衡的问题。
作为一种可选的示例,图7为基于L-B模型的调度流程示例图,如图7所示,本示例中,基于L-B模型的调度流程如下:
计算节点的亲和矩阵、亲和因子、工作负载和负载代价;
计算数据的本地状态转移矩阵、亲和矩阵、亲和因子和数据代价;
构建任务分配虚拟节点Taskslot;
启动第一阶段调度,调度任务到虚拟节点Taskslot;
启动第二阶段调度,均衡虚拟节点Taskslot的任务负载。
本实施例方法中,将数据的亲和矩阵A分解为本地状态转移矩阵L和负载转移矩阵B,本地状态转移矩阵L用于描述数据模型,负载转移矩阵B用于实现数据分片的负载均衡,即B=A-L,其中,其中,负载转移矩阵B中的数据元素bij=aij-lij,用于计算负载均衡0<bij<1,其中,bij按以下方式获得:
进一步的,aij取自数据亲和矩阵,表示第i个计算节点与第j个region的亲和性,用数据亲和矩阵A用于描述数据分片与节点之间的关系,数据亲和矩阵A按以下方式获得:
A =L*D
其中,A是m×n的矩阵,元素aij表示第i个计算节点与第j个region的亲和性,0<aij≤1;D为节点亲和矩阵。
本发明实施例提供的基于L-B模型的二阶段调度策略的分布式执行方法,将并发因子作为L-B模型的扰动输入,构建任务调度的虚拟载体。利用L-B模型将亲和性计算和机架感知算法相结合,实现了hbase的region的动态绑定和分布式计算。
本发明实施例提供的方法在满足任务本地性的基础上,优化了计算节点过载问题,在保证最小代价的基础上,平衡了计算负载,优化了计算节点、存储节点和分片之间的倾斜以及任务负载和资源均衡的问题。
如图8所示,本发明还提供了一种设备,包括处理器310、通信接口320、用于存储处理器可执行计算机程序的存储器330及通信总线340。其中,处理器310、通信接口320及存储器330通过通信总线340完成相互间的通信。处理器310通过运行可执行计算机程序以实现上述的基于hbase亲和性计算的二阶段调度的分布式执行方法。
其中,存储器330中的计算机程序可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以基于实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

Claims (7)

1.一种基于hbase亲和性计算的二阶段调度的分布式执行方法,其特征在于,所述方法包括:
步骤S1:获取待调度的节点集,确定节点集中每个节点的亲和因子以及调度因子,所述节点集包括计算节点集和存储节点集;
步骤S2:根据每个节点的亲和因子以及调度因子,在计算节点集的每个计算节点中构建至少一个虚拟节点;
步骤S3:启动第一阶段调度,调度所述计算节点集中的计算任务至构建的虚拟节点;
步骤S4:启动第二阶段调度,均衡各个虚拟节点的负载;
步骤S2包括:
步骤S21:根据节点的亲和因子,将计算节点集拆分成No_affinity计算节点集和No_reomte计算节点集;
步骤S22:根据拆分的两个计算节点集中计算节点的并发参数,计算并发width扰动参数和亲和度并发参数;
步骤S23:采用No_affinity计算节点集、No_remote计算节点集、width扰动参数和亲和并发度参数,在每个计算节点中构建至少一个虚拟节点,并得到虚拟节点的集合;
步骤S3包括:
步骤S31:根据是否在计算节点内将数据分片拆分为R_affinity集合和R_remote集合,确定每个虚拟节点的最小分片数minPerTaskSlot和最大分片数maxPerTaskSlot,其中,所述数据分片是作为数据载体设置于所述虚拟节点中的;
步骤S32:调度R_affinity集合中的数据分片到对应的虚拟节点容器中,基于预先配置的区域通讯代价矩阵对每一个虚拟节点容器由小到大进行排序;
步骤S33:在虚拟节点中的数据分片中,从Mrn集获取数据亲密集合R_affinity中的数据分片的对应节点集合,并从所述集合中移除该虚拟节点挂载的节点,其中,所述Mrn集为数据分片与通讯代价的映射关系对;
步骤S34:初始化minSlots集合和maxSlots集合,其中minSlots集合用于存放数据分片数小于平均负载的虚拟节点,maxSlots集合用于存放数据分片数大于平均负载的虚拟节点;
步骤S35:基于预先配置的第一调度规则,将虚拟节点集中的所有虚拟节点分发到minSlots集合和maxSlots集合,并按照虚拟节点容器的大小由大到小排序。
2.根据权利要求1所述的基于hbase亲和性计算的二阶段调度的分布式执行方法,其特征在于,步骤S35中的第一调度规则包括:
如果虚拟节点中数据分片数小于最小分片数minPerTaskSlot,将该虚拟节点分发到minSlots集合;
如果虚拟节点中数据分片数大于最小分片数minPerTaskSlot,将该虚拟节点分发到maxSlots集合;
如果虚拟节点中数据分片数等于最小分片数minPerTaskSlot, 该虚拟节点已经满足平均负载,不做调度。
3.根据权利要求1所述的基于hbase亲和性计算的二阶段调度的分布式执行方法,其特征在于,步骤S4包括:
步骤S41:获取R_remote集合中的数据分片,根据获取的数据分片从Mrn集获取对应节点有序集合,遍历所述有序集合,直到找到其中与minSlots集合中匹配的虚拟节点,将该数据分片分配到该虚拟节点的容器中;
步骤S42:确定该虚拟节点容器大小是否大于或等于最大分片数maxPerTaskSlot,如果满足则将该虚拟节点从minSlots集合中移除,将该虚拟节点添加到虚拟节点集中,完成该虚拟节点的调度,否则,执行S41,直到遍历完R_remote集合;
步骤S43:判断minSlots集合和maxSlots集合中是否存在需要调度的虚拟节点,如果存在需要调度的虚拟节点,将maxSlots集合中虚拟节点的数据分片调度到minSlots集合中;遍历步骤S41中所述的有序集合,直到找到其中与minSlots集合中匹配的虚拟节点,并将该数据分片分配到对应的虚拟节点容器中,将所述虚拟节点作为输入,基于第二调度规则进行调度;如果不存在需要调度的虚拟节点,结束调度,输出负载均衡后的虚拟节点集。
4.根据权利要求3所述的基于hbase亲和性计算的二阶段调度的分布式执行方法,其特征在于,步骤S43中的第二调度规则包括:
如果maxSlots集合中虚拟节点中数据分片数小于等于最小分片数minPerTaskSlot,将该虚拟节点从maxSlots集合中移除并添加到虚拟节点集中,否则,将该虚拟节点重新放入maxSlots集合;
如果minSlots集合中虚拟节点中最小分片数数大于等于最小分片数minPerTaskSlot,将该虚拟节点从minSlots集合中移除并添加到虚拟节点集中,否则,将该虚拟节点重新放入minSlots集合。
5.一种基于hbase亲和性计算的二阶段调度的分布式执行系统,其特征在于,所述系统包括分布式执行服务端,包括:配置模块,获取待调度的节点集,确定节点集中每个节点的亲和因子以及调度因子,所述节点集包括计算节点集和存储节点集;虚拟节点模块,用于根据每个节点的亲和因子以及调度因子,在计算节点集的每个计算节点中构建至少一个虚拟节点;第一调度模块,用于启动第一阶段调度,调度所述计算节点集中的计算任务至构建的虚拟节点;第二调度模块,用于启动第二阶段调度,均衡各个虚拟节点的负载被配置为启动第二阶段调度,均衡各个所述虚拟节点的负载;
所述虚拟节点模块具体用于:
根据节点的亲和因子,将计算节点集拆分成No_affinity计算节点集和No_reomte计算节点集;
根据拆分的两个计算节点集中计算节点的并发参数,计算并发width扰动参数和亲和度并发参数;
采用No_affinity计算节点集、No_remote计算节点集、width扰动参数和亲和并发度参数,在每个计算节点中构建至少一个虚拟节点,并得到虚拟节点的集合;
所述第一调度模块具体用于:
根据是否在计算节点内将数据分片拆分为R_affinity集合和R_remote集合,确定每个虚拟节点的最小分片数minPerTaskSlot和最大分片数maxPerTaskSlot,其中,所述数据分片是作为数据载体设置于所述虚拟节点中的;
调度R_affinity集合中的数据分片到对应的虚拟节点容器中,基于预先配置的区域通讯代价矩阵对每一个虚拟节点容器由小到大进行排序;
在虚拟节点中的数据分片中,从Mrn集获取数据亲密集合R_affinity中的数据分片的对应节点集合,并从所述集合中移除该虚拟节点挂载的节点,其中,所述Mrn集为数据分片与通讯代价的映射关系对;
初始化minSlots集合和maxSlots集合,其中minSlots集合用于存放数据分片数小于平均负载的虚拟节点,maxSlots集合用于存放数据分片数大于平均负载的虚拟节点;
基于预先配置的第一调度规则,将虚拟节点集中的所有虚拟节点分发到minSlots集合和maxSlots集合,并按照虚拟节点容器的大小由大到小排序。
6.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的基于hbase亲和性计算的二阶段调度的分布式执行方法。
7.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的基于hbase亲和性计算的二阶段调度的分布式执行方法。
CN202311308786.9A 2023-10-11 2023-10-11 基于hbase亲和性计算的二阶段调度的分布式执行方法和系统 Active CN117056431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311308786.9A CN117056431B (zh) 2023-10-11 2023-10-11 基于hbase亲和性计算的二阶段调度的分布式执行方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311308786.9A CN117056431B (zh) 2023-10-11 2023-10-11 基于hbase亲和性计算的二阶段调度的分布式执行方法和系统

Publications (2)

Publication Number Publication Date
CN117056431A CN117056431A (zh) 2023-11-14
CN117056431B true CN117056431B (zh) 2024-02-09

Family

ID=88661186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311308786.9A Active CN117056431B (zh) 2023-10-11 2023-10-11 基于hbase亲和性计算的二阶段调度的分布式执行方法和系统

Country Status (1)

Country Link
CN (1) CN117056431B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117971888A (zh) * 2024-03-28 2024-05-03 腾讯科技(深圳)有限公司 数据引擎的确定方法、装置、设备、存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197035A (zh) * 2017-06-21 2017-09-22 中国民航大学 一种基于一致性哈希算法的亲和性动态负载均衡方法
CN108667864A (zh) * 2017-03-29 2018-10-16 华为技术有限公司 一种进行资源调度的方法和装置
CN115617509A (zh) * 2022-09-28 2023-01-17 聚好看科技股份有限公司 一种分布式集群的节点部署方法、装置和电子设备
CN116302327A (zh) * 2023-02-16 2023-06-23 阿里巴巴(中国)有限公司 资源调度方法及相关设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10120907B2 (en) * 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US11461203B2 (en) * 2018-07-10 2022-10-04 Here Data Technology Systems and methods of handling node failure in a distributed data storage using multi-layer consistent hashing
US20230130619A1 (en) * 2021-10-22 2023-04-27 Insitro, Inc. Machine learning pipeline using dna-encoded library selections

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667864A (zh) * 2017-03-29 2018-10-16 华为技术有限公司 一种进行资源调度的方法和装置
CN107197035A (zh) * 2017-06-21 2017-09-22 中国民航大学 一种基于一致性哈希算法的亲和性动态负载均衡方法
CN115617509A (zh) * 2022-09-28 2023-01-17 聚好看科技股份有限公司 一种分布式集群的节点部署方法、装置和电子设备
CN116302327A (zh) * 2023-02-16 2023-06-23 阿里巴巴(中国)有限公司 资源调度方法及相关设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向JCF中间件的亲和性动态负载均衡算法;曹卫东;孙晓君;周原;王静;;计算机工程与设计(08);全文 *

Also Published As

Publication number Publication date
CN117056431A (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
CN117056431B (zh) 基于hbase亲和性计算的二阶段调度的分布式执行方法和系统
Agliamzanov et al. Hydrology@ Home: a distributed volunteer computing framework for hydrological research and applications
US10983957B2 (en) Distributed columnar data set storage
Neelakandan et al. Large scale optimization to minimize network traffic using MapReduce in big data applications
CN104937544B (zh) 用于计算任务结果的方法、计算机可读介质和计算机系统
US10776141B2 (en) Directed placement for request instances
CN108810115B (zh) 一种适用于分布式数据库的负载均衡方法、装置及服务器
CN114356587B (zh) 算力任务跨区域调度方法、系统及设备
CN106453618A (zh) 基于G‑Cloud云计算的遥感图像处理服务云平台系统
CN105144109A (zh) 分布式数据中心技术
CN105824686A (zh) 一种虚拟机宿主机的选择方法和选择系统
CN110383245A (zh) 具有动态反馈的安全智能联网架构
WO2020019313A1 (zh) 一种图数据的更新方法、系统、计算机可读存储介质及设备
CN105956723A (zh) 基于数据挖掘的物流信息管理方法
JP5773142B2 (ja) 計算機システムの構成パターンの算出方法及び構成パターンの算出装置
CN114266281A (zh) 一种图神经网络训练的方法、装置及系统
CN107658010A (zh) 基于倒排泰森多边形索引的移动医疗查询方法及应用
Kaur et al. Latency and network aware placement for cloud-native 5G/6G services
CN111460043A (zh) 三维空间图像区块链存储方法及页面显示方法
Bawankule et al. Historical data based approach for straggler avoidance in a heterogeneous Hadoop cluster
CN105471986B (zh) 一种数据中心建设规模评估方法及装置
CN107844532A (zh) 基于MapReduce与倒排泰森多边形的大规模近邻查询方法
Wen et al. Load balancing consideration of both transmission and process responding time for multi-task assignment
WO2020019315A1 (zh) 一种基于图数据的计算运行调度方法、系统、计算机可读介质及设备
CN107273207A (zh) 一种基于超图划分算法的相关数据存储方法

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