CN110968425A - 一种任务资源动态分配方法及系统 - Google Patents

一种任务资源动态分配方法及系统 Download PDF

Info

Publication number
CN110968425A
CN110968425A CN201911154418.7A CN201911154418A CN110968425A CN 110968425 A CN110968425 A CN 110968425A CN 201911154418 A CN201911154418 A CN 201911154418A CN 110968425 A CN110968425 A CN 110968425A
Authority
CN
China
Prior art keywords
task
matrix
historical
resource allocation
resources
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
CN201911154418.7A
Other languages
English (en)
Other versions
CN110968425B (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.)
Zhongying Youchuang Information Technology Co Ltd
Original Assignee
Zhongying Youchuang Information 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 Zhongying Youchuang Information Technology Co Ltd filed Critical Zhongying Youchuang Information Technology Co Ltd
Priority to CN201911154418.7A priority Critical patent/CN110968425B/zh
Publication of CN110968425A publication Critical patent/CN110968425A/zh
Application granted granted Critical
Publication of CN110968425B publication Critical patent/CN110968425B/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/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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

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)

Abstract

本发明公开了一种任务资源动态分配方法及系统,其中,该方法包括:构建历史任务信息矩阵及对应的历史任务资源分配矩阵;预设待分配任务的任务信息矩阵及任务资源分配矩阵;计算待分配任务的任务信息矩阵与任务类型为正常的历史任务信息矩阵的相似性;对相似性矩阵进行归一化处理,构建权重值矩阵;对待分配任务的任务资源分配矩阵中每个待分配的资源特征进行取值;利用取值后的任务资源分配矩阵进行任务资源分配。该方法及系统可以在新任务提交时实现合理的内存、CPU等资源分配,优化资源的利用率,避免浪费,有效提升任务查询的稳定性和查询的并发度;并且可以使任务执行时具有合理的并行度,避免过多的小文件对集群性能的影响。

Description

一种任务资源动态分配方法及系统
技术领域
本发明涉及大数据技术领域,尤指一种任务资源动态分配方法及系统。
背景技术
目前,随着互联网的快速发展,信息安全能力对互联网IDC/ISP系统提出了更高的要求,对于访问日志应留存不少于六个月,这对系统的稳定性、健壮性和数据查询结果的准确性都有了更高、更明确的要求。
互联网IDC/ISP安全日志数据量大,数据一般存储在HDFS(Hadoop分布式文件系统)中,按照机房、时间等维度分区组织数据。机房、时间是数据查询的必选字段,附加日志的其他字段如IP、域名、目标IP、URL等组合查询条件,数据查询除了要保证准确性,还需要在指定的时间内返回查询结果。IDC/ISP机房多,不同的机房的数据量差异很大,相同机房的不同时间段数据量差异也很大,若为所有机房和时间段的查询分配相同的资源,必然导致有的查询资源浪费,有的查询可能资源不足。
如果单任务分配过多的CPU、内存等资源导致极大的浪费,且分配的资源不会释放,造成浪费,同时影响查询的并发数,影响Hadoop集群的性能。如果单任务分配过少的CPU、内存等资源,影响数据查询的效率,甚至可能内存溢出导致查询失败。并且,现有的资源分配方式中并行度分配不合理,过大可能会产生大量的小文件,过小影响数据处理的效率。
因此,亟需一种可以对任务资源动态分配的技术方案,以保证资源分配合理。
发明内容
为解决上述问题,本发明提出了一种任务资源动态分配方法及系统,该方法及系统基于互联网安全日志数据对大数据查询任务资源进行动态分配,结合历史任务的数据,通过相似性计算、权重计算等过程将CPU、内存等资源进行合理的分配,并且可以使任务保持合理的并行度,避免产生过多的小文件对集群性能造成影响,优化资源的利用率,避免资源的浪费,提高数据查询的稳定性及处理效率。
在本发明一实施例中,提出了一种任务资源动态分配方法,该方法包括:
采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵;
根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;
预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V;
在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S;
对所述相似性矩阵S进行归一化处理,构建权重值矩阵A;
根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源分配矩阵V中每个待分配的资源特征进行取值;
利用取值后的任务资源分配矩阵V进行任务资源分配。
在本发明另一实施例中,还提出了一种任务资源动态分配系统,该系统包括:
历史任务信息矩阵构建模块,用于采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵;
历史任务资源分配矩阵构建模块,用于根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;
矩阵预设模块,用于预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V;
相似性计算模块,用于在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S;
归一化处理模块,用于对所述相似性矩阵S进行归一化处理,构建权重值矩阵A;
待分配资源指标取值模块,用于根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源分配矩阵V中每个待分配的资源特征进行取值;
任务资源分配模块,用于利用取值后的任务资源分配矩阵V进行任务资源分配。
在本发明另一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任务资源动态分配方法。
在本发明另一实施例中,还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任务资源动态分配方法。
本发明的任务资源动态分配方法及系统可以在Spark任务提交时实现合理的内存、CPU等资源分配,优化资源的利用率,避免浪费;针对不同类型的任务可以按需分配资源,提升任务查询的稳定性和查询的并发度;并且可以使任务执行时具有合理的并行度,避免过多的小文件对集群性能的影响。
附图说明
图1是本发明一实施例的任务资源动态分配方法流程示意图。
图2是本发明一实施例的任务资源动态分配系统的架构示意图。
图3是本发明一实施例的计算机设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种任务资源动态分配方法及系统。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明一实施例的任务资源动态分配方法流程示意图。如图1所示,该方法包括:
步骤S101,采集Spark(Apache Spark,专为大规模数据处理而设计的快速通用的计算引擎)历史任务执行时的任务信息,构建历史任务信息矩阵。
在一实施例中,参考表1所示,为一示例性的历史任务信息矩阵:
表1历史任务信息矩阵
Figure BDA0002284426370000041
以表1为例,采集了4个任务task1、task2、task3及task4的任务信息。采集的Spark历史任务执行时的任务信息包括集群使用资源、任务数据量、任务数据文件数及任务允许最大时耗在内的Spark历史任务执行时的任务信息,以此构建历史任务信息矩阵;其中,
所述集群使用资源包括集群使用CPU的数量、集群使用内存、集群堆外内存、集群堆内内存、集群IO及集群进程数;
所述历史任务信息矩阵中每行代表一个Spark任务,每一列代表一个特征,矩阵的特征包括集群使用资源、任务数据量、任务数据文件数、任务允许最大时耗及任务类型。
步骤S102,根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵。
在一实施例中,参考表2所示,为历史任务资源分配矩阵。
表2历史任务资源分配矩阵
taskid Executor Executor core CPU 堆内内存 堆外内存 Driver内存 并行度 类型
task1 8 2 2 3 3 2 2 失败
task2 9 1 3 4 2 3 1 正常
task3 10 1 4 5 5 4 1 正常
task4 7 2 5 6 1 5 5 超时
如表2所示,采集得到的是与表1对应的4个任务task1、task2、task3及task4的任务资源分配信息,采集的Spark历史任务执行时分配的资源包括Executor值、Executorcore值、CPU的个数、堆内内存、堆外内存、Driver内存及并行度,以此构建历史任务资源分配矩阵。
所述历史任务资源分配矩阵中每行代表一个Spark任务,每一列代表一个特征,矩阵的特征包括Executor值、Executor core值、CPU的个数、堆内内存、堆外内存、Driver内存、并行度及任务类型。
在上述表1、表2中的最后一列为任务类型,可以根据采集到的所述Spark历史任务执行时分配的资源,将历史任务信息矩阵及历史任务资源分配矩阵中每个Spark任务的任务类型划分为正常、失败或超时;
具体的,统计由于资源分配不足导致超时或失败的任务,记录任务类型为超时;矩阵每行代表一个Spark超时任务,每一列代表该任务的一个特征。
统计由于资源分配过多导致异常的任务,记录任务类型为失败;矩阵每行代表一个Spark失败任务,每一列代表该任务的一个特征。
统计查询耗时小于任务允许最大时耗的任务,记录任务类型为正常。矩阵每行代表一个Spark正常任务,每一列代表该任务的一个特征。
虽然任务类型不同,但是矩阵的结构是相同的。
在步骤S101、步骤S102分析Spark历史任务,构建历史任务信息矩阵和历史任务资源分配矩阵之后,进一步的,需要构建Spark资源分配矩,具体过程如下所述:
步骤S103,预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V。
预设的待分配Spark任务在任务执行时的所述任务信息矩阵U为:
U=[C,M,I,O,Q,N,F,T,P];
其中,C为集群使用CPU的数量,个;
M为集群使用内存,G;
I为集群堆内内存,G;
O为集群堆外内存,G;
Q为集群IO,KB/s;
N为任务数据量,G;
F为任务数据文件数,G;
T为任务允许最大时耗,s;
P为集群进程数,个;
所述任务信息矩阵U根据待分配任务信息进行相应设置,例如,参考表3所示,为一个待分配任务(newtask)的信息矩阵。
表3待分配任务信息矩阵
Figure BDA0002284426370000061
预设的待分配Spark任务在任务执行时的所述任务资源分配矩阵V为:
V=[E',R',C',I',O',M',P'];
其中,E'为Executor值;
R'为Executor core值;
C'为CPU的个数,个;
I'为堆内内存,G;
O'为堆外内存,G;
M'为Driver内存,
G;P'为并行度。
任务资源分配矩阵V中的具体信息,根据下述步骤进行取值。
步骤S104,在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性(cosine)计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S。
相似性矩阵S为:
S=[s1,s2,…,sn];
其中,si(i=1、2、…、n)为任务信息矩阵U和任务类型为正常的历史任务信息矩阵的相似性。i为相似性的序号;其中一个序号所对应的相似性值,表示任务信息矩阵U和一个任务类型为正常的历史任务信息矩阵的相似性。
在一具体实施例中,以表3为例,任务类型为正常的任务包括task2及task3,则可以通过余弦相似性计算得到任务信息矩阵U与这两个任务的相似性s1、s2;s1为任务信息矩阵U与任务task2的相似性,s2为任务信息矩阵U与任务task3的相似性,进而可以构建得到相似性矩阵S=[s1,s2]。根据表3,待分配任务(newtask)与task2、task3的相似性分别为0.98775071、0.9899226,可以得到相似性矩阵如表4所示:
表4相似性矩阵
taskid newtask相似性
task2 0.98775071
task3 0.9899226
即,S=[0.98775071,0.9899226]。此处仅为非穷举的示例性说明,实际应用中正常的任务数量通常会有多个。
步骤S105,对所述相似性矩阵S进行归一化处理,构建权重值矩阵A。
构建的所述权重值矩阵A为:
A=[a1,a2,…,an];
其中,ai(i=1、2、…、n)为权重值;
ai通过归一化指数函数(softmax函数)计算得到,用于突出高权重任务,计算式为:
Figure BDA0002284426370000071
其中,求得的ai与si一一对应,si是在步骤S104中得到的相似性数据,此步骤使用softmax是为了在后续步骤S106突出权重比较高的任务。
根据表4所示的实施例,可以求得:a1为0.4994570277134381,
a2为0.5005429722865619,
即,A=[0.4994570277134381,0.5005429722865619]。
步骤S106,根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源分配矩阵V中每个待分配的资源特征进行取值。
所述任务资源分配矩阵V中,每个待分配的资源特征所取的值为:
X=(X1×a1+X2×a2+…+Xn×an);
X为所述任务资源分配矩阵V中E'、R'、C'、I'、O'、M'及P'所取的值;
Xi(i=1、2、…、n)是相似性为si(i=1、2、…、n)的历史任务信息矩阵所对应的历史任务资源分配矩阵中的Executor值、Executor core值、CPU的个数、堆内内存、堆外内存、Driver内存及并行度。
具体的,以所述任务资源分配矩阵V中的Executor值(E')为例,对E'取值的计算式为:
E'=(E1×a1+E2×a2+…+En×an);
其中,Ei(i=1、2、…、n)是相似性为si(i=1、2、…、n)的历史任务信息矩阵所对应的历史任务资源分配矩阵中的Executor值;
ai(i=1、2、…、n)是步骤S105得到的权重值,与si一一对应。
同理,可以得到任务资源分配矩阵V中的Executor core值(R')、CPU的个数(C')、堆内内存(I')、堆外内存(O')、Driver内存(M')及并行度(P')。
举例而言,以表1至表4中的任务task2及task3为例,计算任务资源分配矩阵V中的E'。其中,通过表2可知,E1、E2值分别为9、10;根据前述步骤S105可知,a1、a2分别为0.4994570277134381、0.5005429722865619;则根据步骤S106,E'取值为9.5,取整数得到10。其它资源分配信息也可以同理得到,R'为1,C'为4,I'为5、O'为4、M'为4及P'为1。需要说明的是,本实施例中的参考数据有限,主要是为了说明获取任务资源分配信息的过程;在实际中,任务类型为正常的任务数量会比较多,作为参考数据,其越多则计算的结果越合理,利用前述步骤S101至步骤S106能够得到合理的新任务(例如,前述提到的newtask)资源分配信息,使新任务在执行时更加稳定且具有合理的并行度。
最后,执行步骤S107,利用取值后的任务资源分配矩阵V进行任务资源分配。
利用上述任务资源动态分配方法可以在Spark任务提交时实现合理的内存、CPU等资源分配,优化资源的利用率,避免浪费;针对不同类型的任务可以按需分配资源,提升任务查询的稳定性和查询的并发度;并且可以使任务执行时具有合理的并行度,避免过多的小文件对集群性能的影响。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
在介绍了本发明示例性实施方式的方法之后,接下来,参考图2对本发明示例性实施方式的任务资源动态分配系统进行介绍。
任务资源动态分配系统的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
基于同一发明构思,本发明还提出了一种任务资源动态分配系统,如图2所示,该系统包括:
历史任务信息矩阵构建模块210,用于采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵;
历史任务资源分配矩阵构建模块220,用于根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;
矩阵预设模块230,用于预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V;
相似性计算模块240,用于在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S;
归一化处理模块250,用于对所述相似性矩阵S进行归一化处理,构建权重值矩阵A;
待分配资源指标取值模块260,用于根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源分配矩阵V中每个待分配的资源特征进行取值;
任务资源分配模块270,用于利用取值后的任务资源分配矩阵V进行任务资源分配。
应当注意,尽管在上文详细描述中提及了任务资源动态分配系统的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
基于前述发明构思,如图3所示,本发明还提出了一种计算机设备300,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序330,所述处理器320执行所述计算机程序330时上述任务资源动态分配方法。
基于前述发明构思,本发明还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任务资源动态分配方法。
本发明提出的任务资源动态分配方法及系统可以根据机房大小、查询时间段、Spark查询任务耗时、分配的资源(内存、CPU等)等历史查询的特征,实现压力感知功能,能够自动根据数据量大小、时间区间长度动态生成本次查询最佳的资源配置,确定Executor和Driver的内存/CPU/堆外内存、并行度等配置,基于生成的资源分配组合提交Spark的查询任务,实现资源的合理分配,提升任务查询的稳定性和查询的并发度。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (11)

1.一种任务资源动态分配方法,其特征在于,该方法包括:
采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵;
根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;
预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V;
在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S;
对所述相似性矩阵S进行归一化处理,构建权重值矩阵A;
根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源分配矩阵V中每个待分配的资源特征进行取值;
利用取值后的任务资源分配矩阵V进行任务资源分配。
2.根据权利要求1所述的任务资源动态分配方法,其特征在于,采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵,包括:
采集包括集群使用资源、任务数据量、任务数据文件数及任务允许最大时耗在内的Spark历史任务执行时的任务信息,构建历史任务信息矩阵;其中,
所述集群使用资源包括集群使用CPU的数量、集群使用内存、集群堆外内存、集群堆内内存、集群IO及集群进程数;
所述历史任务信息矩阵中每行代表一个Spark任务,每一列代表一个特征,矩阵的特征包括集群使用资源、任务数据量、任务数据文件数、任务允许最大时耗及任务类型。
3.根据权利要求2所述的任务资源动态分配方法,其特征在于,根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵,包括:
采集包括Executor值、Executor core值、CPU的个数、堆内内存、堆外内存、Driver内存及并行度在内的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;
所述历史任务资源分配矩阵中每行代表一个Spark任务,每一列代表一个特征,矩阵的特征包括Executor值、Executor core值、CPU的个数、堆内内存、堆外内存、Driver内存、并行度及任务类型。
4.根据权利要求3所述的任务资源动态分配方法,其特征在于,该方法还包括:
根据采集到的所述Spark历史任务执行时分配的资源,将历史任务信息矩阵及历史任务资源分配矩阵中每个Spark任务的任务类型划分为正常、失败或超时;其中,
统计由于资源分配不足导致超时或失败的任务,记录任务类型为超时;
统计由于资源分配过多导致异常的任务,记录任务类型为失败;
统计查询耗时小于任务允许最大时耗的任务,记录任务类型为正常。
5.根据权利要求4所述的任务资源动态分配方法,其特征在于,预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V,包括:
预设的待分配Spark任务在任务执行时的所述任务信息矩阵U为:
U=[C,M,I,O,Q,N,F,T,P];
其中,C为集群使用CPU的数量,个;
M为集群使用内存,G;
I为集群堆内内存,G;
O为集群堆外内存,G;
Q为集群IO,KB/s;
N为任务数据量,G;
F为任务数据文件数,G;
T为任务允许最大时耗,s;
P为集群进程数,个;
预设的待分配Spark任务在任务执行时的所述任务资源分配矩阵V为:
V=[E',R',C',I',O',M',P'];
其中,E'为Executor值;
R'为Executor core值;
C'为CPU的个数,个;
I'为堆内内存,G;
O'为堆外内存,G;
M'为Driver内存,
G;P'为并行度。
6.根据权利要求5所述的任务资源动态分配方法,其特征在于,在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S,包括:
得到的所述相似性矩阵S为:
S=[s1,s2,…,sn];
其中,si(i=1、2、…、n)为任务信息矩阵U和任务类型为正常的历史任务信息矩阵的相似性。
7.根据权利要求6所述的任务资源动态分配方法,其特征在于,对所述相似性矩阵S进行归一化处理,构建权重值矩阵A,还包括:
构建的所述权重值矩阵A为:
A=[a1,a2,…,an];
其中,ai(i=1、2、…、n)为权重值;
ai通过归一化指数函数计算得到,用于突出高权重任务,计算式为:
Figure FDA0002284426360000031
8.根据权利要求7所述的任务资源动态分配方法,其特征在于,根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源分配矩阵V中每个待分配的资源特征进行取值,还包括:
所述任务资源分配矩阵V中,每个待分配的资源特征所取的值为:
X=(X1×a1+X2×a2+…+Xn×an);
X为所述任务资源分配矩阵V中E'、R'、C'、I'、O'、M'及P'所取的值;
Xi(i=1、2、…、n)是相似性为si(i=1、2、…、n)的历史任务信息矩阵所对应的历史任务资源分配矩阵中的Executor值、Executor core值、CPU的个数、堆内内存、堆外内存、Driver内存及并行度。
9.一种任务资源动态分配系统,其特征在于,该系统包括:
历史任务信息矩阵构建模块,用于采集Spark历史任务执行时的任务信息,构建历史任务信息矩阵;
历史任务资源分配矩阵构建模块,用于根据所述历史任务信息矩阵,采集对应的Spark历史任务执行时分配的资源,构建历史任务资源分配矩阵;
矩阵预设模块,用于预设待分配Spark任务在任务执行时的任务信息矩阵U以及任务资源分配矩阵V;
相似性计算模块,用于在所述历史任务信息矩阵中,选取任务类型为正常的历史任务信息矩阵,通过余弦相似性计算得到所述任务信息矩阵U与所述任务类型为正常的历史任务信息矩阵的相似性,构建相似性矩阵S;
归一化处理模块,用于对所述相似性矩阵S进行归一化处理,构建权重值矩阵A;
待分配资源指标取值模块,用于根据所述权重值矩阵A以及所述历史任务资源分配矩阵,对所述任务资源分配矩阵V中每个待分配的资源特征进行取值;
任务资源分配模块,用于利用取值后的任务资源分配矩阵V进行任务资源分配。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一所述方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任一所述方法。
CN201911154418.7A 2019-11-22 2019-11-22 一种任务资源动态分配方法及系统 Active CN110968425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911154418.7A CN110968425B (zh) 2019-11-22 2019-11-22 一种任务资源动态分配方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911154418.7A CN110968425B (zh) 2019-11-22 2019-11-22 一种任务资源动态分配方法及系统

Publications (2)

Publication Number Publication Date
CN110968425A true CN110968425A (zh) 2020-04-07
CN110968425B CN110968425B (zh) 2022-12-06

Family

ID=70031224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911154418.7A Active CN110968425B (zh) 2019-11-22 2019-11-22 一种任务资源动态分配方法及系统

Country Status (1)

Country Link
CN (1) CN110968425B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552569A (zh) * 2020-04-28 2020-08-18 咪咕文化科技有限公司 系统资源调度方法、装置及存储介质
CN111737190A (zh) * 2020-07-03 2020-10-02 北京智芯微电子科技有限公司 嵌入式系统的动态软硬件协同方法、嵌入式系统
CN112764935A (zh) * 2021-01-29 2021-05-07 中国平安人寿保险股份有限公司 大数据处理方法、装置、电子设备及存储介质
CN117707743A (zh) * 2024-02-05 2024-03-15 天津凯发电气股份有限公司 一种智慧车站能源管控系统任务执行方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081728A (ja) * 2009-10-09 2011-04-21 Ntt Data Corp 推薦コンテンツ抽出装置、推薦コンテンツ抽出方法および推薦コンテンツ抽出プログラム
CN104391749A (zh) * 2014-11-26 2015-03-04 北京奇艺世纪科技有限公司 一种资源分配方法及装置
CN105761155A (zh) * 2015-08-26 2016-07-13 北京师范大学 一种基于历史案例的农业旱灾灾情快速评估方法
CN107562608A (zh) * 2017-08-11 2018-01-09 东软集团股份有限公司 资源指标重要度评估方法及装置
CN109144734A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种容器资源配额分配方法和装置
US20190220293A1 (en) * 2016-12-19 2019-07-18 Tencent Technology (Shenzhen) Company Limited Startup resource loading method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081728A (ja) * 2009-10-09 2011-04-21 Ntt Data Corp 推薦コンテンツ抽出装置、推薦コンテンツ抽出方法および推薦コンテンツ抽出プログラム
CN104391749A (zh) * 2014-11-26 2015-03-04 北京奇艺世纪科技有限公司 一种资源分配方法及装置
CN105761155A (zh) * 2015-08-26 2016-07-13 北京师范大学 一种基于历史案例的农业旱灾灾情快速评估方法
US20190220293A1 (en) * 2016-12-19 2019-07-18 Tencent Technology (Shenzhen) Company Limited Startup resource loading method and apparatus
CN107562608A (zh) * 2017-08-11 2018-01-09 东软集团股份有限公司 资源指标重要度评估方法及装置
CN109144734A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种容器资源配额分配方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姜宇等: "基于点击流的用户矩阵模型相似度个性化推荐", 《计算机工程》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552569A (zh) * 2020-04-28 2020-08-18 咪咕文化科技有限公司 系统资源调度方法、装置及存储介质
CN111552569B (zh) * 2020-04-28 2023-10-20 咪咕文化科技有限公司 系统资源调度方法、装置及存储介质
CN111737190A (zh) * 2020-07-03 2020-10-02 北京智芯微电子科技有限公司 嵌入式系统的动态软硬件协同方法、嵌入式系统
CN112764935A (zh) * 2021-01-29 2021-05-07 中国平安人寿保险股份有限公司 大数据处理方法、装置、电子设备及存储介质
CN117707743A (zh) * 2024-02-05 2024-03-15 天津凯发电气股份有限公司 一种智慧车站能源管控系统任务执行方法、装置及设备
CN117707743B (zh) * 2024-02-05 2024-05-14 天津凯发电气股份有限公司 一种智慧车站能源管控系统任务执行方法、装置及设备

Also Published As

Publication number Publication date
CN110968425B (zh) 2022-12-06

Similar Documents

Publication Publication Date Title
CN110968425B (zh) 一种任务资源动态分配方法及系统
US11275743B2 (en) System and method for analyzing data records
CN106502791A (zh) 一种任务分配方法及装置
US20190229992A1 (en) System and Methods for Auto-Tuning Big Data Workloads on Cloud Platforms
CN102880510A (zh) 基于多数据架构中心面向数据密集型应用的并行编程方法
Mohamed et al. Accelerating data-intensive genome analysis in the cloud
US20200272526A1 (en) Methods and systems for automated scaling of computing clusters
US9785581B2 (en) Memory distribution across multiple non-uniform memory access nodes
CN108132834A (zh) 多级共享高速缓冲存储器架构下的任务分配方法和系统
US8312465B2 (en) Real-time CPU dispatcher affinity re-balancing
WO2021017701A1 (zh) Spark性能优化控制方法、装置、设备及存储介质
CN110908803B (zh) 一种基于余弦相似度算法的作业分配方法
CN111125070A (zh) 一种数据交换方法及平台
Li et al. Comparative analysis of energy-efficient scheduling algorithms for big data applications
CN116010447A (zh) 一种优化异构数据库用户查询的负载均衡方法及装置
Wang et al. Improving utilization through dynamic VM resource allocation in hybrid cloud environment
CN113867953A (zh) 一种资源分配方法、装置、存储介质和电子设备
CN114860449A (zh) 数据处理方法、装置、设备和存储介质
CN113626194A (zh) 一种报表文件生成方法、装置、设备及可读存储介质
US7171519B2 (en) System, method and program for assessing the activity level of a database management system
US10198206B2 (en) Memory mode categorizations
Zhu et al. Impact of Resource Millibottlenecks on Large-Scale Time Fluctuations in Spark SQL
Choi et al. Efficient classification of application characteristics by using hardware performance counters with data mining
Antypas et al. Dynamic reduce task adjustment for hadoop workloads
Koo et al. Utilizing progressive file layout leveraging ssds in hpc cloud environments

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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 702-2, No. 4811, Cao'an Highway, Jiading District, Shanghai

Patentee after: CHINA UNITECHS

Address before: 100872 5th floor, Renmin culture building, 59 Zhongguancun Street, Haidian District, Beijing

Patentee before: CHINA UNITECHS