CN109189572B - 一种资源预估方法及***、电子设备和存储介质 - Google Patents

一种资源预估方法及***、电子设备和存储介质 Download PDF

Info

Publication number
CN109189572B
CN109189572B CN201810868916.7A CN201810868916A CN109189572B CN 109189572 B CN109189572 B CN 109189572B CN 201810868916 A CN201810868916 A CN 201810868916A CN 109189572 B CN109189572 B CN 109189572B
Authority
CN
China
Prior art keywords
execution graph
cost
physical execution
physical
graph
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
CN201810868916.7A
Other languages
English (en)
Other versions
CN109189572A (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.)
Yi Tai Fei Liu Information Technology LLC
Original Assignee
Yi Tai Fei Liu Information Technology LLC
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 Yi Tai Fei Liu Information Technology LLC filed Critical Yi Tai Fei Liu Information Technology LLC
Priority to CN201810868916.7A priority Critical patent/CN109189572B/zh
Publication of CN109189572A publication Critical patent/CN109189572A/zh
Application granted granted Critical
Publication of CN109189572B publication Critical patent/CN109189572B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Abstract

本发明实施例涉及大数据技术领域,公开了一种资源预估方法及***、电子设备和存储介质。该资源预估方法包括:根据获取到的逻辑执行图生成全部的物理执行图;其中,所述逻辑执行图对应至少一个的物理执行图;根据代价估算模型确定每个所述物理执行图的代价值;将每个所述物理执行图的代价值与获取到的性能策略进行匹配,确定出最优的物理执行图;其中,所述最优的物理执行图的成本值最小。本发明中的资源预估方法,使得成本估算的过程中避免采用“预估”的方法获得数据量,在运算过程中获取用户的指标要求,确保计算得到的物理执行计划满足用户要求。

Description

一种资源预估方法及***、电子设备和存储介质
技术领域
本发明实施例涉及大数据技术领域,特别涉及一种资源预估方法及***、电子设备和存储介质。
背景技术
DAG是有向无环图(Directed Acyclic Graph)的简称。在大数据处理中,DAG计算常常指的是将计算任务在内部分解成为若干个子任务,根据若干个子任务之间的逻辑关系或顺序构建成DAG(有向无环图)结构。
DAG在分布式计算中是非常常见的一种结构,在各个细分领域均有应用,如:Dryad(微软并行软件平台),Flumejava(并发编程框架)和Tez等,DAG一般分为逻辑执行图和物理执行图。逻辑执行图,即是通过一定手段将计算任务分解成由若干子任务形成的DAG结构,其核心是表达的便捷性,主要是方便应用开发者快速描述或构建应用。物理执行图是DAG执行引擎层,主要目的是将上层以特殊方式表达的DAG计算任务通过转换和映射,将其部署到下层的物理机集群中运行,这层是DAG计算的核心部件,计算任务的调度,底层硬件的容错,数据与管理信息的传递,整个***的管理与正常运转等都需要由这层来完成。物理执行图最终在物理集群上分布式执行。
在逻辑执行图转换为物理执行图的过程中,需要根据数据的特点对数据的分发策略和执行方式进行区分,这个过程称为“物理执行计划优化”。比如一般情况下,对数据进行操作时应该尽可能避免数据在不同计算节点之间传输,降低IO(Input/Output,输入/输出)的延时。这时候往往会将数据在同一个计算节点之间的Partition(分区)之间传递。但当数据量很小,并且无法均匀分布在各个Partition中时,上面的数据分发策略则不是高效的,而应该将数据在各个Partition上进行重新平衡,然后再进行其他处理,这样可以充分的利用各个Partition进行并行处理。从上述例子可以看出,物理执行的优化与数据的属性等一些外部条件有关,不是一成不变的,并且该优化对于整个分布式执行的性能至关重要。
目前的主流大数据***都是基于代价预估(Cost Estimate)模型作为物理执行计划优化的依据。它封装了一些成本估算的因素同时提供了一些针对成本对象的计算方法(加、减、乘、除)以及对这些因素未知值的认定与校验。它们一般将成本估算的因素划分为两大类:可量化的成本估算因素:指代通过跟踪一个可量化的测量指标可以计算出的成本估算因素(比如网络或I/O的字节数);启发式的成本估算因素:指代那些不可定量计算的成本估算因素,因此只能给出一些定性的经验值。同时被纳入成本估算的因素如下:网络成本;磁盘I/O成本;中央处理器(CPU,Central Processing Unit)成本;启发式网络成本;启发式磁盘成本;启发式CPU成本。
发明人发现现有技术中至少存在如下问题:尽管在成本估算中纳入了网络IO、磁盘IO、CPU等等指标,但这些指标都是通过“输入数据量”来进行衡量,且存在不准确的问题,究其原因是这些指标在DAG执行之前已采用“预估”的方式获得。比如集群中少数节点的网络带宽存在瓶颈时,这些节点的网络IO必然存在性能问题,而这个网络的瓶颈很难通过“输入数据量”这个指标来预估。另外,对于同一业务逻辑,不同的用户其关注的指标可能不同,如有些用户希望“低延迟”,而另外的用户可能希望“高吞吐”,这种情况下,通过“数据量”预估计算得来的物理执行计划更不可能是完全满足用户要求的。
发明内容
本发明实施方式的目的在于提供一种资源预估方法及***、电子设备和存储介质,使得成本估算的过程中避免采用“预估”的方法获得数据量,在运算过程中获取用户的指标要求,确保计算得到的物理执行计划满足用户要求。
为解决上述技术问题,本发明的实施方式提供了一种资源预估方法,包括以下步骤:
根据获取到的逻辑执行图生成全部的物理执行图;其中,逻辑执行图对应至少一个的物理执行图;
根据代价估算模型确定每个物理执行图的代价值;
将每个物理执行图的代价值与获取到的性能策略进行匹配,确定出最优的物理执行图;其中,最优的物理执行图的成本值最小。
本发明的实施方式还提供了一种资源预估***,包括:生成模块、第一确定模块和第二确定模块;
生成模块,用于根据获取到的逻辑执行图生成全部的物理执行图;其中,逻辑执行图对应至少一个的物理执行图;
第一确定模块,用于根据代价估算模型确定每个物理执行图的代价值;
第二确定模块,用于将每个物理执行图的代价值与性能策略进行匹配,确定出最优的物理执行图;其中,最优的物理执行图的成本值最小。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的资源预估方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,其中,计算机程序被处理器执行时实现上述的资源预估方法。
本发明实施方式相对于现有技术而言,生成全部的物理执行图之后,根据代价估算模型确定每个物理执行图的代价值,避免直接使用预设的数据量确定物理执行成本,导致指标数据不准确的问题,并且,将每个物理执行图的代价值与获取到的性能策略进行匹配,其中,性能策略能够及时的反馈用户对该资源预估***的要求,使得确定出的最优的物理执行图能够满足用户要求,提升用户体验。
另外,代价估算模型包括至少一个的评估指标;
根据代价估算模型确定每个物理执行图的代价值,包括:在预设的时间长度内运行每个物理执行图;采集每个物理执行图运行过程中的每个评估指标值;根据每个评估指标值确定物理执行图的代价值。
该实施方式中,代价估算模型中包括至少一个的评估指标,且采用在预设时间长度内的运行方式确定评估指标值,提升了资源预估的准确性,能够更好的满足用户的需求。
另外,性能策略包括代价数据与性能要求之间的映射关系;
将每个物理执行图的代价值与获取到的性能策略进行匹配,确定出最优的物理执行图,包括:根据获取到的性能要求确定出对应的代价数据;将代价数据与每个物理执行图的代价值进行匹配;确定出满足性能策略的代价值最小的物理执行图。
该实施方式中,将用户的性能要求对应的具体的代价数据,能够将抽象的性能要求转化为数量上的要求,提升了用户体验,也进一步提升了资源预估的准确性。
另外,将每个物理执行图的代价值与性能策略进行匹配,确定出最优的物理执行图之前,资源预估方法还包括:获取使用者输入的性能策略。
该实施方式中,在资源预估的过程中获取用户输入的性能策略,使得最终确定的物理执行图更符合用户需求,满足用户的使用要求,进一步提升用户体验和资源预估的准确性。
另外,评估指标包括:网络输入/输出成本、磁盘输入/输出成本、中央处理器CPU成本、启发式网络输入/输出成本、启发式磁盘成本、启发式CPU成本。
另外,根据获取到的逻辑执行图生成全部的物理执行图之前,资源预估方法还包括:根据已编写完成的程序生成算子;根据算子生成有向无环图DAG的逻辑执行图;其中,逻辑执行图包括算子。
另外,根据获取到的逻辑执行图生成全部的物理执行图,包括:根据逻辑执行图中的算子确定全部的分区数据分发策略;其中,不同的分区数据分发策略中至少两个分区的数据分布不同;确定每个分区数据分发策略各自对应的物理执行图,得到全部的物理执行图。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明第一实施方式中资源预估方法的流程图;
图2是本发明第二实施方式中资源预估方法的流程图;
图3是本发明第三实施方式中资源预估***的结构图;
图4是本发明第四实施方式中资源预估***的结构图;
图5是本发明第五实施方式中电子设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种资源预估方法。具体流程如图1所示。包括如下步骤:
步骤101:根据获取到的逻辑执行图生成全部的物理执行图。
其中,逻辑执行图对应至少一个的物理执行图。具体的,在获取到用户编写的程序之后,根据用户编写的程序生成逻辑执行图,再确定出全部的物理执行图。
具体地说,步骤101具体包括:根据逻辑执行图中的算子确定全部的分区数据分发策略;其中,不同的分区数据分发策略中至少两个分区的数据分布不同;确定每个分区数据分发策略各自对应的物理执行图,得到全部的物理执行图。
一个具体实现中,用户编写的程序也称为用户编写的业务逻辑,一般情况下用户是通过编写程序的***提供的API(Application Programming Interface,应用程序编程接口)编写程序,其中,API中包括预设的定义函数,以便用户进行业务逻辑的编写,其中,预设的定义函数中包括算子,算子是函数中的映射关系,因此,在用户编写完成业务逻辑之后,会生成一个基于算子的逻辑执行图,其中,该逻辑执行图侧重于通过算子描述用户编写的业务逻辑。
值得一提的是,用户在编写业务逻辑时,使用API对数据进行处理,具体处理方式包括但不限于:Map(数据转换处理):对单个元素进行处理,输出依然是单个元素;FlatMap(数据转换处理):对单个元素进行处理,输出时多个元素;Filter(过滤处理):对数据进行过滤;Count(统计处理):对数据进行统计计数。具体地说,在用户编辑完成业务逻辑之后,是根据用户编写程序过程中调用的API的逻辑顺序生成逻辑执行图。
具体的,根据逻辑执行图中的算子确定可能的分区分发策略,根据数据分发策略尽可能确定出全部的物理执行计划,分区分发策略的确定包括但不限于以下几种:在同一个计算节点内的两个算子相同编号的分区之间传递数据,由于不涉及网络传输,因此传输效率很高;在所有计算节点之间按照数据中的属性(Key)的哈希值(Hash)进行目的分区的传递,保证相同的Key的数据对传输到同一个分区上,因为涉及到各个节点之间的数据传输,所以与网络的输出相关;数据在所有计算节点上的分区之间随机分发。其中,在生成全部的物理执行图是会依据各个分区中数据分布的所有可能,生成不同的物理执行图,进而确定出全部的物理执行图。
步骤102:根据代价估算模型确定每个物理执行图的代价值。
具体的,代价估算模型包括至少一个的评估指标;其中,评估指标包括:网络输入/输出成本、磁盘输入/输出成本、中央处理器(Central Processing Unit,简称“CPU”)成本、启发式网络输入/输出成本、启发式磁盘成本、启发式CPU成本。
其中,根据评估指标中的数据可确定出物理执行图的成本值,具体地说,评估指标中还包括,物理执行图执行过程中CPU的使用率,网络输入/输出(Input/Output,I/O)、磁盘I/O网络延时等,具体的,CPU的使用率表示物理执行图执行过程中的计算节点的平均CPU的使用率,网络I/O表示物理执行图执行过程中网络I/O的平均值,磁盘I/O表示物理执行图在执行过程中磁盘I/O的平均值,网络延时表示物理执行图在执行过程中网络通道的端到端的时间延迟。
需要说明的是,在物理执行图的执行过程中获取评价指标的数据能够确定出该物理执行图的成本值。获取的评估指标的数据越多越能够具体体现该物理执行图中的成本值,上述提到的评估指标仅是示例性说明,此处对于评估指标不做具体限制。
具体地说,步骤102具体包括:在预设的时间长度内运行每个物理执行图;采集每个物理执行图运行过程中的每个评估指标值;根据每个评估指标值确定物理执行图的代价值。
其中,在预设的时间长度中根据物理执行图的执行之后,如获取了CPU的使用率、网络I/O、磁盘I/O、网络延迟等评估指标的评估值,根据获取到的各个评估指标的评估值得到一个总的代价值如称为Cn,其中n表示第n个物理执行计划图。
需要说明的是,根据预设时间内执行的物理执行图确定出代价值,能够保证在资源预估的过程时获取当前***对物理执行图的成本值,可以将该过程理解为动态获取用户当前***运行物理执行图的代价值。
步骤103:将每个物理执行图的代价值与获取到的性能策略进行匹配,确定出最优的物理执行图。
其中,最优的物理执行图的成本值最小。
具体地说,性能策略包括代价数据与性能要求之间的映射关系。则在进行步骤103之前还需要执行的是:获取使用者输入的性能策略。例如,用户的性能策略可以为:高吞吐或低延时。其中,低延时(LOW_LATENCY),表示该性能策略下尽可能保证在网络通道中端到端的延迟最小;高吞吐(HIGH_THROGHOUTPUT),表示该性能策略下保证单位时间内处理的数据量最大,则对应的性能指标中,CPU的使用率、磁盘I/O、网络I/O等的使用率都最大化。上述的性能策略仅是示例性说明。
具体的,由于用户在设定性能策略之后,***需要将用户的性能要求转化为数值上的限定,还需要将性能指标转化为具体的评估指标的要求,如,在LOW_LATENCY的策略下,CPU的使用率不大于10%,磁盘I/O的平均读不高于10000字节每秒,网络I/O的延时平均为0.001ms(每条消息64字节)等。另外,在用户设定性能策略时还可根据需求再添加评估指标的要求,此处不做具体限定。
具体地说,步骤103具体包括:根据获取到的性能要求确定出对应的代价数据;将代价数据与每个物理执行图的代价值进行匹配;确定出满足性能策略的代价值最小的物理执行图。
其中,在获取到用户的性能要求之后,根据性能要求与代价数据之间的映射关系,确定出对应的代价值的取值,将代价值数据与每个物理执行图的代价值进行匹配就是筛选出符合用户的性能要求的物理执行图,将符合用户要求的物理执行图的代价值按照从小到大的顺序进行排列,并选择代价值最小的物理执行图作为最终的物理执行图。
需要说明的是,在确定出最优的物理执行图的过程中,获取用户的性能要求,并在全部的物理执行图中进行搜索,在预设时间内分别将每个物理执行图运行一次获取到每个物理执行图的代价值,避免陷入局部最优,且相比一般的开源的数据处理,更能够满足用户的要求,且执行效率更高。
相对于现有技术而言,生成全部的物理执行图之后,根据代价估算模型确定每个物理执行图的代价值,避免直接使用预设的数据量确定物理执行成本,导致指标数据不准确的问题,并且,将每个物理执行图的代价值与获取到的性能策略进行匹配,其中,性能策略能够及时的反馈用户对该资源预估***的要求,使得确定出的最优的物理执行图为满足用户要求,提升用户体验。
本发明的第二实施方式涉及一种资源预估方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:在本发明第二实施方式中,在生成全部的物理执行图之前的执行步骤。具体流程如图2所示。
具体的,该资源预估方法包括如下步骤:
需要说明的是,步骤203至步骤205与第一实施方式中的步骤101至步骤103相同,此处不再赘述。
步骤201:根据已编写完成的程序生成算子。
步骤202:根据算子生成有向无环图DAG的逻辑执行图;其中,逻辑执行图包括算子。
具体地说,在确定物理执行图之前需要先根据用户编写的程序生成对应的DAG逻辑执行图,DAG结构的逻辑执行图是指将计算任务也可理解为用户编写的程序,在内部分解为若干个子任务,将这些子任务之间的逻辑关系或顺序构建成DAG结构的逻辑执行图,实际上,在构建DAG的逻辑执行图时,需要根据用户编写的程序中的算子生成,可称DAG逻辑执行图为基于算子生成的逻辑执行图。
需要说明的是,用户编写程序与对应的算子的关系在第一实施方式中的步骤101中已有说明,此处不再赘述。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种资源预估***,如图3所示,包括:生成模块301、第一确定模块302和第二确定模块303;
生成模块301,用于根据获取到的逻辑执行图生成全部的物理执行图;其中,逻辑执行图对应至少一个的物理执行图;
第一确定模块302,用于根据代价估算模型确定每个物理执行图的代价值;
第二确定模块303,用于将每个物理执行图的代价值与性能策略进行匹配,确定出最优的物理执行图;其中,最优的物理执行图的成本值最小。
不难发现,本实施方式为与第一实施方式相对应的***实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种资源预估***。第四实施方式与第三实施方式大致相同,主要区别之处在于:在本发明第四实施方式中,具体说明了资源预估***中还包括算子生成模块和DAG生成模块,具体结构如图4所示。
需要说明的是,本实施方式中仅说明增加的模块,第三实施方式中已说明的模块不再赘述。
该资源预估***中包括算子生成模块401和DAG生成模块402。
算子生成模块401,用于根据已编写完成的程序生成算子。
DAG生成模块402,用于根据算子生成有向无环图DAG的逻辑执行图;其中,逻辑执行图包括算子。
由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。
本发明第五实施方式涉及一种电子设备,具体结构如图5所示。包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502。其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行资源预估方法。
本实施方式中,处理器501以中央处理器(Central Processing Unit,CPU)为例,存储器502以可读写存储器(Random Access Memory,RAM)为例。处理器501、存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施方式中实现资源预估方法的程序就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述资源预估方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个程序模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述第一或第二方法实施方式中的资源预估方法。
上述产品可执行本申请实施方式所提供的资源预估方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的资源预估方法。
本发明的第六实施方式涉及一种计算机可读存储介质,该可读存储介质为计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令使计算机能够执行本申请第一或第二方法实施方式中涉及的资源预估方法。
本领域技术人员可以理解实现上述实施方式方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (7)

1.一种资源预估方法,应用有向无环图DAG,所述DAG分为逻辑执行图和物理执行图,其中逻辑执行图是将计算任务分解成由若干子任务形成的DAG结构,物理执行图是将上层表达的DAG计算任务通过转换和映射部署到下层的物理机集群中运行,其特征在于,在逻辑执行图转换为物理执行图的过程中,该方法包括:
根据已编写完成的程序生成算子;根据所述算子生成有向无环图DAG的逻辑执行图;其中,所述逻辑执行图包括所述算子;
根据获取到的逻辑执行图生成全部的物理执行图;其中,所述逻辑执行图对应至少一个的物理执行图;具体为:根据逻辑执行图中的算子确定全部的分区数据分发策略;其中,不同的分区数据分发策略中至少两个分区的数据分布不同;确定每个分区数据分发策略各自对应的物理执行图,得到全部的物理执行图;
根据代价估算模型确定每个所述物理执行图的代价值;
将每个所述物理执行图的代价值与获取到的性能策略进行匹配,确定出最优的物理执行图;其中,所述最优的物理执行图的成本值最小;
其中,所述性能策略包括代价数据与性能要求之间的映射关系;
将每个所述物理执行图的代价值与获取到的性能策略进行匹配,确定出最优的物理执行图,包括:根据获取到的性能要求确定出对应的代价数据;将所述代价数据与每个所述物理执行图的代价值进行匹配;确定出满足所述性能策略的代价值最小的所述物理执行图。
2.根据权利要求1所述的资源预估方法,其特征在于,所述代价估算模型包括至少一个的评估指标;
根据代价估算模型确定每个所述物理执行图的代价值,包括:
在预设的时间长度内运行每个所述物理执行图;
采集所述每个物理执行图运行过程中的每个所述评估指标值;
根据所述每个所述评估指标值确定所述物理执行图的代价值。
3.根据权利要求1所述的资源预估方法,其特征在于,将所述每个物理执行图的代价值与性能策略进行匹配,确定出最优的物理执行图之前,所述资源预估方法还包括:
获取使用者输入的性能策略。
4.根据权利要求2所述的资源预估方法,其特征在于,所述评估指标包括:网络输入/输出成本、磁盘输入/输出成本、中央处理器CPU成本、启发式网络输入/输出成本、启发式磁盘成本、启发式CPU成本。
5.一种资源预估***,应用有向无环图DAG,所述DAG分为逻辑执行图和物理执行图,其中逻辑执行图是将计算任务分解成由若干子任务形成的DAG结构,物理执行图是将上层表达的DAG计算任务通过转换和映射部署到下层的物理机集群中运行,其特征在于,该***包括,生成模块、第一确定模块和第二确定模块;
所述生成模块,用于根据已编写完成的程序生成算子;根据所述算子生成有向无环图DAG的逻辑执行图;其中,所述逻辑执行图包括所述算子;根据获取到的逻辑执行图生成全部的物理执行图;其中,所述逻辑执行图对应至少一个的物理执行图;具体为:根据逻辑执行图中的算子确定全部的分区数据分发策略;其中,不同的分区数据分发策略中至少两个分区的数据分布不同;确定每个分区数据分发策略各自对应的物理执行图,得到全部的物理执行图;
所述第一确定模块,用于根据代价估算模型确定每个所述物理执行图的代价值;
所述第二确定模块,用于将所述每个物理执行图的代价值与性能策略进行匹配,确定出最优的物理执行图;其中,所述最优的物理执行图的成本值最小;
其中,所述性能策略包括代价数据与性能要求之间的映射关系;
将每个所述物理执行图的代价值与获取到的性能策略进行匹配,确定出最优的物理执行图,包括:根据获取到的性能要求确定出对应的代价数据;将所述代价数据与每个所述物理执行图的代价值进行匹配;确定出满足所述性能策略的代价值最小的所述物理执行图。
6.一种电子设备,其特征在于,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-4任一所述的资源预估方法。
7.一种计算机可读存储介质,存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-4任一项所述的资源预估方法。
CN201810868916.7A 2018-08-02 2018-08-02 一种资源预估方法及***、电子设备和存储介质 Active CN109189572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810868916.7A CN109189572B (zh) 2018-08-02 2018-08-02 一种资源预估方法及***、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810868916.7A CN109189572B (zh) 2018-08-02 2018-08-02 一种资源预估方法及***、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN109189572A CN109189572A (zh) 2019-01-11
CN109189572B true CN109189572B (zh) 2021-06-04

Family

ID=64920460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810868916.7A Active CN109189572B (zh) 2018-08-02 2018-08-02 一种资源预估方法及***、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN109189572B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796917A (zh) * 2019-04-09 2020-10-20 华为技术有限公司 算子运算调度方法和装置
CN110532291B (zh) * 2019-07-25 2022-07-12 中国科学院计算技术研究所 基于最小执行代价的深度学习框架间模型转换方法及***
CN111158901B (zh) * 2019-12-09 2023-09-08 爱芯元智半导体(宁波)有限公司 计算图的优化方法、装置、计算机设备和存储介质
CN111967902A (zh) * 2020-08-04 2020-11-20 甘棠软件***(上海)有限公司 用于估算成本的方法和装置
CN116545770B (zh) * 2023-07-03 2023-09-01 上海观安信息技术股份有限公司 场景检测方法、装置、介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117286A (zh) * 2015-09-22 2015-12-02 北京大学 MapReduce中任务的调度方法和流水化执行方法
CN105868019A (zh) * 2016-02-01 2016-08-17 中国科学院大学 一种Spark平台性能自动优化方法
CN107038070A (zh) * 2017-04-10 2017-08-11 郑州轻工业学院 一种云环境下执行可靠性感知的并行任务调度方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607188B2 (en) * 2011-09-06 2013-12-10 International Business Machines Corporation Modeling task-site allocation networks
US9626227B2 (en) * 2015-03-27 2017-04-18 Intel Corporation Technologies for offloading and on-loading data for processor/coprocessor arrangements

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117286A (zh) * 2015-09-22 2015-12-02 北京大学 MapReduce中任务的调度方法和流水化执行方法
CN105868019A (zh) * 2016-02-01 2016-08-17 中国科学院大学 一种Spark平台性能自动优化方法
CN107038070A (zh) * 2017-04-10 2017-08-11 郑州轻工业学院 一种云环境下执行可靠性感知的并行任务调度方法

Also Published As

Publication number Publication date
CN109189572A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109189572B (zh) 一种资源预估方法及***、电子设备和存储介质
US11018979B2 (en) System and method for network slicing for service-oriented networks
US10831633B2 (en) Methods, apparatuses, and systems for workflow run-time prediction in a distributed computing system
CN112153700B (zh) 一种网络切片资源管理方法及设备
US8799916B2 (en) Determining an allocation of resources for a job
US20170255496A1 (en) Method for scheduling data flow task and apparatus
WO2016082693A1 (zh) 一种用于在集群中调度计算任务的方法与设备
US20130339972A1 (en) Determining an allocation of resources to a program having concurrent jobs
US20110202925A1 (en) Optimized capacity planning
Gibilisco et al. Stage aware performance modeling of dag based in memory analytic platforms
JP2015133112A (ja) ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体
CN113535363A (zh) 任务调用方法、装置、电子设备及存储介质
US20130318538A1 (en) Estimating a performance characteristic of a job using a performance model
CN110233802B (zh) 一种构建一主链多侧链的区块链架构的方法
CN109324890B (zh) 资源管理方法、装置及计算机可读存储介质
CN104035747B (zh) 用于并行计算的方法和装置
US20130268941A1 (en) Determining an allocation of resources to assign to jobs of a program
Imai et al. Accurate resource prediction for hybrid IaaS clouds using workload-tailored elastic compute units
Nagarajan et al. Flowflex: Malleable scheduling for flows of mapreduce jobs
Rauchecker et al. Using high performance computing for unrelated parallel machine scheduling with sequence-dependent setup times: Development and computational evaluation of a parallel branch-and-price algorithm
CN109992408B (zh) 一种资源分配方法、装置、电子设备和存储介质
Richthammer et al. Search-space decomposition for system-level design space exploration of embedded systems
CN1783121A (zh) 用于执行设计自动化的方法和***
CN111858059A (zh) 一种图计算方法、装置、设备及存储介质
CN115421930A (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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A resource estimation method and its system, electronic devices, and storage media

Granted publication date: 20210604

Pledgee: Bank of China Limited by Share Ltd. Nanjing Jiangning branch

Pledgor: YI TAI FEI LIU INFORMATION TECHNOLOGY LLC

Registration number: Y2024980008211