CN111552569A - 系统资源调度方法、装置及存储介质 - Google Patents
系统资源调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111552569A CN111552569A CN202010348535.3A CN202010348535A CN111552569A CN 111552569 A CN111552569 A CN 111552569A CN 202010348535 A CN202010348535 A CN 202010348535A CN 111552569 A CN111552569 A CN 111552569A
- Authority
- CN
- China
- Prior art keywords
- executed
- task
- historical
- data volume
- determining
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 11
- 238000005457 optimization Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及数据处理技术领域,公开了一种系统资源调度方法、装置及存储介质,包括:获取待执行任务的当前数据量;确定待执行任务是否存在历史执行记录;若存在历史执行记录,则根据待执行任务的当前数据量及历史执行记录确定系统资源配置参数;根据系统资源配置参数为待执行任务分配系统资源,从而提高了系统资源利用率。
Description
技术领域
本发明实施例涉及数据处理技术领域,特别涉及一种系统资源调度方法、装置及存储介质。
背景技术
随着公司大数据发展的不断深入,在分布式系统(Hadoop Distributed FileSystem,Hadoop)上的项目越来越多,通过调度系统提交的数据仓库工具hive任务也越来越多,但是Hadoop系统资源是有限的。
Hadoop系统资源通过队列(queue)控制,同时会给队列预先分配一定比例的系统资源,当调度系统提交任务时,只是将一类用户、以及该类用户下的所有任务提交给系统,系统资源管理器会将这些任务全部分配到预先设定好的队列里面,这样该类用户下的所有任务会在这个队列里面通过竞争的方式来获取系统资源。
然而,发明人发现现有技术中至少存在如下问题:由于不同时期该类用户下的所有任务的任务数量的不同,可能会导致获取的系统资源不足或浪费,导致系统资源利用率较低。
发明内容
本发明实施方式的目的在于提供一种系统资源调度方法、装置及存储介质,提高了系统资源利用率。
为解决上述技术问题,本发明的实施方式提供了一种系统资源调度方法,包括:获取待执行任务的当前数据量;确定所述待执行任务是否存在历史执行记录;若存在所述历史执行记录,则根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数;根据所述系统资源配置参数为所述待执行任务分配系统资源。
本发明的实施方式还提供了一种系统资源调度装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的系统资源调度方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述系统资源调度方法。
本发明实施方式相对于现有技术而言提供了一种系统资源调度方法,通过调度系统,根据每个待执行任务的当前数据量、以及历史执行记录来共同确定该待执行任务的系统资源配置参数,从而为待执行任务分配系统资源,根据每个待执行任务的当前数据量的不同动态地调整分配的系统资源,从而使得待执行任务分配到的系统资源更加符合该待执行任务的系统资源需求量,大大提高了系统资源的利用率。且随着该待执行任务的执行次数越来越多,该待执行任务的历史执行记录也会越来越丰富,根据待执行任务的当前数据量及历史执行记录所确定的系统资源配置参数更加准确,分配给待执行任务的系统资源会更加符合该待执行任务的系统资源需求量,实现了系统资源调度的自动优化。
另外,所述确定所述待执行任务是否存在历史执行记录之后,还包括;若不存在所述历史执行记录,则根据所述待执行任务的当前数据量及预设的第一调节值确定所述系统资源配置参数。
另外,所述根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数之前,还包括:判断所述待执行任务的历史执行记录是否满足预设条件;在所述待执行任务的历史执行记录不满足所述预设条件时,根据所述待执行任务的当前数据量及预设的第一调节值确定系统资源配置参数;所述根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数,包括:在所述待执行任务的历史执行记录满足所述预设条件时,根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数。
另外,所述系统资源配置参数包括:调整后切片大小;所述历史执行记录包括:所述待执行任务的历史切片大小、与所述历史切片大小对应的历史切片数量;所述根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数,包括:根据所述历史执行记录确定所述待执行任务的平均历史切片大小以及平均历史切片数量;根据所述平均历史切片大小和所述平均历史切片数量确定所述待执行任务的平均历史数据量;根据所述待执行任务的当前数据量以及所述平均历史切片数量确定第二调节值;根据所述待执行任务的平均历史数据量、所述第二调节值确定所述调整后切片大小。
另外,所述历史执行记录还包括:所述待执行任务的历史数据量,每个所述历史数据量对应记录有所述历史切片大小和所述历史切片数量;所述根据所述历史执行记录确定所述待执行任务的平均历史切片大小以及平均历史切片数量,包括:确定所述待执行任务的历史数据量与当前数据量的差值占所述当前数据量的差值百分比;获取多个所述差值百分比在所述第一预设范围内的历史数据量、以及每个所述历史数据量对应的历史切片大小和历史切片数量,得到多个所述历史切片大小及多个所述历史切片数量;根据多个所述历史切片大小确定所述平均历史切片大小、根据多个所述历史切片数量确定所述平均历史切片数量。
另外,所述获取待执行任务的当前数据量,包括:获取用户提交的所述待执行任务的第一数据量、以及第一计算类型,并调度系统的所述待执行任务的第二数据量、以及第二计算类型;确定所述第一计算类型与所述第二计算类型是否相同;若所述第一计算类型与所述第二计算类型相同,则确定所述第一数据量与所述第二数据量的差值占所述第二数据量的误差百分比;确定所述误差百分比是否处于第二预设范围;若所述误差百分比处于所述第二预设范围内,则将所述第一数据量确定为所述待执行任务的当前数据量。
另外,所述确定所述误差百分比是否处于第二预设范围之后,还包括:若所述误差百分比不处于所述第二预设范围内,则将所述第二数据量确定为所述待执行任务的当前数据量。
另外,所述系统资源配置参数包括:调整后切片大小;所述根据所述系统资源配置参数为所述待执行任务分配系统资源,包括:根据所述调整后切片大小确定所述待执行任务的内存大小、及CPU核数;根据所述调整后切片大小、所述内存大小以及所述CPU核数为所述待执行任务分配系统资源。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是根据本发明第一实施方式的系统资源调度方法中的流程示意图;
图2是根据本发明第二实施方式的系统资源调度方法中的流程示意图;
图3是根据本发明第三实施方式的系统资源调度装置中的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
现有技术方案中系统资源通过队列来控制,虽然队列可以指定使用系统资源占集群百分比的最小值和最大值,但是也不可避免的面对以下场景,会导致获取的系统资源不足或浪费,导致系统资源利用率较低。例如:第一天某一类用户的所有任务的数据量需要使用20%的系统资源,而队列分配的系统资源为5%-20%,所以第一天既没有浪费系统资源,也能准点的完成该类用户的所有任务。但是,若第二天该类用户的所有任务的数据量较少,实际只需要1%的系统资源时,而此时队列最少还是提供5%的系统资源,就会导致了系统资源的浪费;若第三天执行该类用户的所有任务时,因为到了月底数据量暴增,实际需要占用30%的系统资源,而队列能提供最大的系统资源只有20%,就会导致计算任务延迟、工作滞后。
针对于此,本发明的第一实施方式涉及一种系统资源调度方法,本实施方式的核心在于提供一种系统资源调度方法,包括:获取待执行任务的当前数据量;确定所述待执行任务是否存在历史执行记录;若存在所述历史执行记录,则根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数;根据所述系统资源配置参数为所述待执行任务分配系统资源。
通过调度系统,根据每个待执行任务的当前数据量、以及历史执行记录来共同确定该待执行任务的系统资源配置参数,从而为待执行任务分配系统资源,根据每个待执行任务的当前数据量的不同动态地调整分配的系统资源,从而使得待执行任务分配到的系统资源更加符合该待执行任务的系统资源需求量,大大提高了系统资源的利用率。且随着该待执行任务的执行次数越来越多,该待执行任务的历史执行记录也会越来越丰富,根据待执行任务的当前数据量及历史执行记录所确定的系统资源配置参数更加准确,分配给待执行任务的系统资源会更加符合该待执行任务的系统资源需求量,实现了系统资源调度的自动优化。
下面对本实施方式的系统资源调度方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的系统资源调度方法的流程示意图如图1所示:
步骤101:获取待执行任务的当前数据量。
具体地说,在hive待执行任务执行前,调度agent计算实体通过结构化查询语言(Structured Query Language,sql)获取执行计划(执行计划中包括待执行任务的当前数据量),或者,直接获取用户提交的待执行任务的基础信息,该基础信息包括:待执行任务的所有表大小,求取待执行任务的所有表大小之和即为待执行任务的当前数据量。
步骤102:确定待执行任务是否存在历史执行记录。若存在历史执行记录,则执行步骤103;否则,执行步骤105。
具体地说,每一个hive待执行任务在执行完成后都会生成一条执行记录,该执行记录会被记录到mysql数据库中。例如:hive待执行任务在调度系统上,可以体现为一个工作流,每个工作流会有一个唯一的执行id;执行过的工作流id会被记录到mysql数据库中,执行记录可包括执行id、开始时间、结束时间、总耗时、表大小、map切片数、map切片大小等。在hive待执行任务执行前,可通过hive待执行任务包括的执行id,在mysql数据库中检索是否存在对应id的历史执行记录。若存在历史执行记录,则执行步骤103(根据待执行任务的当前数据量及历史执行记录确定系统资源配置参数);若不存在历史执行记录,则执行步骤104(根据待执行任务的当前数据量及预设的第一调节值确定系统资源配置参数)。
步骤103:判断待执行任务的历史执行记录是否满足预设条件。若满足,则执行步骤104;否则,执行步骤105。
具体地说,在确定待执行任务存在历史执行记录时,还可进一步判断待执行任务的历史执行记录是否满足预设条件,若满足预设条件,则执行步骤104(根据待执行任务的当前数据量及历史执行记录确定系统资源配置参数);若不满足预设条件,则执行步骤105(根据待执行任务的当前数据量及预设的第一调节值确定系统资源配置参数)。
其中,预设条件可以为预设条数,即待执行任务的历史执行记录是否达到预设条数,若达到预设条数,则判定待执行任务的历史执行记录满足预设条件;若未达到预设条数,则判定待执行任务的历史执行记录不满足预设条件。本实施方式中预设条数可以为5条,预设条数越多,则后续在确定系统资源配置参数时可以参考的历史执行记录越多,使得确定的系统资源配置参数更加的准确。但本实施方式对预设条数的具体数值不做限定,可根据实际需求自行设置。可选地,预设条件可以为预设时长,即待执行任务的历史执行记录的总耗费时长是否达到预设时长,若达到预设时长,则判定待执行任务的历史执行记录满足预设条件;若未达到预设时长,则判定待执行任务的历史执行记录不满足预设条件。本实施方式对预设时长的具体数值不做限定,可根据实际需求自行设置。预设时长越长,则历史执行记录中待执行任务的总耗费时长越长,待执行任务的历史执行次数越多,则后续在确定系统资源配置参数时可以参考的历史执行记录越多,使得确定的系统资源配置参数更加的准确。
步骤104:根据待执行任务的当前数据量及历史执行记录确定系统资源配置参数。
本实施方式在待执行任务的历史执行记录满足预设条件时,根据待执行任务的当前数据量及历史执行记录确定系统资源配置参数。
系统资源配置参数包括:调整后切片大小;历史执行记录包括:待执行任务的历史切片大小、与历史切片大小对应的历史切片数量;根据待执行任务的当前数据量及历史执行记录确定系统资源配置参数,包括:根据历史执行记录确定待执行任务的平均历史切片大小以及平均历史切片数量;根据平均历史切片大小和平均历史切片数量确定待执行任务的平均历史数据量;根据待执行任务的当前数据量以及平均历史切片数量确定第二调节值;根据待执行任务的平均历史数据量、第二调节值确定调整后切片大小。
具体地说,本实施方式中系统资源配置参数至少包括:调整后切片大小,所有的切片均为map切片。历史执行记录至少包括:待执行任务的历史切片大小、与历史切片大小对应的历史切片数量,还包括:待执行任务的历史数据量,每个历史数据量对应记录有历史切片大小和历史切片数量。
若确定待执行任务存在历史执行记录,则确定该待执行任务不是第一次执行,此时,根据待执行任务的当前数据量及历史执行记录来确定系统资源配置参数。
首先,根据历史执行记录确定待执行任务的平均历史切片大小以及平均历史切片数量。
具体地说,确定与待执行任务的当前数据量的差值在第一预设范围内的历史数据量;获取多个差值在第一预设范围内的历史数据量、以及每个历史数据量的历史切片大小和历史切片数量;根据历史切片大小确定平均历史切片大小、根据历史切片数量确定平均历史切片数量。值得说明的是,该第一预设范围可由用户根据实际需要自行设置,其中,该第一预设范围为±10%,即就是说,历史数据量与当前数据量差值占当前数据量的差值百分比在±10%,则确定该待执行任务的历史数据量与待执行任务的当前数据量相差不大。
由于待执行任务的历史数据量不同,则待执行任务的历史切片大小、以及与历史切片大小对应的历史切片数量也不相同。因此,本实施方式中通过确定待执行任务的历史数据量与当前数据量的差值占当前数据量的差值百分比;获取多个差值百分比在第一预设范围内的历史数据量、以及每个历史数据量对应的历史切片大小和历史切片数量,得到多个历史切片大小及多个历史切片数量;根据多个历史切片大小确定平均历史切片大小、根据多个历史切片数量确定平均历史切片数量,该若差值百分比在第一预设范围内,则表征待执行任务的历史数据量与当前数据量相当,第一预设范围可设置为±10%,若差值百分比在该第一预设范围内,从而使得确定的平均历史切片大小更加符合待执行任务的实际切片大小,确定的平均历史切片数量更加符合待执行任务的实际历史切片数量。其中,多个差值百分比的“多个”的具体数目可由用户自行设置,本实施方式中可设置为5,即获取至少5个差值百分比在第一预设范围内的待执行任务的历史数据量。
其次,根据平均历史切片大小和平均历史切片数量确定待执行任务的平均历史数据量。平均历史数据量=平均历史切片大小*平均历史切片数量。例如:以St表示平均历史数据量、A1表示平均历史切片数量、Sp1表示平均历史切片大小,则平均历史数据量St通过以下公式(1)确定:
St=A1*Sp1 (1)
之后,根据待执行任务的当前数据量以及平均历史切片数量确定第二调节值。第二调节值=当前数据量/默认消耗总内存,其中,默认消耗总内存=平均历史切片数量*默认切片大小。以B2表示第二调节值、S表示待执行任务的当前数据量、A1表示平均历史切片数量、N表示默认切片大小(调度系统在初次配置完成后,系统设置的默认切片大小为256M,该值为非固定的,也可以为其他的默认值大小,由用户根据实际需求自行设置),则第二调节值B2可通过以下公式确定:
B2=S/A1*N (2)
最后,据待执行任务的平均历史数据量、第二调节值确定调整后切片大小。以St表示所述平均历史数据量、B2表示所述第二调节值、N表示默认切片大小,则调整后切片大小通过以下公式确定:
M=St*B2/N (3)
步骤105:根据待执行任务的当前数据量及预设的第一调节值确定系统资源配置参数。
具体地说,若确定待执行任务不存在历史执行记录,或者,待执行任务的历史执行记录不满足预设条件,则确定该待执行任务为第一次执行,则采取基础调优策略。基础调优策略即为根据待执行任务的当前数据量及预设的第一调节值确定系统资源配置参数,系统资源配置参数至少包括调整后切片大小M。
以M表示调整后切片大小、S表示待执行任务的当前数据量、B1为预设的第一调节值、N为默认切片大小,则调整后切片大小M通过以下公式(4)确定:
M=S*B1/N (4)
具体地说,由于该待执行任务为首次执行,没有历史执行记录作为参考,因此B1默认为0.1,N默认为2G,可得出调整后map切片大小为M1=S*0.1/2
例如:待执行任务的当前数据量为10G,如果不进行该步骤对map切片大小进行调整,那么按照系统默认值,map切片大小M为默认值256M,那么根据内存消耗计算公式,消耗内存=[S*1024/M]*N,可以得出按照系统默认值待执行任务需要消耗的总内存为80G。而本实施方式中调整后map切片大小M为512M,那么根据内存消耗计算公式可得调整map切片大小后预计消耗总内存为40G。
步骤106:根据系统资源配置参数为待执行任务分配系统资源。
本实施方式中根据系统资源配置参数为待执行任务分配系统资源,包括:根据调整后切片大小确定待执行任务的内存大小、及CPU核数;根据调整后切片大小、内存大小以及CPU核数为待执行任务分配系统资源。
具体地说,待执行任务的消耗内存大小可通过调整后的map切片大小来确定,消耗内存大小=[当前数据量*1024/调整后的切片大小]*map的内存大小;待执行任务的CPU核数则可通过消耗内存大小来确定,Cpu核数=消耗内存大小(G)/4。得到待执行任务的调整后的map切片大小、内存大小以及CPU核数之后,根据这些参数来为待执行任务分配系统资源。进一步地,还可以计算出所需容器大小=消耗内存大小*1.33。
例如:一个hive待执行任务中可对应执行一张表或多张表的查询,假设该一张或多张表的大小和为100G,则确定待执行任务的当前数据量为100G,如果调整后的切片大小为500M,那么切片数量=(当前数据量*1024)/调整后的切片大小(即100G*1024/500M≈200),那么就将该一张或多张表逻辑切分为了200个。要对这200个逻辑切片进行处理,就会给每个逻辑切片分配一个map(这里的map可以理解为hive中为处理数据所分配的内存),如果map的内存大小设置为2G,那么200个切片,每个切片分配2G的内存,那么待执行任务需要消耗400G的内存,则所需的CPU核数为100个,所需容器大小为532G。
值得说明的是,hive待执行任务完成后,将本次待执行调整后的切片大小、内存大小以及CPU核数记录到数据库中,将每一次执行的执行结果记录下来作为历史执行记录,以此循环,随着该待执行任务的执行次数越来越多,该待执行任务的历史执行记录也会越来越丰富,根据待执行任务的当前数据量及历史执行记录所确定的系统资源配置参数更加准确,分配给待执行任务的系统资源会更加符合该待执行任务的系统资源需求量,实现了系统资源调度的自动优化。
与现有技术相比,本发明实施方式,通过调度系统,根据每个待执行任务的当前数据量、以及历史执行记录来共同确定该待执行任务的系统资源配置参数,从而为待执行任务分配系统资源,根据每个待执行任务的当前数据量的不同动态地调整分配的系统资源,从而使得待执行任务分配到的系统资源更加符合该待执行任务的系统资源需求量,大大提高了系统资源的利用率。且随着该待执行任务的执行次数越来越多,该待执行任务的历史执行记录也会越来越丰富,根据待执行任务的当前数据量及历史执行记录所确定的系统资源配置参数更加准确,分配给待执行任务的系统资源会更加符合该待执行任务的系统资源需求量,实现了系统资源调度的自动优化。
本发明的第二实施方式涉及一种系统资源调度方法。第二实施方式是对第一实施方式的改进,主要改进之处在于,通过获取用户提交的待执行任务的第一数据量、以及第一计算类型,并调度系统的待执行任务的第二数据量、以及第二计算类型,从而在计算类型相同时,依据第一数据量和第二数据量的大小不同来选取不同的数据量来作为待执行任务的当前数据量,使得确定的待执行任务的当前数据量更加准确。
本实施方式中的系统资源调度方法的流程示意图如图2所示,具体包括:
步骤201:获取用户提交的待执行任务的第一数据量、以及第一计算类型,并调度系统的待执行任务的第二数据量、以及第二计算类型。
具体的说,调度agent提交hive待执行任务前,获取用户提交的表大小,根据用户提交的表大小来确定第一数据量U1,并获取第一计算类型C1(表关联查询、group聚集或者其他类型)。
另外,还调度系统的待执行任务的第二数据量U2、以及第二计算类型C2,通过调度agent收集执行计划进行分析得到第二数据量U2、以及第二计算类型C2。具体调度过程如下:首先,通过分析map过程所获取的扫描信息中的特征值里的Data size,以确定表数据量的大小;在STAGE PLANS里面每一个stage都会有map和reduce过程。map过程会对表进行扫描,扫描信息中的特征值里的Data size表示表数据量,将每个表的数据量的总和即为该待执行任务的第二数据量U2。其次,继续分析reduce过程对表进行扫描后的扫描信息中的操作信息,以确定该待执行任务的第二计算类型C2,reduce过程是对计算逻辑实现的过程,扫描信息中的操作信息可以得出是表关联查询类型、group聚集类型或其他计算类型。
步骤202:确定第一计算类型与第二计算类型是否相同。若相同,则执行步骤203;否则,该流程结束。
具体的说,通过得到的第一计算类型C1和第二计算类型C2来确定待执行任务的计算类型是否相同,若相同,则执行步骤203(确定第一数据量与第二数据量的差值占第二数据量的误差百分比);若不相同,则该流程结束。通过确定待执行任务的相同计算类型的第一数据量与第二数据量来共同确定待执行任务的当前数据量,使得确定的待执行任务的当前数据量更加准确。
步骤203:确定第一数据量与第二数据量的差值占第二数据量的误差百分比。
具体地说,在得到用户提交的待执行任务的第一数据量U1、以及通过调度agent收集执行计划得到的第二数据量U2,计算第一数据量与第二数据量的差值占第二数据量的误差百分比,误差百分比=(U1-U2)/U2*100%。
步骤204:确定误差百分比是否处于第二预设范围内。若处于第二预设范围内,则执行步骤205;否则,执行步骤206。
步骤205:将第一数据量确定为待执行任务的当前数据量。
步骤206:将第二数据量确定为待执行任务的当前数据量。
针对上述步骤204至步骤206具体地说,设置一第二预设范围表征用户提交的待执行任务的第一数据量U1、以及通过调度agent收集执行计划得到的第二数据量U2之间的误差较小,例如第二预设范围可设置为±10%。若误差不超过±10%且计算类型相同时,则表明用户提交的数据量与调度的系统数据量大致相同,此时将第一数据量确定为待执行任务的当前数据量,即采用用户提交的待执行任务的当前数据量;若误差超过±10%且计算类型相同时,则表明用户提交的数据量与调度的系统数据量相差较大,此时将第二数据量确定为待执行任务的当前数据量,采用系统调度的待执行任务的当前数据量。该方案中通过获取用户提交的待执行任务的第一数据量、以及第一计算类型,并调度系统的待执行任务的第二数据量、以及第二计算类型,从而在计算类型相同时,依据第一数据量和第二数据量的大小不同来选取不同的数据量来作为待执行任务的当前数据量,使得确定的待执行任务的当前数据量更加准确。
步骤207:确定待执行任务是否存在历史执行记录。若存在,则执行步骤208;否则,执行步骤210。
步骤208:判断待执行任务的历史执行记录是否满足预设条件。若满足,则执行步骤209;否则,执行步骤210。
步骤209:根据待执行任务的当前数据量及历史执行记录确定系统资源配置参数。
步骤210:根据待执行任务的当前数据量及预设的第一调节值确定系统资源配置参数。
步骤211:根据系统资源配置参数为待执行任务分配系统资源。
上述步骤207至步骤211与第一实施方式中的步骤102至步骤106大致相同,为避免重读,本实施方式中不再赘述。
与现有技术相比,本发明实施方式中提供了一种系统资源调度方法,通过获取用户提交的待执行任务的第一数据量、以及第一计算类型,并调度系统的待执行任务的第二数据量、以及第二计算类型,从而在计算类型相同时,依据第一数据量和第二数据量的大小不同来选取不同的数据量来作为待执行任务的当前数据量,使得确定的待执行任务的当前数据量更加准确。
值得说明的是,上述两个实施方式中针对map切片大小做出了动态的调整优化,更加精确的、动态的分配了系统资源,最大限度的提高了系统资源的使用率,解决了公司系统资源的匮乏,用户间争用、抢夺系统资源的情况越来越严重的问题。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种系统资源调度装置,如图3所示,包括至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行上述任一实施方式中的系统资源调度方法。
其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器301和存储器302的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。
处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时、外围接口、电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器301在执行操作时所使用的数据。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式中的系统资源调度方法。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种系统资源调度方法,其特征在于,包括:
获取待执行任务的当前数据量;
确定所述待执行任务是否存在历史执行记录;
若存在所述历史执行记录,则根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数;
根据所述系统资源配置参数为所述待执行任务分配系统资源。
2.根据权利要求1所述的系统资源调度方法,其特征在于,所述确定所述待执行任务是否存在历史执行记录之后,还包括;
若不存在所述历史执行记录,则根据所述待执行任务的当前数据量及预设的第一调节值确定所述系统资源配置参数。
3.根据权利要求1所述的系统资源调度方法,其特征在于,所述根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数之前,还包括:
判断所述待执行任务的历史执行记录是否满足预设条件;
在所述待执行任务的历史执行记录不满足所述预设条件时,根据所述待执行任务的当前数据量及预设的第一调节值确定系统资源配置参数;
所述根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数,包括:
在所述待执行任务的历史执行记录满足所述预设条件时,根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数。
4.根据权利要求3所述的系统资源调度方法,其特征在于,所述系统资源配置参数包括:调整后切片大小;所述历史执行记录包括:所述待执行任务的历史切片大小、与所述历史切片大小对应的历史切片数量;
所述根据所述待执行任务的当前数据量及所述历史执行记录确定系统资源配置参数,包括:
根据所述历史执行记录确定所述待执行任务的平均历史切片大小以及平均历史切片数量;
根据所述平均历史切片大小和所述平均历史切片数量确定所述待执行任务的平均历史数据量;
根据所述待执行任务的当前数据量以及所述平均历史切片数量确定第二调节值;
根据所述待执行任务的平均历史数据量、所述第二调节值确定所述调整后切片大小。
5.根据权利要求4所述的系统资源调度方法,其特征在于,所述历史执行记录还包括:所述待执行任务的历史数据量,每个所述历史数据量对应记录有所述历史切片大小和所述历史切片数量;
所述根据所述历史执行记录确定所述待执行任务的平均历史切片大小以及平均历史切片数量,包括:
确定所述待执行任务的历史数据量与当前数据量的差值占所述当前数据量的差值百分比;
获取多个所述差值百分比在所述第一预设范围内的历史数据量、以及每个所述历史数据量对应的历史切片大小和历史切片数量,得到多个所述历史切片大小及多个所述历史切片数量;
根据多个所述历史切片大小确定所述平均历史切片大小、根据多个所述历史切片数量确定所述平均历史切片数量。
6.根据权利要求1所述的系统资源调度方法,其特征在于,所述获取待执行任务的当前数据量,包括:
获取用户提交的所述待执行任务的第一数据量、以及第一计算类型,并调度系统的所述待执行任务的第二数据量、以及第二计算类型;
确定所述第一计算类型与所述第二计算类型是否相同;
若所述第一计算类型与所述第二计算类型相同,则确定所述第一数据量与所述第二数据量的差值占所述第二数据量的误差百分比;
确定所述误差百分比是否处于第二预设范围内;
若所述误差百分比处于所述第二预设范围内,则将所述第一数据量确定为所述待执行任务的当前数据量。
7.根据权利要求6所述的系统资源调度方法,其特征在于,所述确定所述误差百分比是否处于第二预设范围之后,还包括:
若所述误差百分比不处于所述第二预设范围内,则将所述第二数据量确定为所述待执行任务的当前数据量。
8.根据权利要求1所述的系统资源调度方法,其特征在于,所述系统资源配置参数包括:调整后切片大小;所述根据所述系统资源配置参数为所述待执行任务分配系统资源,包括:
根据所述调整后切片大小确定所述待执行任务的内存大小、及CPU核数;
根据所述调整后切片大小、所述内存大小以及所述CPU核数为所述待执行任务分配系统资源。
9.一种系统资源调度装置,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一所述的系统资源调度方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一所述的系统资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010348535.3A CN111552569B (zh) | 2020-04-28 | 2020-04-28 | 系统资源调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010348535.3A CN111552569B (zh) | 2020-04-28 | 2020-04-28 | 系统资源调度方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552569A true CN111552569A (zh) | 2020-08-18 |
CN111552569B CN111552569B (zh) | 2023-10-20 |
Family
ID=72003124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010348535.3A Active CN111552569B (zh) | 2020-04-28 | 2020-04-28 | 系统资源调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552569B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111884868A (zh) * | 2020-09-07 | 2020-11-03 | 中国联合网络通信集团有限公司 | 网络切片预约方法及装置 |
CN117234711A (zh) * | 2023-09-05 | 2023-12-15 | 合芯科技(苏州)有限公司 | Flink系统资源动态分配方法、系统、设备及介质 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130155073A1 (en) * | 2011-12-14 | 2013-06-20 | Advanced Micro Devices, Inc. | Method and apparatus for power management of a processor in a virtual environment |
CN103324534A (zh) * | 2012-03-22 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 作业调度方法及其调度器 |
CN103699440A (zh) * | 2012-09-27 | 2014-04-02 | 北京搜狐新媒体信息技术有限公司 | 一种云计算平台系统为任务分配资源的方法和装置 |
CN103970520A (zh) * | 2013-01-31 | 2014-08-06 | 国际商业机器公司 | MapReduce架构中的资源管理方法、装置和架构系统 |
CN104968008A (zh) * | 2015-01-21 | 2015-10-07 | 深圳市腾讯计算机系统有限公司 | 一种接入调度方法、装置和系统 |
CN105138391A (zh) * | 2015-07-30 | 2015-12-09 | 中山大学 | 面向广域分布云系统公平的多任务虚拟机分配方法 |
CN105550209A (zh) * | 2015-12-02 | 2016-05-04 | 新浪网技术(中国)有限公司 | 一种资源处理方法及装置 |
US20160210060A1 (en) * | 2015-01-21 | 2016-07-21 | HGST Netherlands B.V. | Dynamic resource allocation within storage devices |
CN106203750A (zh) * | 2015-04-29 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种资源配置的方法及装置 |
CN106874100A (zh) * | 2015-12-10 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 计算资源分配方法及装置 |
CN107977257A (zh) * | 2016-10-25 | 2018-05-01 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法及装置 |
CN108259568A (zh) * | 2017-12-22 | 2018-07-06 | 东软集团股份有限公司 | 任务分配方法、装置、计算机可读存储介质及电子设备 |
CN108733464A (zh) * | 2017-04-18 | 2018-11-02 | 华为软件技术有限公司 | 一种确定计算任务的调度方案的方法及装置 |
CN109391505A (zh) * | 2017-08-11 | 2019-02-26 | 华为技术有限公司 | 网络实例管理方法及相关设备 |
CN109451540A (zh) * | 2018-12-13 | 2019-03-08 | 中国联合网络通信集团有限公司 | 一种网络切片的资源分配方法和设备 |
CN109783236A (zh) * | 2019-01-16 | 2019-05-21 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN110287245A (zh) * | 2019-05-15 | 2019-09-27 | 北方工业大学 | 用于分布式etl任务调度执行的方法及系统 |
CN110609745A (zh) * | 2018-06-15 | 2019-12-24 | 中移(苏州)软件技术有限公司 | 一种作业任务的执行方法、装置、电子设备、存储介质 |
CN110888732A (zh) * | 2018-09-10 | 2020-03-17 | 中国移动通信集团黑龙江有限公司 | 一种资源配置方法、设备、装置和计算机可读存储介质 |
CN110968425A (zh) * | 2019-11-22 | 2020-04-07 | 中盈优创资讯科技有限公司 | 一种任务资源动态分配方法及系统 |
-
2020
- 2020-04-28 CN CN202010348535.3A patent/CN111552569B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130155073A1 (en) * | 2011-12-14 | 2013-06-20 | Advanced Micro Devices, Inc. | Method and apparatus for power management of a processor in a virtual environment |
CN103324534A (zh) * | 2012-03-22 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 作业调度方法及其调度器 |
CN103699440A (zh) * | 2012-09-27 | 2014-04-02 | 北京搜狐新媒体信息技术有限公司 | 一种云计算平台系统为任务分配资源的方法和装置 |
CN103970520A (zh) * | 2013-01-31 | 2014-08-06 | 国际商业机器公司 | MapReduce架构中的资源管理方法、装置和架构系统 |
CN104968008A (zh) * | 2015-01-21 | 2015-10-07 | 深圳市腾讯计算机系统有限公司 | 一种接入调度方法、装置和系统 |
US20160210060A1 (en) * | 2015-01-21 | 2016-07-21 | HGST Netherlands B.V. | Dynamic resource allocation within storage devices |
CN106203750A (zh) * | 2015-04-29 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种资源配置的方法及装置 |
CN105138391A (zh) * | 2015-07-30 | 2015-12-09 | 中山大学 | 面向广域分布云系统公平的多任务虚拟机分配方法 |
CN105550209A (zh) * | 2015-12-02 | 2016-05-04 | 新浪网技术(中国)有限公司 | 一种资源处理方法及装置 |
CN106874100A (zh) * | 2015-12-10 | 2017-06-20 | 阿里巴巴集团控股有限公司 | 计算资源分配方法及装置 |
CN107977257A (zh) * | 2016-10-25 | 2018-05-01 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法及装置 |
CN108733464A (zh) * | 2017-04-18 | 2018-11-02 | 华为软件技术有限公司 | 一种确定计算任务的调度方案的方法及装置 |
CN109391505A (zh) * | 2017-08-11 | 2019-02-26 | 华为技术有限公司 | 网络实例管理方法及相关设备 |
CN108259568A (zh) * | 2017-12-22 | 2018-07-06 | 东软集团股份有限公司 | 任务分配方法、装置、计算机可读存储介质及电子设备 |
CN110609745A (zh) * | 2018-06-15 | 2019-12-24 | 中移(苏州)软件技术有限公司 | 一种作业任务的执行方法、装置、电子设备、存储介质 |
CN110888732A (zh) * | 2018-09-10 | 2020-03-17 | 中国移动通信集团黑龙江有限公司 | 一种资源配置方法、设备、装置和计算机可读存储介质 |
CN109451540A (zh) * | 2018-12-13 | 2019-03-08 | 中国联合网络通信集团有限公司 | 一种网络切片的资源分配方法和设备 |
CN109783236A (zh) * | 2019-01-16 | 2019-05-21 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN110287245A (zh) * | 2019-05-15 | 2019-09-27 | 北方工业大学 | 用于分布式etl任务调度执行的方法及系统 |
CN110968425A (zh) * | 2019-11-22 | 2020-04-07 | 中盈优创资讯科技有限公司 | 一种任务资源动态分配方法及系统 |
Non-Patent Citations (2)
Title |
---|
唐伦: "5G网络切片场景中基于预测的虚拟网络功能动态部署算法", 《电子与信息学报》, vol. 41, no. 9, pages 2071 - 2078 * |
韩泽宇: "云计算环境下基于时间片预测的虚拟机带宽动态调整策略", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 08, pages 137 - 9 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111884868A (zh) * | 2020-09-07 | 2020-11-03 | 中国联合网络通信集团有限公司 | 网络切片预约方法及装置 |
CN111884868B (zh) * | 2020-09-07 | 2023-04-18 | 中国联合网络通信集团有限公司 | 网络切片预约方法及装置 |
CN117234711A (zh) * | 2023-09-05 | 2023-12-15 | 合芯科技(苏州)有限公司 | Flink系统资源动态分配方法、系统、设备及介质 |
CN117234711B (zh) * | 2023-09-05 | 2024-05-07 | 合芯科技(苏州)有限公司 | Flink系统资源动态分配方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111552569B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936359B2 (en) | Task resource scheduling method and apparatus | |
CN110096349B (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
US10558498B2 (en) | Method for scheduling data flow task and apparatus | |
US9740526B2 (en) | Job scheduling method | |
CN110166282A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN111552569A (zh) | 系统资源调度方法、装置及存储介质 | |
CN103699433B (zh) | 一种于Hadoop平台中动态调整任务数目的方法及系统 | |
CN105373426B (zh) | 一种基于Hadoop的车联网内存感知实时作业调度方法 | |
CN108241539B (zh) | 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备 | |
CN109542600B (zh) | 分布式任务调度系统及方法 | |
CN108595254A (zh) | 一种查询调度方法 | |
CN110502321A (zh) | 一种资源调度方法及系统 | |
CN110874265A (zh) | 一种快速采集数据方法、装置、设备及存储介质 | |
CN112243025B (zh) | 节点成本的调度方法、电子设备及存储介质 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN116820729A (zh) | 离线任务调度方法、装置及电子设备 | |
CN112214328B (zh) | 一种用于同构多链中交易处理的负载均衡方法 | |
CN113641487A (zh) | 一种大数据平台sql任务执行引擎智能自动切换的方法 | |
CN116627356B (zh) | 一种大容量存储数据的分布控制方法及系统 | |
CN114860449B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN116389591A (zh) | 一种基于跨域分布式处理系统及调度优化方法 | |
CN113553175B (zh) | 面向交通数据流的最优排序算法选择方法 | |
CN115408384A (zh) | 数据库访问方法、设备及存储介质 | |
CN107276833A (zh) | 一种节点信息管理方法及装置 | |
CN107885589A (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 |