CN108762918B - 一种基于概率分布的工作流资源配置优化方法和系统 - Google Patents
一种基于概率分布的工作流资源配置优化方法和系统 Download PDFInfo
- Publication number
- CN108762918B CN108762918B CN201810465601.8A CN201810465601A CN108762918B CN 108762918 B CN108762918 B CN 108762918B CN 201810465601 A CN201810465601 A CN 201810465601A CN 108762918 B CN108762918 B CN 108762918B
- Authority
- CN
- China
- Prior art keywords
- path
- paths
- compared
- configurations
- configuration
- 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
Links
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了基于概率分布的工作流资源配置优化方法和系统,基于对包含工作流的所有可能路径的路径集合进行优化得到的路径优化集合,确定待比较路径;在对路径集合存在至少两种配置时,当待比较路径只有一条,基于待比较路径上待比较工作流节点的运行时间概率分布根据第一预设比较方式确定出对路径集合的最优配置;当待比较路径有至少两条,基于各配置下各待比较路径的运行时间概率分布确定出对路径集合的最优配置,运行时间概率分布的使用充分考虑到了云平台性能的不稳定性;对路径集合的优化减少了路径数量,采用第一预设比较方式只对两种配置下待比较路径的部分路径的运行时间概率分布进行比较,有效降低了运算量、运算复杂度和消耗。
Description
技术领域
本发明涉及云技术领域,尤其涉及一种基于概率分布的工作流资源配置优化方法和系统。
背景技术
目前,已经可以通过一些现有的算法实现工作流资源的配置,例如动态规划算法,但是这种算法将云平台资源的平均性能作为优化工作流资源的配置的输入,并没有考虑到云平台资源性能不稳定性对优化结果的影响,导致优化效果不理想。而一些算法考虑了云平台资源性能的动态性,解决了动态规划算法存在的技术问题,例如基于随机模型的资源调度算法,但是通过这种资源调度算法实现对工作流资源的配置,需要加入复杂的模型和分析方法,计算较为繁复。另外,在现有技术中还有其它实现工作流资源配置优化的方案,例如基于蒙特卡洛(Monte Carlo,MC)算法来实现基于概率分布的工作流资源配置的优化,但是采用蒙特卡洛算法需要非常多的消耗(overhead),难以在实际中推广应用。
发明内容
本发明实施例的主要目的在于提供一种基于概率分布的工作流资源配置优化方法和系统,解决在考虑到云平台资源性能不稳定性的同时如何减少在工作流资源配置优化过程中的消耗,以及如何降低工作流资源配置优化过程中的计算复杂度的技术问题。
为实现上述目的,本发明实施例第一方面提供一种基于概率分布的工作流资源配置优化方法,该优化方法包括:
获取包含工作流的所有可能路径的路径集合;
通过剪枝算法将所述路径集合中运行时间不满足预设条件的路径删除,得到路径优化集合;
若所述路径优化集合中存在长度相同的路径,则对所述路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径,将所述合并路径以及所述路径优化集合中未参与合并的路径作为待比较路径;若所述路径优化集合中不存在长度相同的路径,则将所述路径优化集合中的所有路径均作为待比较路径;
确定对所述路径集合的配置;所述配置包括对处理所述路径集合中各路径上各工作流节点的虚拟机的类型的设置;
若所述待比较路径的数量为一条,且对所述路径集合存在至少两种配置,则基于按照第一预设比较方式确定两种配置中对所述路径集合的最优配置的原理,得到所述至少两种配置中对所述路径集合的最优配置;其中,所述第一预设比较方式包括:确定两种配置下所述待比较路径上分配的配置不同的工作流节点作为待比较工作流节点,计算所述两种配置下所述待比较工作流节点的运行时间概率分布,基于所述两种配置下所述待比较工作流节点的运行时间概率分布确定在所述两种配置中对所述路径集合的最优配置;
若所述待比较路径的数量为至少两条,且对所述路径集合存在至少两种配置,则对每种配置下的各条待比较路径分别进行运行时间概率分布的计算;基于相同配置下各待比较路径的所述运行时间概率分布,确定各配置下所述路径集合的最大运行时间概率分布;基于所述至少两种配置的各配置下的所述最大运行时间概率分布,确定所述至少两种配置中对所述路径集合的最优配置。
为实现上述目的,本发明实施例第二方面提供一种基于概率分布的工作流资源配置优化系统,该优化系统包括:
获取模块,用于获取包含工作流的所有可能路径的路径集合;
剪枝模块,用于通过剪枝算法将所述路径集合中运行时间不满足预设条件的路径删除,得到路径优化集合;
合并模块,用于若所述路径优化集合中存在长度相同的路径,则对所述路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径,将所述合并路径以及所述路径优化集合中未参与合并的路径作为待比较路径;若所述路径优化集合中不存在长度相同的路径,则将所述路径优化集合中的所有路径均作为待比较路径;
配置模块,用于确定对所述路径集合的配置;所述配置包括对处理所述路径集合中各路径上的各工作流节点的虚拟机的类型的设置;
处理模块,用于若所述待比较路径的数量为一条,且对所述路径集合存在至少两种配置,则基于按照第一预设比较方式确定两个配置中对所述路径集合的最优配置的原理,得到所述至少两种配置中对所述路径集合的最优配置;其中,所述第一预设比较方式包括:确定两种配置下所述待比较路径上分配的配置不同的工作流节点作为待比较工作流节点,计算所述两种配置下所述待比较工作流节点的运行时间概率分布,基于所述两种配置下所述待比较工作流节点的运行时间概率分布确定在所述两种配置中对所述路径集合的最优配置;以及用于若所述待比较路径的数量为至少两条,且对所述路径集合存在至少两种配置,则对每种配置下的各条待比较路径分别进行运行时间概率分布的计算;基于相同配置下各待比较路径的所述运行时间概率分布,确定各配置下所述路径集合的最大运行时间概率分布;基于所述至少两种配置的各配置下的所述最大运行时间概率分布,确定所述至少两种配置中对所述路径集合的最优配置。
本发明实施例提供一种基于概率分布的工作流资源配置优化方法和系统,通过本发明的方案,可以获取包含工作流的所有可能路径的路径集合;通过剪枝算法将路径集合中运行时间不满足预设条件的路径删除得到路径优化集合,在路径优化集合中存在长度相同的路径时,对路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径,将合并路径以及路径优化集合中未参与合并的路径作为待比较路径;在路径优化集合中不存在长度相同的路径时,则将路径优化集合中的所有路径均作为待比较路径;相对于现有技术中采用蒙特卡洛算法需要对所有的路径都计算的特点,本发明实施例中通过剪枝减少了后续处理过程中涉及的路径,在一定程度上降低了计算的复杂度和资源的消耗,在剪枝和合并之后,当待比较路径有至少两条,且对路径集合的配置存在至少两种时,对每种配置下的各条待比较路径分别进行运行时间概率分布的计算,基于相同配置下各待比较路径的所述运行时间概率分布确定各配置下所述路径集合的最大运行时间概率分布;基于至少两种配置的各配置下的所述最大运行时间概率分布确定对路径集合的最优配置,在剪枝和合并的基础上,待比较路径的数量得到了降低,且在确定最优配置的过程中可以重复利用每条待比较路径的运行时间概率分布,降低计算复杂度以及开销,当待比较路径只有一条,且对该条待比较路径存在至少两种配置时;本实施例基于按照第一预设比较方式确定两个配置中对所述路径集合的最优配置的原理,得到所述至少两种配置中对所述路径集合的最优配置;该第一预设比较方式包括:确定两种配置下待比较路径上分布的配置不同的工作流节点作为待比较工作流节点,计算两种配置下待比较工作流节点的运行时间概率分布,基于两种配置下待比较工作流节点的运行时间概率分布确定在两种配置中对待比较路径的最优配置,通过对上述预设比较方式的记载可以得到当待比较路径只有一条时,本发明实施例实际上只对两种配置下的部分路径进行了运行时间概率分布的比较(即部分比较),采用这种部分比较的方式极大地降低了比较的数据量,降低了运算复杂度,降低了消耗,提升了本发明实施例的实用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于概率分布的工作流资源配置优化方法的流程示意图;
图2为本发明实施例中工作流W的所有可能路径的示意图;
图3为对图2中的工作流W的路径进行剪枝和合并操作的示意图;
图4为本发明实施例中基于概率分布的工作流资源配置优化系统的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,对工作流资源进行配置的方法存在计算复杂或消耗巨大的问题,为了解决这些技术问题,本发明提出一种基于概率分布的工作流资源配置优化方法,在该优化方法中,通过剪枝算法减少了在工作流资源配置中涉及计算的路径的数量,在一定程度上降低了计算复杂度和资源消耗;又基于对两种配置下的路径的工作流节点进行部分比较得到两种配置中的最优配置的方案,大大降低了比较过程中涉及的数据计算,有效降低了计算复杂度和消耗。
请参阅图1,图1为本发明第一实施例中基于概率分布的工作流资源配置优化方法的流程示意图,该方法包括:
步骤101、获取包含工作流的所有可能路径的路径集合;
本实施例中,工作流的路径由完成工作流所需执行的工作流节点构成,每个工作流节点代表工作流上的一个任务,一个工作流的路径可能不止一个。参见本实施例的图2和图3,图2为工作流W的所有可能路径的示意图。图3示为对工作流W的路径集合S中的路径进行剪枝和合并操作的示意图。如图2和图3所示,工作流W的路径集合S包含的所有可能路径有48条。
步骤102、通过剪枝算法将路径集合中运行时间不满足预设条件的路径删除,得到路径优化集合;其中,路径优化集合中的路径的长度相同;
根据图2可以知晓路径集合S中每条路径上的工作流节点的数量和各个工作流节点的任务不一定相同,有些路径的运行时间明显会短于其它路径,为了确定对工作流的路径的更优配置,需要比较各个配置下的路径集合的运行时间概率分布,而运行时间明显更短的路径参与比较的意义不大。所以,为了降低工作流资源配置过程的消耗,本实施例基于剪枝算法对路径集合进行了优化了,降低了路径集合中的路径数量。其中,确定被删除路径的一个标准是路径的运行时间不满足预设条件,该预设条件包括但不限于一路径的运行时间明显低于集合中的其它路径的运行时间。例如在图2中的集合S中,若路径P1:0-4-10-11-12-16-17-18-19的运行时间明显低于路径集合S中其它的某条路径的运行时间,则该路径P1是需要被删除的路径。将路径集合S中运行时间不满足预设条件的路径删除后,剩余的路径即组合为路径优化集合。
根据图2的示意图可以看出,在工作流W的所有可能路径中,有些路径可能是其它路径的子集,例如路径0-12-16-17-18-19是路径0-4-10-11-12-16-17-18-19的子集,前一条路径相对于后一条路径而言,其工作流节点是后一条路径的工作流节点的子集,其运行时间必定比后一条路径的运行时间短。所以,在一个示例中,通过剪枝算法将路径集合中运行时间不满足预设条件的路径删除,得到路径优化集合包括:对路径集合中的路径进行比较,若路径集合中某路径属于路径集合中至少一条其它路径的子集,则将某路径从路径集合中删除,得到路径优化集合。其中,可以理解的是,对路径集合优化后得到的路径优化集合中是不存在为其它路径子集的路径的。
步骤103、若路径优化集合中存在长度相同的路径,则对路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径,将合并路径以及路径优化集合中未参与合并的路径作为待比较路径;若路径优化集合中不存在长度相同的路径,则将路径优化集合中的所有路径均作为待比较路径;
本实施例中,路径上的一个工作流节点即为路径上的一个任务,对工作流节点进行合并,也即对路径上的任务进行合并,在路径优化集合中可能存在相同长度和/或不同长度的路径,路径合并之后,路径优化集合中可能还是存在多条路径。例如一路径优化集合中存在长度为10的两条路径A、B,两条长度为9的路径C、D,一条长度为8的路径E,则对路径优化集合中的A和B进行合并,B和C进行合并,得到两条合并路径,这两条合并路径和路径E都是本实施例的待比较路径。
在路径优化集合的各条长度相同的路径上,处于相同的位置的工作流节点可能相同或不同,例如在图2中,有些路径的第一个位置是工作流节点0,有些路径的第一个位置是工作流节点1。在对路径优化集合中长度相同的路径合并时,需要基于路径优化集合中各条路径的同一位置的工作流节点进行合并。可选的,对路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径包括:
对路径优化集合中的路径按照以下的规则进行合并得到至少一条合并路径:
若路径优化集合中在各条长度相同的路径的相同位置的工作流节点不同,将各条长度相同的路径在相同位置上的工作流节点并列作为各条长度相同的路径的合并路径上在相同位置的工作流节点;
若路径优化集合中在各条长度相同的路径的相同位置的工作流节点相同,将各条长度相同的路径的相同位置上的相同的工作流节点作为各条长度相同的路径的合并路径上在相同位置的工作流节点。
其中,工作流节点上的任务相同可以认为该工作流节点相同,工作流节点上的任务不同,则该工作流节点不同。
下面以工作流W为例结合图2和图3,对路径集合S中的路径的剪枝和合并过程进行说明。图3中路径集合S为工作流W的路径集合,集合S’是路径集合S的路径优化集合,集合S”中的路径是最后的合并路径。在路径集合S中,原本有P1’-P48’这48条路径,在经过剪枝处理后,剪去了0-12-16-17-18-19、1-13-16-17-18-19、2-14-16-17-18-19、3-15-16-17-18-19这四条路径,得到了包含路径P1’–P44’这44条路径的路径优化集合S’。再对路径优化集合S’中的各条路径进行合并:路径上的第一个位置上的工作流节点0、1、2、3并列作为合并路径的第一个位置的节点,路径上的第二个位置上的工作流节点4、5、6、7、8、9并列作为合并路径的第二个工作流节点,路径上的第三个位置上的工作流节点10作为合并路径的第三个工作流节点,······以此类推,对路径优化集合S’中的路径进行合并后得到图3中的合并路径P1”,该合并路径P1”即为上述步骤103中的待比较路径,在该示例中“未参与合并的路径”可以理解为空。
步骤104、确定对路径集合的配置,该配置包括对处理路径集合中各路径上各工作流节点的虚拟机的类型的设置;
确定对路径集合的配置例如,确定对图2中所有的工作流节点上虚拟机类型的设置,可以用现有的搜索方法实现,本实施在此不展开说明。本实施例中可以采用现有的搜索方法将对路径集合的所有可能配置都排列出来,再在后续的步骤中对各个配置进行比较选出对路径集合的最优配置。
步骤105、若待比较路径的数量为一条,且对路径集合存在至少两种配置,则基于按照第一预设比较方式确定两个配置中对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置;若待比较路径的数量为至少两条,且对路径集合存在至少两种配置,则对每种配置下的各条待比较路径分别进行运行时间概率分布的计算,基于相同配置下各待比较路径的运行时间概率分布确定各配置下路径集合的最大运行时间概率分布;基于至少两种配置的各配置下的最大运行时间概率分布,确定该至少两种配置中对路径集合的最优配置;
其中,第一预设比较方式包括:确定两种配置下待比较路径上分配的配置不同的工作流节点作为待比较工作流节点,计算两种配置下待比较工作流节点的运行时间概率分布,基于两种配置下待比较工作流节点的运行时间概率分布确定在两种配置中对路径集合的最优配置。
上述的第一预设比较方式是从两个配置中选出一个最优配置的方式(即二选一),可以理解的是,基于按照第一预设比较方式从至少两个配置的两个配置中选择对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置的过程中,可以按照先对至少两种配置中的两种配置按照第一预设比较方式进行比较得到两种配置中对路径集合的最优配置,再对该最优配置和至少两种配置中未进行比较的另一种配置按照第一预设比较方式进行比较,直到确定该至少两种配置中对路径集合的最优配置;或者,可以先在第一轮比较中,对至少两种配置中成对的配置(每个配置不重复比较)按照预设比较方式进行比较得到每一对路径集合中的最优配置(若有未参与比较的配置,则加入第二轮进行比较),在第二轮中对每一对最优配置再进行比较得到两种最优配置中的最优配置,······,以此类推,直到得到至少两种配置中对路径集合的最优配置。
下面对待比较路径的数量为一条,且对路径集合存在至少两种配置的情况下,得到至少两种配置中的最优配置的方案进行说明。
在待比较路径的数量为一条的情况下,对每一次进行比较的两个配置下的待比较工作流节点进行比较,实际上就是对每个配置下的部分路径进行比较(即部分比较),这种部分比较的方法相对于对每种配置下的全部路径进行比较,可以有效降低比较过程中涉及的计算量,降低消耗。对工作流节点上分配的配置不同包括但不限于:对工作流节点分配的虚拟机的类型不同。
本实施例中,上述对工作流资源配置的优化一般是依赖云平台完成,云平台资源的性能具有不稳定性,满足一定的概率分布。本实施例中工作流节点上任务的运行时间概率分布是基于云平台的性能计算得到的,所以本实施例中在使用计算得到的待比较路径的运行时间概率的基础上,已经将云平台性能的不稳定性考虑在内。即本实施例中在得到对待比较路径的最优配置的过程中,已经考虑了云平台资源的动态性,避免了现有技术中动态规划算法存在的缺点。
下面还是以工作流W为例,结合图2和图3对上述利用部分比较方法得到对待比较路径的最优配置的过程进行详细说明。假设图2中的工作流W有两种配置,分别为配置A和配置B,在配置A和B下,工作流W的待比较路径P1”中只有工作流节点10上配置的虚拟机的类型不同,则待比较工作流节点为节点10,计算配置A和配置B下的待比较工作流节点10的运行时间概率分布。而对于各个配置下的工作流节点10的运行时间概率分布,可以采用现有的计算方法基于配置A和配置B下在工作流节点10上分别分配的虚拟机的性能的概率分布,以及工作流节点10的任务的CPU任务量、network任务量等信息计算出来。然后再对配置A和B下工作流节点10的运行时间概率分布进行比较,确定出最优配置。
可选的,本实施例中基于两种配置下待比较工作流节点的运行时间概率分布确定在两种配置中对路径集合的最优配置包括:
对两种配置按照以下方式进行比较得到在两种配置中对路径集合的最优配置:
按照公式计算得到概率值P(X>Y);在公式中,X表示两种配置中的第一种配置下的待比较工作流节点的运行时间,Y表示在两种配置中的第二种配置下的待比较工作流节点的运行时间,fX(x)表示在第一种配置下的待比较工作流节点的运行时间概率分布函数,fY(y)表示在第二种配置下的待比较工作流节点的运行时间概率分布函数;
若概率值P(X>Y)大于预设阈值,则第二种配置为两种配置中对路径集合的最优配置;其中,预设阈值不低于0.5。
还是以上述工作流W有两种配置A和B为例,假设配置A下待比较工作流节点10的运行时间概率分布为fX(x),配置B下待比较工作流节点10的运行时间概率分布为fY(y),则根据计算得到的概率值P(X>Y)为配置A下工作流节点10的运行时间X大于配置B下的工作流节点10的运行时间Y的概率,若是P(X>Y)>0.5,则认为配置A下的工作流节点10的运行时间更长的概率更高,配置B是配置A和B中的最优配置。
本实施例为了进一步降低上述部分比较的方案中涉及的计算,对P(X>Y)的计算引入了一个剪枝算法,提出了一种基于自由变量的取值范围的上、下界简化P(X>Y)的计算的方法。可选的,基于两种配置下待比较工作流节点的运行时间概率分布确定在两种配置中对该路径集合的最优配置包括:
对两种配置按照以下方式进行比较得到在两种配置中对该路径集合的最优配置:
基于以下的两个公式计算概率值P(X>Y)的范围,
If X.l≤Y.r≤X.r,P(X>Y)≥1-FX(Y.r)
If X.l≤Y.l≤X.r,P(X>Y)≤1-FX(Y.l)
其中,X表示两种配置中的第一种配置下的待比较工作流节点的运行时间,Y表示在两种配置中的第二种配置下的待比较工作流节点的运行时间,Fx()表示在第一种配置下待比较工作流节点的运行时间累积分布函数;X.l和X.r分别为X的取值范围的下界和上界,Y.l和Y.r分别为Y的取值范围的下界和上界;
若根据第一个公式计算得到的概率值P(X>Y)的最小值大于第一预设阈值,则第二种配置为两种配置中的最优配置;其中,第一预设阈值不低于0.5;若根据第二个公式计算得到的概率值P(X>Y)的最大值小于第二预设阈值,则第一种配置为两种配置中的最优配置;其中,第二预设阈值不高于0.5。
可以预见,在实际中,两种配置下,可能存在多个工作流节点上的配置不一样的情况,即存在待比较工作流节点不止一个的情况,在这种情况下概率值P的计算更为复杂。一般可以采用ADD算法来对多个工作流节点的运行时间概率进行计算。例如若在配置A和配置B下,图2和图3中的工作流节点10和11上分配的虚拟机的类型不同。则待比较工作流节点的运行时间概率分布按照以下的公式计算:
其中,Z=X+Y,X是一个配置下(配置A或配置B),工作流节点10的运行时间,Y是该配置下工作流节点11的运行时间,fY()是Y的运行时间概率分布函数,fX()是X的运行时间概率分布函数,fZ()是工作流节点10和11总的运行时间概率分布函数。
在上述对fZ的计算中,涉及到积分,若是待比较工作流节点数量越多,涉及的积分计算就越多。为了降低这种情况的发生,减少消耗和计算复杂度,本实施例的一个示例还提出一种剪枝方法Task bundling对ADD算法进行优化:将分配到相同类型虚拟机的串行的工作流节点上的任务作为一个任务分配到同一个虚拟机,在同一个虚拟机上相继调度这些任务,这样做可以增加cpu的使用率,减少相互依赖的任务之间的数据传送。可选的,若待比较路径的数量为一条,则在基于按照第一预设比较方式从至少两个配置的两个配置中选择对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置前,还包括:若待比较路径上存在分配到相同类型的虚拟机的串行工作流节点,则将待比较路径的这些串行工作流节点分配到同一个虚拟机上进行处理。
下面以工作流W为例结合图2和图3对优化的ADD算法进行说明,假设待比较路径P1”上相邻的工作流节点10和11上分配的虚拟机的类型在配置A下相同,在配置B下不同,则将配置A下的工作流节点10和11上的任务合并为同一个任务,分配到同一个虚拟机上运行。当配置A和配置B下待比较工作流节点为节点10和11,则配置A下的工作流节点10和11的运行时间概率分布是根据它们分配的同一个虚拟机的性能分布以及节点10和11上的两个任务分别的CPU的任务量、network任务量等等信息计算得到,而配置B下的工作流节点10和11的运行时间概率分布则采用上述复杂的ADD公式得到,明显相较于需要进行积分计算的ADD算法,优化后的ADD算法更为简单。
在实际中,当两种配置下待比较工作流节点的数量为多个时,可能存在同一位置的(并行)待比较工作流节点的数量有多个的情况,对于这种情况,对并行的多个待比较工作流节点可以按照MAX算法求运行时间概率分布。例如若对于上述的配置A下的工作流节点4和配置B下的工作流节点4,分配的虚拟机的类型不同;对于上述的配置A的工作流节点5和配置B下的工作流节点5,分配的虚拟机的类型不同,则采用MAX算法,求工作流节点4、5的运行时间概率分布,MAX算法的公式为:
其中,Z=max(X,Y),X为一个配置下工作流节点4的运行时间,Y为相同配置下工作流节点5的运行时间,fX()为工作流节点4的运行时间概率分布函数,FX()为工作流节点4的运行时间累积分布函数;fY()为工作流节点5的运行时间概率分布函数;FY()为工作流节点5的运行时间累积分布函数。
在本实施例中若是两个任务做的是相同的数据处理等动作,且待处理的数据量的大小相同,则可以认为这两个任务是等效任务,可以分配到相同类型的虚拟机上并行处理。为了降低工作流运行时间,降低计算复杂度,减少消耗,本实施例的一个示例中,使用taskclustering优化MAX算法:把分配到相同类型虚拟机的两个并行任务分配到一个虚拟机上并行处理。可选的,本实施例中,若待比较路径的数量为一条,且待比较路径为合并路径,则在基于按照第一预设比较方式从至少两个配置的两个配置中选择对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置前,还包括:若合并路径上存在分配到相同类型的虚拟机的并行工作流节点,则将合并路径的这些并行工作流节点分配到同一个虚拟机上进行处理。
在上述关于工作流节点4和工作流节点5的示例中,若是在某个配置下(配置A或配置B)节点4和节点5是等效任务,分配的虚拟机的类型相同,可以将该工作流节点4和5分配到同一个虚拟机上运行,当工作流节点4和5在同一个虚拟机上运行,在该配置下就无需使用上述复杂的MAX算法计算后续部分比较时需要使用的运行时间概率分布,可以只使用工作流节点4或工作流节点5在该配置下的运行时间概率分布替换上述的fZ(z)的结果。即,若配置A下工作流节点4和5分配的是同一个虚拟机,配置B下工作流节点4和5分配的是同一个虚拟机,在对配置A和配置B的路径进行部分比较时,可以只将工作流节点4(或5)中的一个作为待比较工作流节点,将配置A下的工作流节点4(或5)的运行时间概率分布与配置B下的工作流节点4(或5)的运行时间概率分布进行比较,确定出配置A和B中的最优配置。
下面对待比较路径的数量为至少两条,且对路径集合存在至少两种配置的情况下,得到至少两种配置中的最优配置的方案进行说明。
在待比较路径为至少两条时,需要先对每种配置下的各条待比较路径分别进行运行时间概率分布的计算,基于相同配置下各待比较路径的运行时间概率分布确定各配置下路径集合的最大运行时间概率分布,然后再基于至少两个配置中每一个配置下的最大运行时间概率分布确定对路径集合的最优配置。
其中,对每种配置下的各条待比较路径分别进行运行时间概率分布的计算时,若是待比较路径不是合并路径,则采用ADD算法可以实现对待比较路径的运行时间概率分布的计算,例如,对于自由变量X和Y,变量Z=X+Y的概率分布为
若将X理解为一个配置下(配置A或配置B),一条待比较路径的某个工作流节点的运行时间,Y理解为相同配置下,相同待比较路径的其它工作流节点的运行时间,fY()为Y的运行时间概率分布函数,fX()为X的运行时间概率分布函数,则fZ()为这两个工作流节点总的运行时间概率分布函数。
基于上述的ADD算法可以算出一个配置下一整条待比较路径的运行时间概率分布。
为了降低ADD算法的难度,在待比较路径具有至少两条的情况下,同样可以采用剪枝方法Task bundling对ADD算法进行优化,可选的,若待比较路径的数量为至少两条,则在对每种配置下的各条待比较路径分别进行运行时间概率分布的计算前,还包括:若某条待比较路径上存在分配到相同类型的虚拟机的串行工作流节点,则将该条待比较路径的这些串行工作流节点分配到同一个虚拟机上进行处理。在优化之后,对于一个配置下的在相同虚拟机上运行的至少两个工作流节点的运行时间概率分布,可以根据它们分配的同一个虚拟机的性能分布以及这至少两个工作流节点总的CPU的任务量、network任务量等等信息计算得到。
若待比较路径是合并路径,则对合并路径的运行时间概率分布的计算涉及ADD算法和MAX算法,合并路径的一个位置上可能存在至少两个并列的工作流节点,所以为了通过ADD算法计算出合并路径的运行时间概率分布,需要先通过MAX算法确定具有并列工作流节点的位置的运行时间概率,例如在图3的合并路径中,第一位置上存在并列的0、1、2和3这四个工作流节点,需要先通过MAX算法确定出第一位置的最大运行时间概率分布。
对于相互独立变量X、Y,变量Z=max(X,Y),则Z的概率分布为:
其中,X为一个配置下,一条待比较路径的一个位置上的工作流节点(例如图3中的工作流节点0)的运行时间,fX()为该工作流节点(工作流节点0)的运行时间概率分布函数,FX()为该工作流节点(工作流节点0)的运行时间累积分布函数;Y为相同配置、相同待比较路径以及相同位置上另一个工作流节点(例如图3中的工作流节点1)的运行时间,fY()为该工作流节点(工作流节点1)的运行时间概率分布函数;FY()为该工作流节点(工作流节点1)的运行时间累积分布函数;fZ(z)为该位置上上述两个工作流节点的最大运行时间概率分布。通过上述MAX算法,可以对一个位置上并列的至少两个工作流节点求最大概率分布。
为了降低MAX算法的难度,在待比较路径具有至少两条的情况下,同样可以采用剪枝方法task clustering优化MAX算法:可选的,若待比较路径的数量为至少两条,且待比较路径中存在合并路径,则在对每种配置下的各条待比较路径分别进行运行时间概率分布的计算前,还包括:若一合并路径上存在分配到相同类型的虚拟机的并行工作流节点,则将该一合并路径的这些并行工作流节点分配到同一个虚拟机上进行处理。在优化MAX算法后,若是并列的至少两个工作流节点被分配到同一个虚拟机上执行,则可以选择并列的工作流节点中的任意一个工作流节点的运行时间概率分布作为该并列的至少两个工作流节点的最大运行时间概率分布。
本实施例中,在计算出每条待比较路径的运行时间概率分布之后,可以基于MAX算法计算出相同的配置下路径集合的最大运行时间概率分布,可选的,基于相同配置下各待比较路径的运行时间概率分布确定各配置下路径集合的最大运行时间概率分布包括:
基于如下的公式计算至少两个配置的每个配置下路径集合的最大运行时间概率分布:
其中,fZ(z)为相同配置下两条待比较路径的最大运行时间概率分布,z=max(X,Y),X和Y分别为两条待比较路径的运行时间,fX()为X对应的待比较路径的运行时间概率分布函数;FX()为X对应的待比较路径的运行时间累积分布函数;fY()为Y对应的待比较路径的运行时间概率分布函数;FY()为Y对应的待比较路径的运行时间累积分布函数。
基于至少两种配置的各配置下的最大运行时间概率分布确定对路径集合的最优配置包括:
基于按照第二预设比较方式从至少两个配置的两个配置中选择对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置;
其中,第二预设比较方式包括:按照公式计算概率值P(X>Y),在公式 中,X表示两种配置中的第一种配置下的路径集合的运行时间,Y表示在两种配置中的第二种配置下的路径集合的运行时间,fX(x)表示在第一种配置下的路径集合的最大运行时间概率分布函数,fY(y)表示在第二种配置下的路径集合的最大运行时间概率分布函数;若概率值P(X>Y)大于预设阈值,则第二种配置为两种配置中的最优配置;其中,预设阈值不低于0.5。
如图4所示,本实施例还示出了一种基于概率分布的工作流资源配置优化系统,通过该系统实现上述的基于概率分布的工作流资源配置优化方法,本实施例的优化系统包括:
获取模块41,用于获取包含工作流的所有可能路径的路径集合;
剪枝模块42,用于通过剪枝算法将路径集合中运行时间不满足预设条件的路径删除,得到路径优化集合;其中,路径优化集合中的路径的长度相同;
合并模块43,用于若路径优化集合中存在长度相同的路径,则对路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径,将合并路径以及路径优化集合中未参与合并的路径作为待比较路径;若路径优化集合中不存在长度相同的路径,则将路径优化集合中的所有路径均作为待比较路径;
配置模块44,用于确定对路径集合的配置,配置包括对处理路径集合中各路径上的各工作流节点的虚拟机的类型的设置;
处理模块45,用于若待比较路径的数量为一条,且对路径集合存在至少两种配置,则基于按照第一预设比较方式确定两个配置中对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置;若待比较路径的数量为至少两条,且对路径集合存在至少两种配置,则对每种配置下的各条待比较路径分别进行运行时间概率分布的计算,基于相同配置下各待比较路径的运行时间概率分布确定各配置下路径集合的最大运行时间概率分布,基于至少两种配置的各配置下的最大运行时间概率分布,确定该至少两个配置中对路径集合的最优配置;其中,第一预设比较方式包括:确定两种配置下待比较路径上分配的配置不同的工作流节点作为待比较工作流节点,计算两种配置下待比较工作流节点的运行时间概率分布,基于两种配置下待比较工作流节点的运行时间概率分布,确定在两种配置中对路径集合的最优配置。
在一个示例中,剪枝模块42,用于对路径集合中的路径进行比较,若路径集合中某路径属于路径集合中至少一条其它路径的子集,则将某路径从路径集合中删除,得到路径优化集合。
可选的,合并模块43,用于对路径优化集合中的路径按照以下的规则进行合并得到至少一条合并路径:
若路径优化集合中在各条长度相同的路径的相同位置的工作流节点不同,将各条长度相同的路径在相同位置上的工作流节点并列作为各条长度相同的路径的合并路径上在相同位置的工作流节点;
若路径优化集合中在各条长度相同的路径的相同位置的工作流节点相同,将各条长度相同的路径的相同位置上的相同的工作流节点作为各条长度相同的路径的合并路径上在相同位置的工作流节点。
进一步的,如图4所示,本实施例的基于概率分布的工作流资源配置优化系统还包括第一优化模块46和第二优化模块47,第一优化模块46,用于若待比较路径的数量为一条,且待比较路径为合并路径,则在基于按照第一预设比较方式确定两个配置中对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置前,在合并路径上存在分配到相同类型的虚拟机的并行工作流节点时,将合并路径的这些并行工作流节点分配到同一个虚拟机上进行处理;若待比较路径的数量为至少两条,且待比较路径中存在合并路径,则在对每种配置下的各条待比较路径分别进行运行时间概率分布的计算前,在一合并路径上存在分配到相同类型的虚拟机的并行工作流节点时,将该一合并路径的这些并行工作流节点分配到同一个虚拟机上进行处理。
第二优化模块47,用于若待比较路径的数量为一条,则在基于按照第一预设比较方式确定两个配置中对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置前,在待比较路径上存在分配到相同类型的虚拟机的串行工作流节点的情况下,将待比较路径的这些串行工作流节点分配到同一个虚拟机上进行处理;若待比较路径的数量为至少两条,则在对每种配置下的各条待比较路径分别进行运行时间概率分布的计算前,在某条待比较路径上存在分配到相同类型的虚拟机的串行工作流节点的情况下,将该条待比较路径的这些串行工作流节点分配到同一个虚拟机上进行处理。
其中,处理模块45可以通过以下的两种方式中的任意一种实现基于两种配置下待比较工作流节点的运行时间概率分布,确定在两种配置中对该路径集合的最优配置。
第一种:对两种配置按照以下方式进行比较得到在两种配置中对该路径集合的最优配置:
按照公式计算得到概率值P(X>Y);在公式中,X表示两种配置中的第一种配置下的待比较工作流节点的运行时间,Y表示在两种配置中的第二种配置下的待比较工作流节点的运行时间,fX(x)表示在第一种配置下的待比较工作流节点的运行时间概率分布函数,fY(y)表示在第二种配置下的待比较工作流节点的运行时间概率分布函数;若概率值P(X>Y)大于预设阈值,则第二种配置为两种配置中的最优配置;其中,预设阈值不低于0.5。
第二种:对两种配置按照以下方式进行比较得到在两种配置中对该路径集合的最优配置:
基于以下的两个公式计算概率值P(X>Y)的范围,
If X.l≤Y.r≤X.r,P(X>Y)≥1-FX(Y.r)
If X.l≤Y.l≤X.r,P(X>Y)≤1-FX(Y.l)
其中,X表示两种配置中的第一种配置下的待比较工作流节点的运行时间,Y表示在两种配置中的第二种配置下的待比较工作流节点的运行时间,Fx()表示在第一种配置下待比较工作流节点的运行时间累积分布函数;X.l和X.r分别为X的取值范围的下界和上界,Y.l和Y.r分别为Y的取值范围的下界和上界;若根据第一个公式计算得到的概率值P(X>Y)的最小值大于第一预设阈值,则第二种配置为两种配置中的最优配置;其中,第一预设阈值不低于0.5;若根据第二个公式计算得到的概率值P(X>Y)的最大值小于第二预设阈值,则第一种配置为两种配置中的最优配置;其中,第二预设阈值不高于0.5。
处理模块45,用于基于如下的公式计算至少两个配置的每个配置下路径集合的最大运行时间概率分布:
其中,fZ(z)为相同配置下两条待比较路径的最大运行时间概率分布,z=max(X,Y),X和Y分别为两条待比较路径的运行时间,fX()为X对应的待比较路径的运行时间概率分布函数;FX()为X对应的待比较路径的运行时间累积分布函数;fY()为Y对应的待比较路径的运行时间概率分布函数;FY()为Y对应的待比较路径的运行时间累积分布函数。
以及该处理模块45用于通过如下的方式基于至少两种配置的各配置下的最大运行时间概率分布,确定对路径集合的最优配置:
基于按照第二预设比较方式从至少两个配置的两个配置中选择对路径集合的最优配置的原理,得到至少两种配置中对路径集合的最优配置;
其中,第二预设比较方式包括:按照公式计算概率值P(X>Y),在公式 中,X表示两种配置中的第一种配置下的路径集合的运行时间,Y表示在两种配置中的第二种配置下的路径集合的运行时间,fX(x)表示在第一种配置下的路径集合的最大运行时间概率分布函数,fY(y)表示在第二种配置下的路径集合的最大运行时间概率分布函数;若概率值P(X>Y)大于预设阈值,则第二种配置为两种配置中的最优配置;其中,预设阈值不低于0.5。
本实施例基于对工作流节点的运行时间概率分布的计算且结合三个剪枝方法和部分比较的方法实现了对工作流资源的较优配置,该优化过程使用的运行时间概率分布是对云平台资源性能的不稳定性的考量,解决了现有技术的动态规划算法中存在的技术问题,本实施例通过第一个剪枝减少了后续的计算和部分比较涉及的路径的数量,实现了一次计算量和消耗的降低;通过第二个剪枝方法优化了ADD和MAX算法,对ADD算法和MAX算法的优化分别大大减少了对串行工作流节点的运行时间和的概率分布的计算,对并行工作流节点的运行时间概率分布的计算,也降低了本实施例的消耗;在只有一条待比较路径时,通过只对多个配置下的部分路径进行运行时间概率分布的比较(即部分比较),有效降低了消耗和计算量,而在部分比较过程中采用了第三个剪枝算法对部分路径的运行时间概率分布的计算进行了简化,又实现了一次消耗和计算复杂度的降低;本实施例的方法通过三个剪枝和部分比较极大地降低了消耗,降低了计算复杂度和计算量,降低了工作流资源配置优化方案的推广难度,提升了其实用性。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种基于概率分布的工作流资源配置优化方法和系统的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于概率分布的工作流资源配置优化方法,其特征在于,包括:
获取包含工作流的所有可能路径的路径集合;
通过剪枝算法将所述路径集合中运行时间不满足预设条件的路径删除,得到路径优化集合;
若所述路径优化集合中存在长度相同的路径,则对所述路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径,将所述合并路径以及所述路径优化集合中未参与合并的路径作为待比较路径;若所述路径优化集合中不存在长度相同的路径,则将所述路径优化集合中的所有路径均作为待比较路径;
确定对所述路径集合的配置;所述配置包括对处理所述路径集合中各路径上各工作流节点的虚拟机的类型的设置;
若所述待比较路径的数量为一条,且对所述路径集合存在至少两种配置,则基于按照第一预设比较方式确定两种配置中对所述路径集合的最优配置的原理,得到所述至少两种配置中对所述路径集合的最优配置;其中,所述第一预设比较方式包括:确定两种配置下所述待比较路径上分配的配置不同的工作流节点作为待比较工作流节点,计算所述两种配置下所述待比较工作流节点的运行时间概率分布,基于所述两种配置下所述待比较工作流节点的运行时间概率分布确定在所述两种配置中对所述路径集合的最优配置;
若所述待比较路径的数量为至少两条,且对所述路径集合存在至少两种配置,则对每种配置下的各条待比较路径分别进行运行时间概率分布的计算;基于相同配置下各待比较路径的所述运行时间概率分布,确定各配置下所述路径集合的最大运行时间概率分布;基于所述至少两种配置的各配置下的所述最大运行时间概率分布,确定所述至少两种配置中对所述路径集合的最优配置。
2.如权利要求1所述的基于概率分布的工作流资源配置优化方法,其特征在于,所述通过剪枝算法将所述路径集合中运行时间不满足预设条件的路径删除,得到路径优化集合包括:
对所述路径集合中的路径进行比较,若所述路径集合中某路径属于所述路径集合中至少一条其它路径的子集,则将所述某路径从所述路径集合中删除,得到路径优化集合。
3.如权利要求1所述的基于概率分布的工作流资源配置优化方法,其特征在于,所述对所述路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径包括:
对所述路径优化集合中的路径按照以下的规则进行合并得到至少一条合并路径:
若所述路径优化集合中在各条长度相同的路径的相同位置的工作流节点不同,将所述各条长度相同的路径在所述相同位置上的工作流节点并列作为所述各条长度相同的路径的合并路径上在所述相同位置的工作流节点;
若所述路径优化集合中在各条长度相同的路径的相同位置的工作流节点相同,将所述各条长度相同的路径的所述相同位置上的相同的工作流节点作为所述各条长度相同的路径的合并路径上在所述相同位置的工作流节点。
4.如权利要求1所述的基于概率分布的工作流资源配置优化方法,其特征在于,若所述待比较路径的数量为一条,且所述待比较路径为合并路径,则在所述基于按照第一预设比较方式确定两种配置中对所述路径集合的最优配置的原理,得到所述至少两种配置中对所述路径集合的最优配置前,还包括:若所述合并路径上存在分配到相同类型的虚拟机的并行工作流节点,则将所述合并路径的所述并行工作流节点分配到同一个虚拟机上进行处理;
若所述待比较路径的数量为至少两条,且所述待比较路径中存在合并路径,则在所述对每种配置下的各条待比较路径分别进行运行时间概率分布的计算前,还包括:若一合并路径上存在分配到相同类型的虚拟机的并行工作流节点,则将所述一合并路径的所述并行工作流节点分配到同一个虚拟机上进行处理。
5.如权利要求1所述的基于概率分布的工作流资源配置优化方法,其特征在于,若所述待比较路径的数量为一条,则在所述基于按照第一预设比较方式确定两种配置中对所述路径集合的最优配置的原理,得到所述至少两种配置中对所述路径集合的最优配置前,还包括:若所述待比较路径上存在分配到相同类型的虚拟机的串行工作流节点,则将所述待比较路径的所述串行工作流节点分配到同一个虚拟机上进行处理;
若所述待比较路径的数量为至少两条,则在所述对每种配置下的各条待比较路径分别进行运行时间概率分布的计算前,还包括:若某条待比较路径上存在分配到相同类型的虚拟机的串行工作流节点,则将该条待比较路径的所述串行工作流节点分配到同一个虚拟机上进行处理。
6.如权利要求1-5任一项所述的基于概率分布的工作流资源配置优化方法,其特征在于,所述基于所述两种配置下所述待比较工作流节点的运行时间概率分布确定在所述两种配置中对所述路径集合的最优配置包括:
对所述两种配置按照以下方式进行比较得到在所述两种配置中对所述路径集合的最优配置:
按照公式计算得到概率值P(X>Y);在所述公式中,X表示所述两种配置中的第一种配置下的所述待比较工作流节点的运行时间,Y表示在所述两种配置中的第二种配置下的所述待比较工作流节点的运行时间,fX(x)表示在所述第一种配置下的所述待比较工作流节点的运行时间概率分布函数,fY(y)表示在所述第二种配置下的所述待比较工作流节点的运行时间概率分布函数;
若所述概率值P(X>Y)大于预设阈值,则所述第二种配置为所述两种配置中的最优配置;其中,所述预设阈值不低于0.5。
7.如权利要求1-5任一项所述的基于概率分布的工作流资源配置优化方法,其特征在于,所述基于所述两种配置下所述待比较工作流节点的运行时间概率分布确定在所述两种配置中对所述路径集合的最优配置包括:
对所述两种配置按照以下方式进行比较得到在所述两种配置中对所述路径集合的最优配置:
基于以下的两个公式计算概率值P(X>Y)的范围,
If X.l≤Y.r≤X.r,P(X>Y)≥1-FX(Y.r)
If X.l≤Y.l≤X.r,P(X>Y)≤1-FX(Y.l)
其中,所述X表示所述两种配置中的第一种配置下的所述待比较工作流节点的运行时间,所述Y表示在所述两种配置中的第二种配置下的所述待比较工作流节点的运行时间,所述Fx()表示在所述第一种配置下所述待比较工作流节点的运行时间累积分布函数;所述X.l和X.r分别为所述X的取值范围的下界和上界,所述Y.l和Y.r分别为所述Y的取值范围的下界和上界;
若根据第一个公式计算得到的所述概率值P(X>Y)的最小值大于第一预设阈值,则所述第二种配置为所述两种配置中的最优配置;其中,所述第一预设阈值不低于0.5;若根据第二个公式计算得到的所述概率值P(X>Y)的最大值小于第二预设阈值,则所述第一种配置为所述两种配置中的最优配置;其中,所述第二预设阈值不高于0.5。
8.如权利要求1-5任一项所述的基于概率分布的工作流资源配置优化方法,其特征在于,所述基于相同配置下各待比较路径的所述运行时间概率分布,确定各配置下所述路径集合的最大运行时间概率分布包括:
基于如下的公式计算所述至少两个配置的每个配置下所述路径集合的最大运行时间概率分布:
其中,所述fZ(z)为相同配置下两条待比较路径的最大运行时间概率分布,z=max(X,Y),所述X和Y分别为所述两条待比较路径的运行时间,fX()为所述X对应的待比较路径的运行时间概率分布函数;FX()为所述X对应的待比较路径的运行时间累积分布函数;fY()为所述Y对应的待比较路径的运行时间概率分布函数;FY()为所述Y对应的待比较路径的运行时间累积分布函数。
9.如权利要求1-5任一项所述的基于概率分布的工作流资源配置优化方法,其特征在于,所述基于所述至少两种配置的各配置下的所述最大运行时间概率分布,确定所述至少两种配置中对所述路径集合的最优配置包括:
基于按照第二预设比较方式确定两个配置中对所述路径集合的最优配置的原理,得到所述至少两种配置中对所述路径集合的最优配置;
10.一种基于概率分布的工作流资源配置优化系统,其特征在于,包括:
获取模块,用于获取包含工作流的所有可能路径的路径集合;
剪枝模块,用于通过剪枝算法将所述路径集合中运行时间不满足预设条件的路径删除,得到路径优化集合;
合并模块,用于若所述路径优化集合中存在长度相同的路径,则对所述路径优化集合中各条长度相同的路径上位于同一位置的工作流节点进行合并,得到至少一条合并路径,将所述合并路径以及所述路径优化集合中未参与合并的路径作为待比较路径;若所述路径优化集合中不存在长度相同的路径,则将所述路径优化集合中的所有路径均作为待比较路径;
配置模块,用于确定对所述路径集合的配置;所述配置包括对处理所述路径集合中各路径上的各工作流节点的虚拟机的类型的设置;
处理模块,用于若所述待比较路径的数量为一条,且对所述路径集合存在至少两种配置,则基于按照第一预设比较方式确定两个配置中对所述路径集合的最优配置的原理,得到所述至少两种配置中对所述路径集合的最优配置;其中,所述第一预设比较方式包括:确定两种配置下所述待比较路径上分配的配置不同的工作流节点作为待比较工作流节点,计算所述两种配置下所述待比较工作流节点的运行时间概率分布,基于所述两种配置下所述待比较工作流节点的运行时间概率分布确定在所述两种配置中对所述路径集合的最优配置;以及用于若所述待比较路径的数量为至少两条,且对所述路径集合存在至少两种配置,则对每种配置下的各条待比较路径分别进行运行时间概率分布的计算;基于相同配置下各待比较路径的所述运行时间概率分布,确定各配置下所述路径集合的最大运行时间概率分布;基于所述至少两种配置的各配置下的所述最大运行时间概率分布,确定所述至少两种配置中对所述路径集合的最优配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810465601.8A CN108762918B (zh) | 2018-05-16 | 2018-05-16 | 一种基于概率分布的工作流资源配置优化方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810465601.8A CN108762918B (zh) | 2018-05-16 | 2018-05-16 | 一种基于概率分布的工作流资源配置优化方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108762918A CN108762918A (zh) | 2018-11-06 |
CN108762918B true CN108762918B (zh) | 2021-09-07 |
Family
ID=64007994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810465601.8A Active CN108762918B (zh) | 2018-05-16 | 2018-05-16 | 一种基于概率分布的工作流资源配置优化方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108762918B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3212740B2 (ja) * | 1993-03-02 | 2001-09-25 | 三菱電機株式会社 | 論理回路最適化のためのドライブ能力割当て方法 |
CN102169524A (zh) * | 2010-02-26 | 2011-08-31 | 同济大学 | 城市轨道交通网络客流分布的分阶段多路径模型算法 |
CN102236578A (zh) * | 2010-05-07 | 2011-11-09 | 微软公司 | 分布式工作流执行 |
CN102981890A (zh) * | 2012-11-30 | 2013-03-20 | 华南理工大学 | 一种在虚拟化数据中心内的计算任务及虚拟机部署方法 |
US8527448B2 (en) * | 2011-12-16 | 2013-09-03 | Huawei Technologies Co., Ltd. | System, method and apparatus for increasing speed of hierarchial latent dirichlet allocation model |
CN103970609A (zh) * | 2014-04-24 | 2014-08-06 | 南京信息工程大学 | 一种基于改进蚁群算法的云数据中心任务调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10120722B2 (en) * | 2014-01-31 | 2018-11-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Reordering workflows for network provisioning by using blocking penalty and compounded failure risk values for tasks |
-
2018
- 2018-05-16 CN CN201810465601.8A patent/CN108762918B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3212740B2 (ja) * | 1993-03-02 | 2001-09-25 | 三菱電機株式会社 | 論理回路最適化のためのドライブ能力割当て方法 |
CN102169524A (zh) * | 2010-02-26 | 2011-08-31 | 同济大学 | 城市轨道交通网络客流分布的分阶段多路径模型算法 |
CN102236578A (zh) * | 2010-05-07 | 2011-11-09 | 微软公司 | 分布式工作流执行 |
US8527448B2 (en) * | 2011-12-16 | 2013-09-03 | Huawei Technologies Co., Ltd. | System, method and apparatus for increasing speed of hierarchial latent dirichlet allocation model |
CN102981890A (zh) * | 2012-11-30 | 2013-03-20 | 华南理工大学 | 一种在虚拟化数据中心内的计算任务及虚拟机部署方法 |
CN103970609A (zh) * | 2014-04-24 | 2014-08-06 | 南京信息工程大学 | 一种基于改进蚁群算法的云数据中心任务调度方法 |
Non-Patent Citations (1)
Title |
---|
时序约束下科学工作流的动态调度研究;梁合兰,等;;《系统工程理论与实践》;20150930;第35卷(第9期);2410-2411 * |
Also Published As
Publication number | Publication date |
---|---|
CN108762918A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170255496A1 (en) | Method for scheduling data flow task and apparatus | |
CN112286659A (zh) | 云计算任务跟踪处理方法及云计算系统 | |
CN112114960B (zh) | 一种适应互联网场景的遥感影像并行集群处理的调度策略 | |
CN108804383B (zh) | 基于度量空间的支撑点并行枚举方法及装置 | |
CN111371856A (zh) | 云计算任务调度方法、装置、云计算系统及服务器 | |
CN109189572B (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
WO2015180340A1 (zh) | 一种数据挖掘方法及装置 | |
CN113037800B (zh) | 作业调度方法以及作业调度装置 | |
CN112699134A (zh) | 基于图剖分的分布式图数据库的存储与查询方法 | |
CN115269118A (zh) | 一种虚拟机的调度方法、装置及设备 | |
CN106911777A (zh) | 一种数据处理方法及服务器 | |
CN117311998B (zh) | 一种大模型部署方法及系统 | |
CN112799852B (zh) | 逻辑节点的多维sbp分布式签名决策系统及其方法 | |
JP6992821B2 (ja) | 分類木生成方法、分類木生成装置および分類木生成プログラム | |
CN111695701B (zh) | 基于联邦学习实现数据集构建处理的系统及其构建生成方法 | |
CN108762918B (zh) | 一种基于概率分布的工作流资源配置优化方法和系统 | |
CN108053197A (zh) | 工作流处理方法及系统 | |
Rehab et al. | Scalable massively parallel learning of multiple linear regression algorithm with MapReduce | |
CN114581220B (zh) | 数据处理方法、设备及分布式计算系统 | |
CN116775237A (zh) | 任务调度方法、装置、网络设备及存储介质 | |
WO2019218169A1 (zh) | 一种基于概率分布的工作流资源配置优化方法和系统 | |
CN113051080A (zh) | 一种计算图执行方法、装置及异构平台 | |
CN109901931B (zh) | 一种归约函数数量确定方法、装置及系统 | |
CN114706687B (zh) | 计算任务的分配方法、装置、计算机设备和存储介质 | |
US20180365063A1 (en) | System allocating links for data packets in an electronic system |
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 |