CN104461728A - 迁移事件调度管理 - Google Patents
迁移事件调度管理 Download PDFInfo
- Publication number
- CN104461728A CN104461728A CN201310429058.3A CN201310429058A CN104461728A CN 104461728 A CN104461728 A CN 104461728A CN 201310429058 A CN201310429058 A CN 201310429058A CN 104461728 A CN104461728 A CN 104461728A
- Authority
- CN
- China
- Prior art keywords
- migration
- server
- scheduling
- chromosome
- constraint
- 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
Classifications
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
根据本发明的方面,提供了在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务器群中的服务器资源调度迁移(migration)事件的系统和方法。系统和方法可以包括生成用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案,并且基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
Description
技术领域
本说明书涉及用于迁移事件调度管理的各种基于计算机的技术。
背景技术
在典型的服务器网络环境中,每个服务器可以提供多个资源供承租用户使用。因为很多服务器可能使用不同但是可能共享的资源,并且向承租用户提供不同级别的访问,所以平衡服务器负载和传输与承租人相关的数据可能是复杂的过程。例如,一组承租人可以拥有到一组服务器的访问,其中承租人/服务器的任意分配可能导致服务器的负载不平衡,这可能对网络/服务器性能不利。在典型的服务器网络环境中,此问题的常规解决方案可以是穷尽式地枚举承租人和服务器的所有组合来找出全局解决方案。然而,这种枚举可能导致非常复杂或相对不能解决的问题,其可能是无效的。因而,存在最优化与服务器网络环境中的承租人布置有关的过程的需要。
发明内容
根据本公开的方面,可以提供用于迁移事件调度管理的计算机系统,包括存储在非瞬时性计算机可读介质上并通过至少一个处理器可执行的指令。计算机系统可以包括承租人置换(replacement)管理器,承租人转换管理器被配置为使得至少一个处理器在考虑服务器群的负载平衡约束和数据传输约束的通知相对于时间间隔,调度针对服务器群中的多个服务器资源的每个的迁移事件。承租人置换管理器可以包括:被配置为确定服务器群的负载平衡约束的负载平衡处理器,及被配置为确定服务器群的数据传输约束的数据传输处理器。承租人置换管理器可以包括迁移事件协调器,迁移事件协调器被配置为在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内,生成一个或多个潜在的迁移调度方案用于每个服务器资源到服务器群中的至少一个其他服务器资源的迁移。承租人置换管理器可以包括迁移事件调度优化器,迁移事件调度优化器被配置为基于针对服务器群中每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
在一些实施例中,多个服务器资源可以包括一组服务器,并且服务器群可以包括通过网络连接至一组承租人的该组服务器。对于请求访问服务器群的多个服务器资源(包括访问计算资源和访问存储资源)的一个或多个承租人,服务器群的每个服务器资源可以是可访问的。服务器群的负载平衡约束可以被定义为服务器群中的服务器资源的负载需求的方差,其中负载需求的方差可以被表示为:其中Li是服务器资源si的负载,并且μ是服务器资源的平均负载。服务器群的数据传输约束可以被定义为基于从一个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,其中存储需求的和可以被表示为:其中Dj是承租人tj需要的磁盘空间,并且当tj被迁移时fj等于1,否则fj等于零。负载平衡约束和数据传输约束可以被规范化,并且在适应度函数中利用加权参数求和,其中适应度函数可以被表示为:其中α是加权参数。
在一些实施例中,迁移事件协调器可以被配置为接收每个负载平衡约束和每个数据传输约束作为输入用于通过迁移事件协调器来模型化为染色体,并且迁移事件协调器可以被配置为基于被模型化为染色体的每个负载平衡约束和每个数据传输约束来生成一个或多个潜在的迁移调度方案。
在一些实施例中,迁移事件协调器可以包括遗传算法处理器,遗传算法处理器包括染色体比较器,染色体比较器被配置为比较多个迁移调度染色体,其中每个迁移调度染色体包括用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案,并且染色体比较器被配置为关于负载平衡约束和数据传输约束比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的选择的子集。遗传算法处理器可以包括染色体组合器,染色体组合器被配置为组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输出到染色体比较器,并用于使用其关于负载平衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为染色体比较器和染色体组合器之间的多个迁移调度染色体的进化循环的一部分。迁移事件调度优化器可以被配置为监视进化循环,并且从中选择所选择的迁移事件调度染色体,用于基于其实施迁移事件调度。
在一些实施例中,染色体组合器可以被配置为组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体。可以使用并行过程来执行进化循环的至少部分,其中将每代迁移调度染色体划分为子组用于其并行处理。迁移事件调度优化器可以被配置为在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
根据本公开的方面,可以提供计算机程序产品用于迁移事件调度管理。计算机程序产品可以有形地实现在非瞬时性计算机可读的存储介质上,并且可以包括指令,其中指令当通过至少一个处理器执行时,被配置为在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务器群中的多个服务器资源的每个调度迁移事件。指令当通过至少一个处理器执行时,可以被配置为确定服务器群的负载平衡约束,确定服务器群的数据传输约束,并且生成用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案。指令当通过至少一个处理器执行时,被配置为基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于在时间间隔之内的每个迁移事件的迁移事件调度。
在一些实施例中,服务器群的负载平衡约束可以被定义为服务器群中的服务器资源的负载需求的方差,其中负载需求的方差可以被表示为:其中Li是服务器资源si的负载,并且μ是服务器资源的平均负载。服务器群的数据传输约束可以被定义为基于从一个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,其中存储需求的和可以被表示为:其中Dj是承租人tj需要的磁盘空间,并且当tj被迁移时fj等于1,否则fj等于零。负载平衡约束和数据传输约束可以被规范化,并且利用加权参数在适应度函数中被求和,其中适应度函数可以被表示为:其中α是加权参数。
在一些实施例中,当通过处理器执行时,指令可以被配置为比较多个迁移调度染色体,其中每个迁移调度染色体包括用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案。当通过处理器执行时,指令可以被配置为关于负载平衡约束和数据传输约束来比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的所选择的子集。当通过处理器执行时,指令可以被配置为组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输出,并用于使用其关于负载平衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为多个迁移调度染色体的进化循环的一部分。当通过处理器执行时,指令可以被配置为监视进化循环,并且从中选择所选择的迁移事件调度染色体,用于基于其实施迁移事件调度。
在一些实施例中,当通过处理器执行时,指令可以被配置为组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体以获得下一代的子染色体,使用并行过程执行至少部分进化循环,其中将每代迁移调度染色体划分为子组用于其并行处理,并且在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
根据本公开的方面,可以提供计算机实现的方法用于迁移事件调度管理。该方法可以包括在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务器群中的多个服务器资源的每个调度迁移事件。该方法可以包括:确定服务器群的负载平衡约束;确定服务器群的数据传输约束;以及生成用于考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案。该方法可以包括基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
在一些实施例中,该方法可以包括比较多个迁移调度染色体,其中每个迁移调度染色体包括用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案。该方法可以包括关于负载平衡约束和数据传输约束,比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的所选择的子集。该方法可以包括组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输出到染色体比较器,并用于使用其关于负载平衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为多个迁移调度染色体的进化循环的一部分。该方法可以包括监视进化循环,并且从中选择所选择的迁移调度染色体,用于基于其实施迁移事件调度。
在一些实施例中,该方法可以包括组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体。该方法可以包括使用并行过程来执行进化循环的至少部分,其中将每代迁移调度染色体划分为子组用于其并行处理。该方法可以包括在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
在一些实施例中,服务器群的负载平衡约束可以被定义为服务器群中的服务器资源的负载需求的方差,其中负载需求的方差可以被表示为:其中Li是服务器资源si的负载,并且μ是服务器资源的平均负载。服务器群的数据传输约束可以被定义为基于从一个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,其中存储需求的和可以被表示为:其中Dj是承租人tj需要的磁盘空间,并且当tj被迁移时fj等于1,否则fj等于零。负载平衡约束和数据传输约束可以被规范化,并且利用加权参数在适应度函数中求和,其中适应度函数可以被表示为:其中α是加权参数。
在附图和下面的描述中阐明一个或多个实施例的详情。其他特征从描述和附图以及从权利要求中将变得清楚。
附图说明
图1A-1B是示出根据本公开的方面的用于迁移事件调度管理的各种示例系统的框图。
图2是示出根据本公开的方面的、用于管理迁移调度的示例方法的过程流。
图3A-3B是示出根据本公开的方面的、用于管理迁移调度的示例系统实施的图。
图4-7是示出根据本公开的方面的、用于管理迁移调度的各种示例方法的过程流。
图8示出根据本公开的方面的示例染色体。
图9示出根据本公开的方面的染色体的示例解码。
图10A-10B示出根据本公开的方面的染色体的示例交叉和变异。
具体实施方式
图1A-1B是示出根据本公开的方面的、用于迁移事件调度管理的各种示例系统的框图。
具体地,图1A是示出根据本公开的方面的、用于迁移事件调度管理的示例系统100的框图,其通过实现承租置换管理器120、迁移事件协调器126和迁移事件调度优化器128来管理、协调和最优化迁移事件调度。在一些实施例中,迁移事件调度可以包括服务器群(服务器包租区)中的承租人布置/移动,用于负载平衡和最小的数据移动/迁移。
在图1A的例子中,系统100包括用于实现迁移事件调度管理系统的计算机系统,其可以与计算设备104关联,从而将计算设备104转换为如这里描述的、被设计来确定和实现一个或多个迁移调度过程的专用机器。在这个意义上,可以理解计算设备104可以包括任何标准元件和/或组件,包括至少一个处理器110、存储器(例如,非瞬时性计算机可读存储介质)112、数据库140、电源、外围设备和可能没有在图1A中具体示出的各种其他计算元件和/或组件。此外,系统100可以与可以用来提供用户界面(UI)152(在一些例子中诸如图形用户界面(GUI))的显示设备150(例如,监视器或其他显示器)关联。在实施例中,例如,可以使用UI152来从用户接收偏好,用于管理或利用系统100。因而,应该理解可以添加或包括对实现系统100可能有用的系统100的各种其他元件和/或组件,这对本领域一位普通技术人员来说是显而易见的。
在图1A的例子中,迁移事件调度管理系统100可以包括计算设备104,以及记录/存储在非瞬时性计算机可读介质112上并可通过至少一个处理器110执行的指令。从而,在实施例中,迁移事件调度管理系统100可以包括用于向用户提供输出的显示设备150,并且显示设备150可以包括用于从用户接收输入的UI152。
迁移事件调度管理系统100可以包括承租人置换管理器120,其被配置为使得至少一个处理器110在考虑服务器群160的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务器群160中的多个服务器资源160A、160B、……、160N的每一个调度迁移事件。
在一些实施例中,负载平衡约束可以包括负载平衡目标,并且数据传输约束可以包括数据传输目标,包括最小数据传输目标。在其他实施例中,负载平衡约束可以包括用于服务器群160中的每个服务器资源160A、160B、……、160N的最小和/或最大负载约束,并且数据传输约束可以包括用于服务器群160中的每个服务器资源160A、160B、……、160N的最小和/或最大数据约束。
在一些实施例中,多个服务器资源160A、160B、……、160N可以包括一组服务器,并且服务器群160可以包括通过网络连接至一组承租人170A、170B、……、170N的该组服务器。对于请求访问服务器群160的多个服务器资源160A、160B、……、160N(包括访问计算资源和访问存储资源)的一组承租人的一个或多个承租人170A、170B、……、170N,服务器群160中的每个服务器资源160A、160B、……、160N可以是可访问的。
在一些实施例中,服务器群160(或服务器包租区(farm))包括通过计算机网络连接的多个服务器资源160A、160B、……、160N(或多个服务器)。对于请求访问服务器群160中的服务器资源160A、160B、……、160N(诸如按需要的计算和存储)的众多承租人170A、170B、……、170N,每个服务器资源可以是可访问的。有时,服务器资源的负载可能是平衡的。然而,由于来自承租人170A、170B、……、170N的一个或多个的一些新的要求或请求,这样的负载平衡可能被打断。例如,承租人170A、170B、……、170N可能请求访问比分配的服务器资源160A、160B、……、160N的可用空间更多的存储。从而,在各种实施例中,可能将此承租人170A、170B、……、170N移动/迁移到可能具有可用存储/磁盘空间的服务器资源160A、160B、……、160N的另一个,或者将其他承租人从当前服务器资源移动/迁移到一个或多个其他服务器资源160A、160B、……、160N。在移动/迁移承租人170A、170B、……、170N的事件中,还可能移动/迁移此承租人170A、170B、……、170N的数据。当承租人170A、170B、……、170N具有大量的数据存储需求时,此类型的数据迁移可能较慢。
因而,本公开的方面针对的是用于服务器群160(或服务器包租区)的最优承租人置换系统和方法,其可以被配置为同时最小化数据传输和平衡服务器负载。例如,参照图1A,对于一组承租人,服务器群中的十个服务器可以是可访问的,并且任意的承租人置换可能导致潜在在服务器负载不平衡。然而,根据本公开的方面,可以利用最优化系统和方法来实现负载平衡,其用如在此更详细地描述的方式来提供更有效的服务器群/包租区。
在一些例子中,此问题的一个解决方案可以是穷尽式地枚举承租人和服务器的所有组合找出全局最佳。然而,这种类型的枚举可以是NP完全问题(即,非确定性多项式时间完全问题),其在多项式时间(poly-nominal-time)内不能解决。从而,本公开的方面提供了此问题的另一解决方案,例如,使用近似系统和方法,可以基于适于或被配置为针对服务器群/包租区管理承租人的遗传算法。在各种实施例中,此GA系统和方法可以被配置为将承租人置换到服务器,使得可以最优化数据迁移和负载平衡两者。在此更详细地描述用于此系统及其方法的进一步的范围和功能。
在图1A的例子中,承租人置换管理器120可以包括被配置为确定服务器群160的负载平衡约束的负载平衡处理器122。在一些实施例中,服务器群160的负载平衡约束可以被定义为服务器群160中的服务器资源160A、160B、……、160N的负载需求的方差,在本文中将对其进一步描述。
在图1A的例子中,承租人置换管理器120可以包括被配置为确定服务器群160的数据传输约束的数据传输处理器124。在一些实施例中,服务器群160的数据传输约束可以被定义为基于从服务器群160中的一个服务器资源迁移到另一服务器资源的一个或多个承租人170A、170B、……、170N的、服务器群160中的服务器资源160A、160B、……、160N的存储需求的和,在在本文中将对其进一步描述。
在各种实施例中,承租人置换管理器120可以使用存储在数据库140中的、与负载平衡约束和数据传输约束有关的、可能已知或被认为是影响、控制和/或另外影响迁移事件的各种类型的数据。例如,与服务器群160中的服务器资源160A、160B、……、160N有关的数据可以存储在数据库140中,并且服务器资源数据可以描述服务器资源160A、160B、……、160N的每个的当前的、历史的和/或最大负载和数据存储容量。服务器资源数据可以描述与服务器资源160A、160B、……、160N的每个有关的负载平衡约束和/或数据传输约束。在另一例子中,与承租人170A、170B、……、170N有关的数据可以存储在数据库140中,并且承租人数据可以描述关于每个承租人170A、170B、……、170N的过去的、当下的和/或任何相关数据,诸如,例如负载和存储要求。
在各种实施例中,负载平衡约束可以包括负载平衡目标(包括最小和/或最大负载平衡目标),并且数据传输约束可以包括数据传输目标(包括最小和/或最大数据传输目标)。在其他实施例中,负载平衡约束可以包括用于服务器群160中的每个服务器资源160A、160B、……、160N的负载约束,并且数据传输约束可以包括用于服务器群160中的每个服务器资源160A、160B、……、160N的数据约束。
在各种实施例中,应该理解任何例子数据意在仅作为非限制性的例子,并且可以在承租人置换管理器120的操作中使用任何附加和/或替代类型的数据。例如,数据可以存储在例如一个或多个数据库140中和/或别处。
在图1A的例子中,承租人置换管理器120可以包括迁移事件协调器126,其被配置为用于在考虑服务器群160的负载平衡约束(在一些例子中,包括负载平衡目标)和服务器群160的数据传输约束(在一些例子中,包括数据传输目标)的时间间隔之内的、服务器群160中的每个服务器资源160A、160B、……、160N到至少一个其他服务器资源160A、160B、……、160N的迁移的一个或多个潜在的迁移调度方案。在一些实施例中,迁移事件协调器126可以被配置为接收每个负载平衡约束和每个数据传输约束作为输入,用于通过迁移事件协调器126模型化为染色体。在一些实施例中,迁移事件协调器126可以被进一步配置为基于被模型化为染色体的每个负载平衡约束和每个数据传输约束来生成一个或多个潜在的迁移调度方案。
在图1A的例子中,承租人置换管理器120可以包括迁移事件调度优化器128,其被配置为基于针对服务器群160中的每个服务器资源160A、160B、……、160N到至少一个其他服务器资源160A、160B、……、160N的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
在一些实施例中,承租人置换管理器120可以使用迁移事件调度优化器128和/或迁移事件协调器126来生成迁移事件调度以包括特定的迁移调度方案和/或用在调度一个或多个服务器资源160A、160B、……、160N的实际使用的解决方案。
在图1A的例子中,应该理解使用表示或多或少(more-or-less)的分离的功能的各种功能块或模块来示出迁移事件调度管理系统100。然而,为了清楚和方便提供这种图解,因而,应该理解各种功能可以在所述块或模块之内重叠或合并,和/或可以通过没有在图1A的例子中具体示出的一个或多个块或模块来实现。因而,应该理解,也可以包括可能被认为对图1A的系统100有用的常规功能,即使为了清楚和方便没有明确地示出这样的常规元件。
在各种实施例中,网络(或计算机网络)可以实现为单个网络或多个网络的组合。例如,网络可以包括适用于与诸如因特网的一个或多个其他通信网络通信的无线电信网络(例如,蜂窝电话网络)。在其他例子中,网络160可以包括因特网、一个或多个内联网、地面网络、无线网络和/或一个或多个其他类型的通信网络。因而,在各种例子中,计算设备104、服务器群160中的一个或多个服务器资源160A、160B、……、160N以及一个或多个承租人170A、170B、……、170N可以与特定的链路(例如,诸如到IP(因特网协议)地址的URL(统一资源定位符)的链路)相关联,用于经由网络与彼此通信。
图1B是示出根据本公开的方面的、通过实现遗传算法来管理迁移调度的、用于迁移事件调度管理的另一示例系统150的框图。在一些例子中,迁移事件调度可以包括服务器群(或服务器包租区)中的承租人布置,用于负载平衡和最小的数据移动。
在实施例中,系统150包括可以与图1A的系统100的计算设备104关联的、用于实现迁移事件调度管理系统的计算机系统。因而,为了简化下面的讨论,图1B的系统150的相似的组件可以包括图1A的系统100的相同范围和功能,从而将图1B的计算设备104转换为如在此描述的、被设计为确定和实现迁移调度过程的专用机器。
在实施例中,图1A的系统100的迁移事件协调器126可以被配置为遗传算法处理器131。因此,在图1B的例子中,系统150的承租人置换管理器120可以包括遗传算法处理器131。在一些例子中,遗传算法处理器131可以被配置为实现被称为遗传算法(GA)的随机化算法方法,其通常指的是通过连续代反复以朝向问题/解决方案空间中最好的解决方案收敛的达尔文自然选择的计算机模拟。系统150可以使用这样的遗传算法(GA)来将要求、参数和/或约束考虑到迁移调度最优化过程中。此外,在一些实施例中,如在此描述,迁移事件调度管理系统150可以被认为是能够推荐和/或选择“最可用(best-available)”的迁移调度方案。
在系统150中,例如,可以通过创建表示生成迁移调度方案这个问题的可能解决方案的一个或多个“染色体”来实现遗传算法方法。在此描述这种迁移调度染色体的特定的例子。然而,一般而言,应该理解这样的迁移调度染色体可以包括基于用于每个服务器资源160A、160B、……、160N的迁移事件的、用于每个服务器资源160A、160B、……、160N的一个或多个潜在的迁移调度方案。
此外,应该理解,这样潜在的迁移调度方案可以用来关于负载容量和数据存储容量比较每个迁移调度染色体,从而输出迁移调度染色体的所选择的子集。因此,可能存在单个这样的迁移调度染色体,其可以表示对于给定的迁移调度目标集合的单个最好的迁移调度方案,从而最大化和/或最优化负载平衡和数据传输。然而,潜在的迁移调度方案(即,迁移调度染色体)的最优化可以是相对于承租人的需要以及包括约束、参数和/或要求的各种其他因素的。在有些情况下,由于在此使用的遗传算法的特性,承租人置换管理器120可以被配置为找到接近于最优解决方案的“最好的”解决方案,即使实际的最优解决方案不是如此可识别的。
在一些实施例中,迁移事件调度优化器128可以被配置用于调整约束以提供承租人置换管理器120的可能目标之间的指定,并且应该理解,包括约束、参数和/或要求的各种因素可以被认为是必要的或可选的。例如,在应该最优化负载平衡和数据传输的场景中,遗传算法的充分利用可以是选项但可以不是要求。
承租人置换管理器120可以被配置为经由遗传算法处理器131利用遗传算法来以这样的方式创建、比较和组合多个迁移调度染色体从而创建迁移调度染色体的新一代或种群供评估,使得可以选择其子集用于繁殖(reproduction)和后续的评估。用这种方式,迁移调度染色体的每一代和/或种群可以趋向于朝着潜在的迁移调度方案的最优解决方案收敛。在一些例子中,迁移事件调度优化器128可以被配置为选择特定的迁移调度解决方案(例如,潜在的迁移调度方案之一或迁移调度染色体之一)用在确定或选择最好的潜在迁移调度方案中。
在图1B的例子中,遗传算法处理器131可以包括被配置用于生成一个或多个迁移调度染色体的染色体生成器132。在有些情况下,这种迁移调度染色体生成可以随机发生,或者可以包括一些初始的约束、指导或限制。染色体生成器132可以被配置为生成初始的迁移调度染色体种群或集合,其可以通过染色体比较器134评估,染色体比较器134可以被配置用于比较每个迁移调度染色体,每个迁移调度染色体包括基于用于服务器群160中的每个服务器资源160A、160B、……、160N的迁移事件的一个或多个时间间隔之内的、用于每个服务器资源160A、160B、……、160N的一个或多个潜在的迁移调度方案。染色体比较器134可以被配置为在考虑负载平衡约束和数据传输约束的同时相对于一个或多个时间间隔来比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的选择的子集,其可以表示最好的可用的潜在迁移调度方案。在此更详细地描述这些和各种其他相关的方面。
染色体组合器136可以被配置为接收多个迁移调度染色体的所选择的子集,并且可以被配置为组合(例如,交叉和变异)多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代(种群)的迁移调度染色体用于输出到染色体比较器134,染色体比较器134然后可以针对负载平衡约束和数据传输约束使用其执行下一代迁移调度染色体的另一次、后续的比较,作为染色体比较器134和染色体组合器136之间的多个迁移调度染色体的连续代的进化循环的一部分。使用每个连续世代,新的迁移调度染色体的种群可以表示或包括一个或多个可能改进的或接近最优的调度。在一些实施例中,可以反复地创建新的代和/或种群,直到满足最优解决方案为止,或者直到满足因素、偏好和/或要求达某种预定义的满意级别或阈值为止,或者直到计算了预定代数为止,或者直到计算新的代/种群的时间超时为止(在该点可以选择当前代的最好解决方案)。
迁移事件调度优化器128可以被配置为监视进化循环,并从中选择所选择的迁移调度染色体用于基于其实施迁移调度方案。如在此提及,所选择的迁移调度染色体和/或解决方案可以表示最好的(最优或近最优的)解决方案,或者可以表示最可用的解决方案。从而,迁移事件调度优化器128可以被分派任务以确定是否、何时以及如何打断或否则结束进化循环,并且提取最好的、最可用的、最优的或近最优的解决方案。然后,迁移事件调度优化器128可以输出所选择的迁移调度染色体和/或执行实际的迁移事件调度。
在图1B的例子中,染色体组合器136可以被进一步配置为组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体。在实施例中,至少部分进化循环可以使用并行过程来执行,其中将每一代迁移调度染色体划分成子组用于其并行处理。在这种情况下,迁移事件调度优化器128可以被进一步配置为在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程序上满足约束之后,选择所选择的迁移调度染色体。
在图1B的例子中,应该理解使用表示或多或少的分离的功能的各种功能块或模块来示出迁移事件调度管理系统150。然而,为了清楚和方便提供这种图解,因而,应该理解各种功能可以在所述块或模块之内重叠或合并,和/或可以通过没有在图1B的例子中具体示出的一个或多个块或模块来实现。因而,应该理解,也可以包括可能被认为对图1B的系统150有用的常规功能,即使为了清楚和方便没有明确地示出这样的常规元件。
图2是示出根据本公开的方面的用于管理迁移调度的示例方法200的过程流。
在图2的例子中,操作202-208被示出为按顺序的次序发生的分离的操作。然而,应该理解,在其他实施例中,操作202-208的两个或多个可以以部分或完全重叠或并行的方式发生,或者以嵌套的或循环的方式发生,或者可以以不同于所示的次序发生。此外,可能没有在图2的例子中具体地示出的附加的操作也可以包括在一些示例实施例中,而在其他实施例中,可以省略操作202-208的一个或多个。此外,在一些实施例中,方法200可以包括用于在图1A的系统100和图1B的系统150中管理迁移调度的计算机实现的方法的过程流。此外,如在此所述,操作202-208可以提供可以由计算机系统104扮演以提供如参照图1A和1B所述的特征和功能的简化的操作过程流。
在本公开的一方面中,可以提供图2的方法200用于在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔针对服务器群中的多个服务器资源的每个调度迁移事件。
在图2的例子中,在202,方法200可以包括确定服务器群的负载平衡约束。
在204,方法200可以包括确定服务器群的数据传输约束。
在206,方法200可以包括生成在考虑服务器群的负载平衡约束和数据传输约束的同时,在该时间间隔之内的服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案。在一些例子中,约束可以包括目标,包括最小和/或最大目标。在其他例子中,负载平衡约束可以包括用于服务器群中的每个服务器的负载平衡和/或负载目标,并且数据传输约束可以包括用于服务器群中的每个服务器的数据约束和/或数据目标。
在208,方法200可以包括基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
图3A-3B是示出根据本公开的方面的用于管理迁移调度的示例系统实施例的图。
具体地,图3A是示出根据本公开的方面的、用于针对负载平衡和数据传输的管理、协调和最优化迁移调度的示例实施例300的图。
例如,在一些实施例中,服务器群/包租区310可以包括可以通过计算机网络连接的多个服务器#1-10。对于请求或要求访问服务器#1-10的资源(诸如按需求的计算和存储)的很多承租人320,每个服务器#1-10可以是可访问的。在一些例子中,服务器#1-10的负载可以是平衡的。然而,由于承租人320的一些新的访问请求和/或要求,可能打断这样的负载平衡。在一些例子中,承租人320的承租人321可能请求访问多于特定服务器(例如,服务器#1)的可用空间的附加的存储。因此,此承租人321可以被移动/迁移到可能具有足够的存储空间的至少一个其他的服务器(例如,服务器#2-10),或将承租人320的其他承租人从此服务器(例如,服务器#1)移动/迁移到一个或多个其他服务器(例如,服务器#2-10)。
在一些例子中,当承租人被移动/迁移到另一服务器时,此承租人的数据也应该被移动/迁移。当承租人拥有大量的数据存储需求时,这样的数据移动/迁移可能是较慢的。因此,在此描述的系统可以被配置为同时减少/最小化数据传输和平衡服务器负载的、用于服务器群/包租区310的最优的承租人置换方法。例如,参照图3A,当一组承租人320访问十个服务器310时,任意的承租人置换可能导致负载不平衡,例如如图330中所示。然而,根据本公开的方面,可以利用本文描述的最优化系统和各种方法来实现负载平衡,以使得服务器群/包租区更加有效,如图340中的示例所示的。
在一些实施例中,服务器群/包租区可以包括一组服务器s=(s1,s2,…,st)和一组承租人T=(t1,t2,…,tk),其中可以将多个承租人布置到一个服务器。每个服务器上的负载和数据大小可以被表示为R(s)=(Load,Disk)。在一些例子中,确定每个服务器上的负载和数据大小没有超过最大设置,以及具有很好地平衡的负载以及尽可能低的数据传输被认为很重要。
服务器包租区中的负载平衡L可以被定义为所有服务器的负载的方差,其中需求的方差可以被表示为:
其中Li是服务器si的负载,并且μ是群/包租区中的服务器的平均负载。
数据传输D可以被定义为从一个服务器移动或迁移到另一服务器的承租人的数据大小的和,其中存储需求的和可以被表示为:
其中Dj是承租人tj要求的磁盘空间,并且当tj被迁移时fj等于1,否则fj等于0。
负载平衡和数据传输可以被规范化,并且被总计为适应度函数,其可以被表示为:
其中α是加权参数。
因此,用于服务器群/包租区的承租人管理问题可以被简化为适应度函数的最小化。
具体地,图3B是示出根据本公开的方面的用于针对负载平衡和数据传输的管理、协调和最优化迁移调度的示例实施例350的图。
在图3B的例子中,服务器群/包租区360可以包括四个服务器#1-4,十二个承租人#1-12被分配给四个服务器#1-4。在此例子中,每个承租人可以请求或要求访问特定量的服务器资源(例如,负载和磁盘),并且每个服务器#1-4具有资源的最大限制。此外,参照此例子,这里的表1和表2提供/描述通过/在每个服务器和承租人中请求/要求的可用资源。
表1:每个服务器中的承租人布置。
服务器 | #1 | #2 | #3 | #4 |
负载 | 10 | 20 | 40 | 15 |
磁盘 | 15 | 15 | 10 | 40 |
表2:承租人要求。
因为每个服务器#1-12可以由多个承租人访问,而每个承租人可以被布置于一个唯一的服务器,所以可以使用二进制矢量来指示承租人#1-4是否可以访问某一服务器。
例如,V(t1)=〔1.0.0〕意思是承租人t1在服务器#1中。在此例子中,可能存在412=16,777,216种承租人和服务器的组合。
枚举法可以检查每个组合,并且计算适应度函数的值然后返回不超过服务器#1-4中的最大限制并且具有最小适应度值的值。
在一些例子中,具有S个服务器和T个承租人的服务器群/包租区可以具有需要枚举的ST种组合,因此,现代计算机可能不太可能在可接受的时间内找到全局最优。
图4是示出根据本公开的方面的、用于管理迁移调度的另一示例方法400的过程流。
在图4的例子中,操作402-410作为按顺序的次序发生的分离的操作示出。然而,应该理解,在其他实施例中,操作402-410的两个或多个可以以部分或完全重叠或并行的方式、或者以嵌套或循环的方式发生,或者可以以不同于所示的次序发生。此外,在一些实施例中还可以包括可能没有在图4的例子中具体示出的附加的操作,而在其他实施例中,可以省略操作402-410的一个或多个。此外,在各种实施例中,方法400可以包括用于在图1A的系统100和图1B的系统150中管理迁移调度的计算机实现的方法的过程流。此外,如在此描述,操作402-410可以提供对图2的方法200的操作210的扩展的操作过程流,其可以由计算机系统104扮演来提供如参照图1A和1B所述的特征和功能。
在本公开的一方面中,可以提供图4的方法400用于生成基于每个服务器资源160A、160B、……、160N的迁移事件的针对每个服务器资源160A、160B、……、160N的一个或多个潜在的迁移调度方案。
在图4的例子中,在402,方法400可以包括比较多个迁移调度染色体,其中每个迁移调度染色体可以包括在考虑负载平衡约束和数据传输约束的一个或多个时间间隔之内的、用于每个服务器资源160A、160B、……、160N的一个或多个潜在的迁移调度方案。
在404,方法400可以包括关于负载平衡约束和数据传输约束来比较每个迁移调度染色体,从而输出多个迁移调度染色体的所选择的子集。
在406,方法400可以包括组合多个迁移调度染色体的所选择子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输出并用于关于一个或多个约束的下一代迁移调度染色体的其后续比较,作为多个迁移调度染色体的进化循环的一部分。
在408,方法400可以包括监视进化循环,并且在410,方法400可以包括从中选择所选择的迁移调度染色体,用于基于其实施迁移事件调度。
在一些实施例中,方法400可以进一步包括组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体。
在一些实施例中,方法400可以进一步包括使用并行过程来执行进化循环的至少部分,其中将每代迁移进化染色体划分为子组用于其并行处理。
在一些实施例中,方法400可以进一步包括在预定代数的进化循环之后,或者在确定所选择迁移调度染色体在预定程度上满足一个或多个约束之后,选择所选择的迁移调度染色体。
图5是示出根据本公开的方面的、通过针对迁移调度实现预报算法或遗传算法、用于管理迁移调度的另一示例方法500的过程流。
在图5的例子中,操作502-508作为单独的、顺序地操作示出。然而,应该理解,可以以部分地或完全地重叠或并行的方式进行操作502-508的两个或多个。此外,可以以不同于所示的次序来实现操作502-508,并且应该理解,可以包括没有在图5的例子中具体示出的附加或替换的操作,并且可以省略操作502-508的一个或多个。此外,如针对操作502-508所示,可以以反复的、循环的或嵌套的方式来实现操作502-508的各个,或者否则可以以与从图1A的系统100和图1B的系统150中的一个或多个获得期望的迁移调度结果一致的次序和方式来实现。
在502,方法500可以被配置为生成一个或多个迁移调度方案(染色体),其中每个生成的迁移调度方案(染色体)包括潜在的迁移调度方案。在例子中,系统100、150可以被配置为比较多个迁移调度染色体,其中每个迁移调度染色体包括基于用于每个服务器资源160A、160B、……、160N的迁移事件和/或在考虑每个服务器资源160A、160B、……、160N的负载平衡约束和/或数据传输约束的同时在一个或多个时间间隔之内的用于每个服务器资源160A、160B、……、160N的一个或多个潜在的迁移调度方案。系统100、150可以被进一步配置为关于迁移事件、负载平衡约束和/或数据传输约束来比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的所选择的子集。系统100、150可以被进一步配置为组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,并用于使用其关于迁移事件、负载平衡约束和/或数据传输约束进行下一代迁移调度染色体的后续比较,作为多个迁移调度染色体的进化循环的一部分。系统100、150可以被进一步配置为监视进化循环,并且从中选择所选择的迁移调度染色体用于基于其实施迁移调度。
在图5的例子中,在504,方法500可以被配置为评估所有潜在的迁移调度方案(染色体),然后交叉和变异。例如,系统100、150可以被配置为使用预报算法或遗传算法通过组合父母的角色中的染色体来交叉一个或多个染色体,以执行性别交叉的模拟来获得新的子染色体,其可以是新一代染色体的一部分,新一代染色体可以提供作为最优化迁移调度过程的进化循环的一部分的、与同代的其他成员的进一步交叉。
因此,系统100、150可以被配置为提供作为达尔文自然选择的计算机模拟的预报算法或遗传算法,其通过各代反复以朝着问题空间中的最好的解决方案收敛。此外,参考变异,可以随机地选择一个染色体,然后可以选择所选择的染色体之内的位置(即,基因)用于变异,然后可以随机地改变随机选择的位置(即,基因)的值或将其变异以产生之前没有的一个或多个新的特征。
在506,方法500可以被配置为组合并选择潜在的迁移调度方案(染色体)用于下一代,直到最好的潜在的迁移调度方案(最好的染色体)若干代不再改变为止。在例子中,在510和512的操作可以被重复或循环,直到实现最好的潜在的迁移调度方案(最好的染色体)用于后续的选择。例如,通过使用预报算法或遗传算法,可以选择或确定最好的合理的迁移调度方案,用于在封闭的周期或循环中的一个或多个即将来临的迁移调度。
在508,方法500可以被配置为选择具有最优的或最佳的迁移事件调度的最好的迁移调度方案。在例子中,通过使用预报算法或遗传算法,在考虑用于每个服务器资源160A、160B、……、160N的最优的或最佳的迁移事件调度的同时参考每个服务器资源160A、160B、……、160N,可以选择或确定最好的或最合理的迁移调度方案,用于至少一个即将来临的迁移事件调度。
根据本公开的方面,遗传算法(GA)可以被称为可以适用于自然进化的模仿过程的启发式(heuristic)搜索。参考最优化和搜索问题,通常可以使用启发式方法来生成有用的解决方案。在一些实施例中,如在此描述,承租人管理问题/解决方案具有至少两个目标。例如,第一个目标可以是最小化服务器的负载的方差,并且在另一例子中,第二个目标可以是减小总的数据传输。在图6中示出基于GA的迁移管理方法/过程的流程图例子,并且进一步,在图7中示出GA的流程图例子。在各种实施例中,负载平衡约束可以包括负载平衡目标,并且数据传输约束可以包括数据传输目标。在其他实施例中,负载平衡约束可以包括用于服务器群160中的每个服务器资源160A、160B、……、160N的负载约束,并且数据传输约束可以包括用于服务器群160中的每个服务器资源160A、160B、……、160N的数据约束。
在图6的例子中,操作602-610作为按顺序的次序发生的分离的操作示出。然而,应该理解,在其他实施例中,操作602-610的两个或多个可以以部分地或完全地重叠或并行的方式、或者以嵌套或循环的方式发生,或者可以以不同于所示的次序发生。此外,在一些实施例中还可以包括可能没有在图6的例子中具体示出的附加的操作,而在其他实施例中,可以省略操作602-610的一个或多个。此外,在各种实施例中,方法600可以包括用于在图1A的系统100和图1B的系统150中管理迁移调度的计算机实现的方法的过程流。
参照图6,在602,方法600可以包括初始化阶段,其后跟有评估阶段604、606、608,并且进一步跟有最优化阶段610。在604,方法600可以包括确定包括负载平衡和数据传输的一个或多个目标。在606,方法600可以包括确定包括最大负载约束和最大磁盘空间约束的一个或多个约束。在608,方法600可以包括适应度评估。在601,方法600可以包括使用遗传算法的最优化。
在图7的例子中,操作702-710作为按顺序的次序发生的分离的操作示出。然而,应该理解,在其他实施例中,操作702-710的两个或多个可以以部分地或完全地重叠或并行的方式、或者以嵌套或循环的方式发生,或者可以以不同于所示的次序发生。此外,在一些实施例中还可以包括可能没有在图7的例子中具体示出的附加的操作,而在其他实施例中,可以省略操作702-710的一个或多个。此外,在各种实施例中,方法700可以包括用于在图1A的系统100和图1B的系统150中管理迁移调度的计算机实现的方法的过程流。
参照图7,在702,方法700可以包括随机地生成染色体(例如,迁移调度染色体,其可以被称为承租人置换解决方案)。在704,方法700可以包括根据适应度函数评估染色体。在706,方法700可以包括以本文进一步描述的方式选择父染色体用于遗传操作。在708,方法700可以包括以本文进一步描述的方式对染色体进行交叉和变异。在710,方法700可以包括根据使用适应度函数计算的适应度值来更新父染色体。在712,方法700可以包括确定是否收敛更新的父染色体。如果否,则过程流返回704以根据适应度函数来评估染色体。如果是,则父染色体是收敛的并且方法700的过程流终止/结束在714。
在图7的例子中,染色体可以被编码为固定长度的实数串来表示承租人置换解决方案。在一些实施例中,可以依据承租人标识(ID)对染色体中的基因排序,诸如如图8中所示的示例染色体中。
图8示出根据本公开的方面的示例染色体800。在一些实施例中,染色体800可以包括表示染色体的承租人/服务器关系的一系列区域(即,位置区域的序列,其中包括相关值),其中染色体的承租人/服务器关系通过/使用作为染色体中的位置的承租人ID来定义,并且进一步通过/使用作为相应位置区域(中)的值的服务器ID来定义。例如,如图8中所示,承租人ID=1是具有服务器ID值9的、染色体800中的第一位置或第一位置区域,并且在另一例子中,如图8中所示,承租人ID=2是具有服务器ID值15的、染色体800中的第二位置或第二位置区域,并且第三、第四、第五等第n位置区域以此类推。
图9示出根据本公开的方面的染色体的示例解码900。在一些实施例中,可以将染色体910解码912为表示承租人/服务器关系的服务器表914。
在一些实施例中,可以执行结构转换,其中可以将染色体中的承租人/服务器关系解码为指示将哪些特定的承租人分配给哪些特定的服务器。例如,如图9的例子中所示,可以执行结构转换,其中染色体910中的承租人#3到服务器#1的承租人/服务器关系920可以被解码为具体地指示承租人#3、#106等被分配到服务器#1的、在服务器表914中的相应的承租人/服务器关系922。
在一些实施例中,参考染色体评估,如在此描述的方式,服务器当中的负载平衡和数据传输可以用L和D来表示。第i服务器的负载和数据大小可以用Li和Di来表示,并且第i服务器上的最大负载和最大空间可以用Lmax-i和Dmax-i来表示。在一些例子中,对于违反负载平衡约束和数据传输约束的惩罚可以表示为:
并且适应度可以表示为:
其中α是β是用于权衡(trade off)的参数,并且所有的变量可以预先规范化。
图10A-10B示出根据本公开的方面的染色体的示例交叉和变异。
具体地,图10A示出根据本公开的方面的至少两个父染色体的示例交叉1000,并且图10B示出根据本公开的方面的染色体的示例变异1050。
在图10A的例子中,参考执行交叉,对于至少两个父染色体1010、1012可以随机地实现单个切口1020。作为交叉的结果,通过以图10A中所示的方式交叉和重组至少两个父染色体1010、1012,可以生成两个子染色体1030、1032。
在图10B的例子中,参考执行变异,对于染色体1060可以随机地选择1070位置和值。作为变异的结果,可以随机地变更或改变随机选择的位置的值,以在染色体1060的那个选择的位置生成变异。
根据本公开的方面,可以通过下面的伪码例子来表示在此描述的技术。
伪码
%最优化
%NumOfChrom:GA种群中的染色体数目
%MaxGen:最大代数
%CrosRate:交叉率
%MutaRate:变异率
%ParentChrom:父染色体
%ChildChrom:子染色体
%InterChrom:父染色体和子染色体的组合
1.FUNCTION Optimization(最优化函数)
2.BEGIN
%初始化:染色体表示承租人置换的可能解决方案
3.随机的初始化NumOfChrom个染色体
4.ParentChrom=Chromosomes(染色体)
5.WHILE NOT CONVERGED(没有收敛)
6.CALL FUNCTION (调用函数)CrossoverAndMutation(交叉和变异)(ParentChrom,CrosRate,MutaRate)
7.组合ParentChrom和ChildChrom,其被表示为InterChrom%适应度评估
8.CALL FUNCTIONFitness=Evaluate(InterChrom)
9.Sort InterChrom according to Fitness(根据适应度对InterChrom排序)
10.Select the top NumOfChrom as ParentChrom for the next generation(选择前NumOfChrom个作为下一代的ParentChrom)
11.ENDWHILE
12.END
%CrossoverAndMutation(交叉和变异)
%CrosRate:交叉率
%MutaRate:变异率
%ParentChrom:父染色体
%ChildChrom:子染色体
%NumOfChildChrom:子染色体的数目
13.FUNCTIONChildChrom=CrossoverAndMutation (ParentChrom, CrosRate,MutaRate)
14.BEGIN
15.WHILENumOfChildChrom<NumOfChrom
16.IFrand()<CrosRate
17.随机地选择两个父染色体ParentChrom[1]和ParentChrom[2]
18.随机地选择交叉将发生的位置,用p(1<p<NumOf Tena(承租人的数目))表示
19.Swap ParentChrom[1][1:p]andParentChrom[2][1:p](交换ParentChrom[1][1:p]和ParentChrom[2][1:p])
20.END IF
21.IFrand()<MutaRate
22.随机地选择一个父染色体
23.随机地选择变异将发生的一个位置
24.随机地将所选择的基因的值改变为其他基因∈ServID
25.END IF
26.END WHILE
27.END
%Evaluation(评估)
%VarOfLoad:服务器包租区中的负载的方差
%AmountOfDataMov:传输到其他服务器的承租人的数据的量
%TotalDataMov:传输数据的总量
%ServLoad:服务器的负载
%ServData:服务器的数据的总量
%MaxLoad:服务器的最大负载
%MaxData:服务器的最大磁盘
%α:在负载平衡和数据传输之间权衡的权重参数
%β:惩罚参数
28.FUNCTION Fitness=Evaluate(InterChrom)
29.BEGIN
30.FOR EACH Chrom IN InterChrom
%针对每个服务器计算负载和数据量
31.CALL FUNCTION (ServLoad,ServData,TotalDataMov)=LoadAndDataMov(Chrom)
%计算服务器的负载的方差
32.VarOfLoad=var(ServLoad)
33.Normalization VarOfLoad and TotalDataMov(规范化VarOfLoad和TotalDataMov)
34.Score=α*VarOfLoad+(1-α)*TotalDataMov
35.Penalty=0
36.规范化MaxLoad–ServLoad和MaxData-ServData
37.IFServLoad>MaxLoad
38.Penalty=β*(MaxLoad–ServLoad)
39.ELSEIFServData>MaxData
40.Penalty=(1-β)*(MaxData-ServData)
41.ELSE
42.Penalty=β*(MaxLoad–ServLoad)+(1-β)*(MaxData-ServData)
43.ENDIF
44.Fitness=Score+Penalty
45.END
%LoadAndDataMov(负载和数据移动)
%AmountOfData:承租人的数据量
%AmountOfLoad:承租人的负载量
%AmountOfDataMov:承租人的数据传输量
%ServLoad:服务器的负载
%ServData:服务器的数据总量
%TotalDataMov:所有承租人的数据传输量
46.FUNCTION(ServLoa,ServData,TotalDataMov)=LoadAndDataMov(Chrom)
47.BEGIN
%如图9中所示转换数据格式
48.染色体解码
49.FOR ServID:=1toNumOfServ
50.FORTenaID:=1to NumOfTena
51.
52.
53.IF将Chrom.Tena[TenaID]移动到另一服务器
54.
55.ELSEIF Chrom.Tena[TenaID]是新的OR不移动Chrom.Tena[TenaID]
56.Continue
57.ENDIF
58.ENDFOR
59.ENDFOR
%计算数据传输的总量
60.
61.END
%ServerStructure(服务器结构)
%ServID:服务器ID
%NumOfTena:服务器中的承租人数目
%MaxLoad:服务器的负载的最大限制
%MaxData:服务器的最大磁盘空间
62.Structure Server
63.{
64.int ServID;
65.double MaxLoad;
66.double MaxData;
67.Tenant Tena[NumOfTena]
68.}
%Tenant Structure(承租人结构)
%TenaID: 承租人ID
%AmountOfData: 承租人的数据量
%AmountOfLoad: 承租人的负载量
69.Structure Tenant
70.{
71.intTenaID;
72.double AmountOfData;
73.double AmountOfLoad;
74.}
%Chromosome Structure染色体结构
75.Structure Chromosome
76.{
77.int chrom[NumOfTana];
78.}
可以在数字电子线路中,或在计算机硬件、固件、软件或在它们的组合中实现此处描述的各种技术的实施例。实施例可以被实现为计算机程序产品,即,有形的实现在,例如,机器可读存储设备的信息载体中或传播的信号中的计算机程序,用于由数据处理装置运行或控制数据处理装置的操作,数据处理装置例如可编程处理器、计算机或多个计算机。诸如上面描述的计算机程序的计算机程序可以以包括编译或解释语言的任何形式的编程语言编写,并且可以以任何形式配置,包括作为单独程序或作为模块、组件、子程序或适合用在计算环境中的其它单元。计算机程序可以被配置为在一个计算机上执行或在位于一个站点或分布在多个站点并通过通信网络互联的多个计算机上执行。
方法步骤可以通过一个或多个可编程处理器来执行,该可编程处理器通过在输入数据上操作并生成输出来执行计算机程序以执行功能。还可以通过专用逻辑电路来执行方法步骤,并且装置可以被实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适用于计算机程序的执行的处理器包括通用和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可以包括用于执行指令的至少一个处理器和用于存储指令和数据的一个或多个存储器件。通常,计算机还可以包括一个或多个大容量存储器件,或者被操作地耦接以从一个或多个大容量存储器件接收数据或向其传送数据,例如,磁、磁光盘或光盘。适用于具体实现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,举例来说包括半导体存储器件,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移除磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以通过专用逻辑电路来补充,或者并入其中。
为了提供用户交互,可以在具有用于向用户显示信息的显示设备(例如,阴极射线管(CRT)或液晶显示器(LCD)监视器)和用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)的计算机上实现实施例。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语言或触觉输入。
可以在计算系统中实现实施例,所述计算系统包括后端组件,例如,如数据服务器,或包括中间件组件,例如,应用服务器,或包括前端组件,例如,具有通过其用户可以与实施例交互的图形用户界面或网络浏览器的客户端计算机,或这种后端、中间件或前端组件的任何组合。可以通过例如通信网络的数字数据通信的任何形式或中介来互连组件。诸如通信网络的网络的例子可以包括局域网(LAN)和广域网(WAN),例如因特网。
虽然已经如此处描述的示出了所述实施例的特定特征,但是许多修改、替换、改变和等同将现在被本领域技术人员想到。因此,要理解的是,所附权利要求旨在覆盖落在实施例的范围之内的所有这样的修改和改变。
Claims (20)
1.一种包括存储在非瞬时性计算机可读介质上并且可通过至少一个处理器执行的指令的计算机系统,该系统包括:
承租人置换管理器,被配置为使得至少一个处理器在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔针对服务器群中的多个服务器资源的每个调度迁移事件,承租人置换管理器包括:
负载平衡处理器,被配置为确定服务器群的负载平衡约束;
数据传输处理器,被配置为确定服务器群的数据传输约束;
迁移事件协调器,被配置为生成用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案;以及
迁移事件调度优化器,被配置为基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
2.如权利要求1所述的系统,其中:
多个服务器资源包括一组服务器,并且
服务器群包括通过网络连接至一组承租人的该组服务器。
3.如权利要求1所述的系统,其中:
对于请求访问服务器群的多个服务器资源的一个或多个承租人,服务器群的每个服务器资源是可访问的,其中访问多个服务器资源包括访问计算资源和访问存储资源。
4.如权利要求1所述的系统,其中:
服务器群的负载平衡约束被定义为服务器群中的服务器资源的负载需求的方差,负载需求的方差被表示为:
其中Li是服务器资源si的负载,并且μ是服务器资源的平均负载。
5.如权利要求4所述的系统,其中:
服务器群的数据传输约束被定义为基于从一个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,存储需求的和被表示为:
其中Dj是承租人tj需要的磁盘空间,并且当tj被迁移时fj等于1,否则fj等于零。
6.如权利要求5所述的系统,其中:
负载平衡约束和数据传输约束被规范化,并且利用加权参数在适应度函数中求和,适应度函数被表示为:
其中α是加权参数。
7.如权利要求1所述的系统,其中:
迁移事件协调器被配置为接收每个负载平衡约束和每个数据传输约束作为输入,用于通过迁移事件协调器模型化为染色体,并且
迁移事件协调器被进一步配置为基于被模型化为染色体的每个负载平衡约束和每个数据传输约束,生成一个或多个潜在的迁移调度方案。
8.如权利要求1所述的系统,其中迁移事件协调器包括遗传算法处理器,遗传算法处理器包括:
染色体比较器,被配置为比较多个迁移调度染色体,其中每个迁移调度染色体包括用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案,并且染色体比较器被配置为相对于负载平衡约束和数据传输约束比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的所选择的子集;及
染色体组合器,被配置为组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输出到染色体比较器,并用于使用其相对于负载平衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为染色体比较器和染色体组合器之间的多个迁移调度染色体的进化循环的一部分,
其中迁移事件调度优化器被进一步配置为监视进化循环,并且从中选择所选择的迁移调度染色体,用于基于其实施迁移事件调度。
9.如权利要求8所述的系统,其中染色体组合器被进一步配置为组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体。
10.如权利要求8所述的系统,其中使用并行过程来执行进化循环的至少部分,其中将每一代迁移调度染色体划分为子组用于其并行处理。
11.如权利要求8所述的系统,其中迁移事件调度优化器被进一步配置为在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
12.一种计算机程序产品,该计算机程序产品被有形地实现在非瞬时性计算机可读存储介质上并且包括指令,其中当通过至少一个处理器执行时,指令被配置为:
在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务器群中的多个服务器资源的每个调度迁移事件,其中当通过至少一个处理器执行时,指令被配置为:
确定服务器群的负载平衡约束;
确定服务器群的数据传输约束;
生成用于考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案;以及
基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
13.如权利要求12所述的计算机程序产品,其中:
服务器群的负载平衡约束被定义为服务器群中的服务器资源的负载需求的方差,负载需求的方差被表示为:
其中Li是服务器资源si的负载,并且μ是服务器资源的平均负载,以及
服务器群的数据传输约束被定义为基于从一个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,存储需求的和被表示为:
其中Dj是承租人tj需要的磁盘空间,并且当tj被迁移时fj等于1,否则fj等于零。
14.如权利要求13所述的计算机程序产品,其中:
负载平衡约束和数据传输约束被规范化,并且利用加权参数在适应度函数中求和,适应度函数被表示为:
其中α是加权参数。
15.如权利要求12所述的计算机程序产品,进一步包括指令,当通过处理器执行时,指令被配置为:
比较多个迁移调度染色体,每个迁移调度染色体包括用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中的每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案;
关于负载平衡约束和数据传输约束,比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的所选择的子集;
组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输出,并用于使用其相对于负载平衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为多个迁移调度染色体的进化循环的一部分;以及
监视进化循环,并且从中选择所选择的迁移调度染色体,用于基于其实施迁移事件调度。
16.如权利要求15所述的计算机程序产品,进一步包括指令,当通过处理器执行时,指令被配置为:
组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体;
使用并行过程来执行进化循环的至少部分,其中将每一代迁移调度染色体划分为子组用于其并行处理;以及
在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
17.一种计算机实现的方法,包括:
在考虑服务器群的负载平衡约束和数据传输约束的同时,相对于时间间隔,针对服务器群中的多个服务器资源的每个调度迁移事件,通过如下进行:
确定服务器群的负载平衡约束;
确定服务器群的数据传输约束;
生成用于考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案;以及
基于针对服务器群中的每个服务器资源到至少一个其他服务器资源的迁移生成的一个或多个潜在的迁移调度方案,生成用于该时间间隔之内的每个迁移事件的迁移事件调度。
18.如权利要求17所述的方法,进一步包括:
比较多个迁移调度染色体,每个迁移调度染色体包括用于在考虑服务器群的负载平衡约束和数据传输约束的同时在该时间间隔之内的、服务器群中每个服务器资源到至少一个其他服务器资源的迁移的一个或多个潜在的迁移调度方案;
关于负载平衡约束和数据传输约束,比较多个迁移调度染色体的每个,从而输出多个迁移调度染色体的所选择的子集;
组合多个迁移调度染色体的所选择的子集的迁移调度染色体,以获得下一代迁移调度染色体,用于输出到染色体比较器,并用于使用其相对于负载平衡约束和数据传输约束进行下一代迁移调度染色体的后续比较,作为多个迁移调度染色体的进化循环的一部分;以及
监视进化循环,并且从中选择所选择的迁移调度染色体,用于基于其实施迁移事件调度。
19.如权利要求18所述的方法,进一步包括:
组合迁移调度染色体,包括选择迁移调度染色体对,并且交叉每对迁移调度染色体的部分以获得下一代的子染色体;
使用并行过程来执行进化循环的至少部分,其中将每代迁移调度染色体划分为子组用于其并行处理;以及
在预定代数的进化循环之后,或者在确定所选择的迁移调度染色体在预定程度上满足负载平衡约束和数据传输约束之后,选择所选择的迁移调度染色体。
20.如权利要求17所述的方法,其中:
服务器群的负载平衡约束被定义为服务器群中的服务器资源的负载需求的方差,负载需求的方差被表示为:
其中Li是服务器资源si的负载,并且μ是服务器资源的平均负载,
服务器群的数据传输约束被定义为基于从一个服务器资源迁移到另一服务器资源的一个或多个承租人的、服务器群中的服务器资源的存储需求的和,存储需求的和被表示为:
其中Dj是承租人tj需要的磁盘空间,并且当tj被迁移时fj等于1,否则fj等于零,并且
负载平衡约束和数据传输约束被规范化,并且利用加权参数在适应度函数中求和,适应度函数被表示为:
其中α是加权参数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310429058.3A CN104461728B (zh) | 2013-09-18 | 2013-09-18 | 迁移事件调度管理的计算机系统、介质和方法 |
US14/046,470 US9380107B2 (en) | 2013-09-18 | 2013-10-04 | Migration event scheduling management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310429058.3A CN104461728B (zh) | 2013-09-18 | 2013-09-18 | 迁移事件调度管理的计算机系统、介质和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461728A true CN104461728A (zh) | 2015-03-25 |
CN104461728B CN104461728B (zh) | 2019-06-14 |
Family
ID=52669058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310429058.3A Active CN104461728B (zh) | 2013-09-18 | 2013-09-18 | 迁移事件调度管理的计算机系统、介质和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9380107B2 (zh) |
CN (1) | CN104461728B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015174988A1 (en) * | 2014-05-15 | 2015-11-19 | Hewlett-Packard Development Company, L.P. | Network scheduling |
US9665830B2 (en) * | 2014-07-25 | 2017-05-30 | Sap Se | Feedback-driven exogenous factor learning in time series forecasting |
US10542961B2 (en) | 2015-06-15 | 2020-01-28 | The Research Foundation For The State University Of New York | System and method for infrasonic cardiac monitoring |
CN105550033B (zh) * | 2015-11-17 | 2018-11-13 | 北京交通大学 | 私有云环境下基于遗传禁忌混合算法的资源调度策略方法 |
CN108632158A (zh) * | 2017-03-16 | 2018-10-09 | 哈尔滨英赛克信息技术有限公司 | 一种sdn网络的多控制器负载均衡交换机迁移方法 |
US10344615B2 (en) * | 2017-06-22 | 2019-07-09 | General Electric Company | Method and system for schedule predictive lead compensation |
TWI669616B (zh) * | 2018-08-13 | 2019-08-21 | 行政院原子能委員會核能研究所 | 圓柱狀和圓餅狀數位模型之模擬切割方法 |
CN108989098B (zh) * | 2018-08-24 | 2021-06-01 | 福建师范大学 | 一种混合云环境面向时延优化的科学工作流数据布局方法 |
CN109347913B (zh) * | 2018-09-13 | 2020-05-12 | 山东大学 | 一种基于智能遗传算法的web服务协同调度方法及系统 |
KR102062157B1 (ko) * | 2019-04-29 | 2020-01-03 | 오케스트로 주식회사 | 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 |
US11546415B2 (en) | 2020-07-02 | 2023-01-03 | Bank Of America Corporation | Intelligent server migration platform |
US11487453B1 (en) * | 2021-04-29 | 2022-11-01 | EMC IP Holding Company LLC | Load balancing in a storage system |
CN115033371B (zh) * | 2022-08-11 | 2022-11-25 | 湖南大学无锡智能控制研究院 | 一种用于车辆网中服务迁移的方法、设备及系统 |
CN115952008B (zh) * | 2023-03-15 | 2023-06-16 | 之江实验室 | 一种服务器集群资源的统一调度方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290586A (zh) * | 2008-06-06 | 2008-10-22 | 华中科技大学 | 基于优先中国墙策略的虚拟机隐形流控制方法 |
US20100325281A1 (en) * | 2009-06-22 | 2010-12-23 | Sap Ag | SLA-Compliant Placement of Multi-Tenant Database Applications |
CN102043671A (zh) * | 2009-10-23 | 2011-05-04 | Sap股份公司 | 在动态迁移期间调控存储器相似性 |
US20120117030A1 (en) * | 2010-11-09 | 2012-05-10 | Ayako Sakuma | Database migration management apparatus and method thereof |
WO2012164624A1 (ja) * | 2011-06-01 | 2012-12-06 | 株式会社日立製作所 | 仮想マシンのリソース管理装置及び管理方法 |
CN103092683A (zh) * | 2011-11-07 | 2013-05-08 | Sap股份公司 | 用于数据分析的基于启发式的调度 |
CN103279391A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于cpu与mic架构处理器协同计算的负载均衡优化方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8185893B2 (en) * | 2006-10-27 | 2012-05-22 | Hewlett-Packard Development Company, L.P. | Starting up at least one virtual machine in a physical machine by a load balancer |
JP4853717B2 (ja) * | 2007-02-23 | 2012-01-11 | 日本電気株式会社 | サーバ移行計画作成システム、サーバ移行計画作成方法 |
US8554918B1 (en) * | 2011-06-08 | 2013-10-08 | Emc Corporation | Data migration with load balancing and optimization |
US9619297B2 (en) * | 2012-06-25 | 2017-04-11 | Microsoft Technology Licensing, Llc | Process migration in data center networks |
EP2701064B1 (en) * | 2012-08-24 | 2019-04-10 | Hasso-Plattner-Institut für Softwaresystemtechnik GmbH | Robust tenant placement and migration in database-as-a-service environments |
-
2013
- 2013-09-18 CN CN201310429058.3A patent/CN104461728B/zh active Active
- 2013-10-04 US US14/046,470 patent/US9380107B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290586A (zh) * | 2008-06-06 | 2008-10-22 | 华中科技大学 | 基于优先中国墙策略的虚拟机隐形流控制方法 |
US20100325281A1 (en) * | 2009-06-22 | 2010-12-23 | Sap Ag | SLA-Compliant Placement of Multi-Tenant Database Applications |
CN102043671A (zh) * | 2009-10-23 | 2011-05-04 | Sap股份公司 | 在动态迁移期间调控存储器相似性 |
US20120117030A1 (en) * | 2010-11-09 | 2012-05-10 | Ayako Sakuma | Database migration management apparatus and method thereof |
WO2012164624A1 (ja) * | 2011-06-01 | 2012-12-06 | 株式会社日立製作所 | 仮想マシンのリソース管理装置及び管理方法 |
CN103092683A (zh) * | 2011-11-07 | 2013-05-08 | Sap股份公司 | 用于数据分析的基于启发式的调度 |
CN103279391A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于cpu与mic架构处理器协同计算的负载均衡优化方法 |
Also Published As
Publication number | Publication date |
---|---|
US9380107B2 (en) | 2016-06-28 |
US20150081911A1 (en) | 2015-03-19 |
CN104461728B (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461728A (zh) | 迁移事件调度管理 | |
Simaria et al. | A genetic algorithm based approach to the mixed-model assembly line balancing problem of type II | |
Chang et al. | Optimisation of distributed manufacturing flexible job shop scheduling by using hybrid genetic algorithms | |
Parvizi et al. | Utilization-aware energy-efficient virtual machine placement in cloud networks using NSGA-III meta-heuristic approach | |
Kołodziej et al. | Energy efficient genetic‐based schedulers in computational grids | |
Tao et al. | CLPS-GA: A case library and Pareto solution-based hybrid genetic algorithm for energy-aware cloud service scheduling | |
Heilig et al. | A cloud brokerage approach for solving the resource management problem in multi-cloud environments | |
CN107995039B (zh) | 面向云软件服务的资源自学习与自适应分配方法 | |
Jatoth et al. | Optimal fitness aware cloud service composition using an adaptive genotypes evolution based genetic algorithm | |
Yang et al. | An improved grey wolf optimizer algorithm for energy-aware service composition in cloud manufacturing | |
Oukil et al. | Ranking dispatching rules in multi-objective dynamic flow shop scheduling: a multi-faceted perspective | |
Che | A multi-objective optimization algorithm for solving the supplier selection problem with assembly sequence planning and assembly line balancing | |
CN108320059B (zh) | 一种工作流调度进化寻优方法及终端设备 | |
CN109308246A (zh) | 系统参数的优化方法、装置及设备、可读介质 | |
CN109976901A (zh) | 一种资源调度方法、装置、服务器及可读存储介质 | |
CN111209930B (zh) | 一种生成授信策略的方法、装置和电子设备 | |
Moghaddam et al. | On coordination of smart grid and cooperative cloud providers | |
Zhao et al. | Improved backtracking search algorithm based on population control factor and optimal learning strategy | |
CN108289115B (zh) | 一种信息处理方法及系统 | |
Zhao et al. | Finding preferred skyline solutions for SLA-constrained service composition | |
Cai et al. | Multitasking bi-level evolutionary algorithm for data-intensive scientific workflows on clouds | |
CN117687356A (zh) | 生产调度方法、终端设备及计算机可读存储介质 | |
CN115794358B (zh) | 云工作流任务调度方法、装置、电子设备和存储介质 | |
Baron-Prada et al. | A population games transactive control for distributed energy resources | |
CN116910373A (zh) | 房源推荐方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |