CN108255613B - 一种基于图着色的soa系统资源管理方法 - Google Patents
一种基于图着色的soa系统资源管理方法 Download PDFInfo
- Publication number
- CN108255613B CN108255613B CN201810124095.6A CN201810124095A CN108255613B CN 108255613 B CN108255613 B CN 108255613B CN 201810124095 A CN201810124095 A CN 201810124095A CN 108255613 B CN108255613 B CN 108255613B
- Authority
- CN
- China
- Prior art keywords
- service
- services
- graph
- est
- eft
- 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于图着色的SOA系统资源管理方法,属于软件系统资源管理优化技术领域。所述方法包括对完成系统任务的多个组合服务进行建模、根据任务执行过程中服务的最早开始时间和最早完成时间,构建服务间并发关系、基于图着色方法将具有并发关系的服务部署到不同的虚拟机上和设计改进型遗传算法的步骤。本发明考虑了服务之间的逻辑关系和服务执行时的依赖性,更符合系统硬件虚拟化下资源共享的特点,更贴近SOA系统服务统一封装、灵活调度的特点,而且也是面向服务的系统的发展趋势。本发明更全面的发现服务间并发关系且能避免引入不必要的服务并发关系。
Description
技术领域
本发明属于软件系统资源管理优化技术领域,涉及一种SOA系统硬件虚拟化下的基础设施层的资源优化方法,具体为一种基于图着色的SOA系统资源管理方法。
背景技术
SOA是一个组件模型,它将应用程序的不同功能单元——服务(Service),通过这些服务之间定义良好的接口和契约联系起来。接口采用标准、中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。SOA现在已经逐渐应用到大型军事系统中,如导弹系统、C4ISR系统、舰船系统等。SOA系统通过软硬件模块化、构件化及服务化,解决了各分系统独立运行、互操作困难、资源无法共享等问题,最终达到跨平台、跨领域的协同作战能力。硬件虚拟化是实现面向服务的一体化系统的方法之一,对整个军事系统的计算、存储和网络资源进行虚拟化,实现基础设施即服务(IaaS)。在此基础上,资源管理则负责完成系统中所有软、硬件设施的统一分配、管理与部署,主要包括:
1)硬件资源虚拟化;
对系统计算、存储和网络资源进行虚拟化,实现基础设施即服务(IaaS)。虚拟化隐藏了真实的计算机硬件,表现出另一个抽象计算平台,是一种整合硬件的方式,增加了硬件资源的利用率,这样每一个运行在独立的硬件上的服务就被转移到在硬件资源上的虚拟机中。
2)资源规划和部署;
大量网络连接的计算资源统一管理和调度,构成一个虚拟的资源池。通过在虚拟资源上集中规划和部署所有的服务,保证硬件资源的可用性和可扩展性。
3)服务部署和配置管理;
针对系统计算环境基础设施的服务器、显控台等硬件进行服务部署。建立服务池,对服务进行集中的配置管理。应用快速部署使每个台位的功能可以根据任务需要灵活配置。
4)硬件资源监控;
实时获取基础设施公共资源的占用、运行、故障等状态信息,优化分配资源,提高资源利用率。进行故障预警和应用迁移,建立故障恢复机制。
5)服务管理;
建立注册库,注册系统参与集成、提供服务的软件及其接口描述和数据模型,包括领域应用软件模块、通用服务和基础服务,并实时监控服务的运行状态。
高效的资源管理对保证整个系统的正常运行和优良的性能起到了至关重要的作用,也成为了人们所关注的焦点。但对于SOA系统资源管理相关的研究,普遍存在以下不足:
(1)将完成任务的相关服务部署在虚拟机上时,并没有考虑服务之间的逻辑关系,忽略了服务执行时的依赖性和并发性。
(2)在相关的研究中,普遍假定不同的任务所调用的服务流程不共享服务。而在实际系统的服务调用过程中,同一个服务可以被不同的任务所调用,存在大量的服务交互关系。
(3)在对服务进行部署时没有考虑到系统任务存在的并行性,忽略了具有并发关系的服务部署到不同的虚拟机上时可以提高系统的运行效率、减少计算开销这一系统特征。
发明内容
本发明为解决SOA系统所面临的基础设施层的资源管理的问题,从系统硬件虚拟化下资源共享的特点入手,构建了一种虚拟机上的服务部署策略,为SOA系统的性能优化提供了具有可行性的资源管理方法。
本发明提出了一种基于图着色的SOA系统资源管理方法,所述方法首先采用基于任务的最早开始时间-最早完成时间(Earliest Start Time-Earliest Start Time,简称EST-EFT)的方法构建服务并发关系,将存在并发关系的服务(即并发服务)构建服务并发图(Service Concurrence Graph,简称SCG),采用经典的图着色理论对并发服务进行部署,通过提高任务的并行性来提高系统的性能。
本发明所提供的基于图着色的SOA系统资源管理方法,主要包括以下步骤:
第一步,确定SOA系统领域应用层的服务流程结构,对完成系统任务的多个组合服务进行建模;
第二步,根据任务执行过程中服务的最早开始时间和最早完成时间,构建服务间并发关系;
第三步,基于图着色方法,将具有并发关系的服务部署到不同的虚拟机上,提高任务的并行性,优化系统性能。
第四步,对图着色方法设计改进型遗传算法提高计算效率和优化效果。
本发明与现有技术相比,具有以下明显的优势和有益效果:
1、本发明考虑了服务之间的逻辑关系和服务执行时的依赖性,更符合系统硬件虚拟化下资源共享的特点。
2、在现有技术的研究方法中,不同的服务流程不共享服务,本发明研究的SOA系统中,一个服务可以被不同的服务流程进行调用,这增加了问题研究的复杂性,但其实更贴近SOA系统服务统一封装、灵活调度的特点,而且也是面向服务的系统的发展趋势。
3、本发明提出了一种基于EST-EFT的服务并发关系构建方法,相比于现有的任务并行性的构建方法,这个方法更全面的发现服务间并发关系且能避免引入不必要的服务并发关系。
4、本发明采用图着色理论实现了将具有并发关系的服务部署到不同的虚拟机上,并设计了改进型的遗传算法提高计算效率,具有更好的优化效果。
附图说明
图1为SOA系统资源池的服务绑定示意图。
图2为组合服务结构图DAG。
图3为一个简单的SCG图。
图4为SCG着色图。
图5为交叉操作结果示意图。
图6为对换变异操作示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面通过具体实施方式对本发明作进一步的详细和深入描述,主要包括的步骤将在以下内容进行详述。
本发明提供的一种基于图着色的SOA系统资源管理方法,通过如下步骤实现:
第一步,对所分析的SOA系统的基础设施层即服务的资源管理有全面深入的了解,确定SOA系统领域应用层的服务流程结构,对完成系统任务的多个组合服务进行建模;
SOA系统的组合服务是由一定数量的原子服务(auto service)按一定逻辑关系组合而成的一个工作流,以完成特定的系统任务,在整个工作流开始执行之前,这些服务必须已经运行在特定的资源上。如图1所示,S1~S5表示的是部署在系统资源上的可用的五个服务,节点T1~T5代表了一个系统任务的五个子任务,每个子任务被绑定到现存的一个可用的服务S1~S5上,R1、R2和R3表示用于部署服务的三个虚拟机。
图2所示即为一个组合服务的结构图DAG,整个服务流程可以表示为一个加权有向无环图,根据完成系统任务的服务间的逻辑关系构成。S1~S11为服务节点,每个服务节点旁边的参数表示绑定到系统任务的服务的计算量和服务所部署的虚拟机CPU处理器计算能力,边表示服务之间的调用关系。为了研究用于增加任务并行性的服务部署方法,首先根据所有组合服务来构建服务并发图(SCG)。SCG是一个无向图,图中的节点表示服务,边所连接的两个服务可以并发运行,如图2中的服务S5和S8,以及服务S3、S4和S7。这几个服务可以构成一个简单的SCG图,如图3所示。
令SCG=(V,E,Q(vi,vj)),其中V表示组合服务节点集合,E是无向边集合,Q(vi,vj)表示所连接服务之间没有直接或间接的相互依赖关系,是每个边上的权重集合,表示与依次运行连接的服务相比,并行运行连接的服务所带来潜在的性能变化。SCG中复制过来的边的权重中的正值表示的是两个有并发关系的服务从依次执行到并行执行所带来的性能的下降,负值表示的是两个相关服务从依次执行到并行执行所带来的性能的提升。连接节点vi和节点vj的边的权值度量方式如下所示:
Q(vi,vj)=-{Ccom(vi,Pr)+Ccom(vj,Pr)-max[Ccom(vi,Pr1),Ccom(vj,Pr2)]}
其中,Ccom(vi,Pr)表示服务Si在虚拟机mr上的计算开销,Pr为虚拟机mr的CPU处理器的计算能力,Comi为服务Si的计算量。Pr为两个有并发关系的服务在依次执行时所部署的虚拟机CPU的计算能力,Pr1、Pr2分别为两个服务在并行运行时所部署的两个虚拟机CPU的计算能力。
为了构建服务并发图SCG,首先要找到每个服务的并发服务集合,并在服务与其并发服务集合中的每个成员服务之间创建边,进而构建出SCG。
第二步,根据任务执行过程中服务的最早开始时间和最早完成时间,构建服务间并发关系,并构建服务并发图SCG;
根据SOA系统服务组合的运行规律,分别计算一组组合服务中的每个服务的最早开始时间(EST)和最早完成时间(EFT),然后对比服务的EST-EFT周期,对于具有重叠EST-EFT周期的独立服务对,即可以表明它们之间不存在依赖关系,而且有并发运行的几率。
在计算服务的最早开始时间(EST)和最早完成时间(EFT)之前,需要对组合服务的执行过程进一步说明。EST(Si,mr)和EFT(Si,mr)是服务Si在虚拟机mr上执行的最早开始时间和最早完成时间。相应的,对于每个组合服务的起始服务Sstart,其最早开始时间EST(Sstart,mr)=t0,其中,t0为每个组合服务的开始执行时间。
对于组合服务中的其他服务节点,EST和EFT的值从每个组合服务的起始服务节点开始,各自递归计算得到。
EFT(Si,mr)=EST(Si,mr)+w(Si)/c(mr)
cosSj,i=w(ej,i)/c(lj,i)
其中,cosSj,i是服务Sj通过边ej,i传输数据到服务Si时的时间开销,当服务Sj和服务Si部署在同一个虚拟机上时,cosSj,i的值为零,正如在之前提到的,假设同一虚拟机上的服务间的所有的通信开销相对于虚拟机之间的通信开销而言,是可以忽略的。pred(Si)是服务Si的前驱服务集合。w(Si)是服务Si的计算量,w(ej,i)是服务Sj和服务Si之间的通信量。c(mr)是代表虚拟机mr的计算性能(单位时间的计算量),c(lj,i)代表服务Sj和服务Si之间链路lj,i的传输性能(单位时间传输的数据量)。
本发明分别提出了以下三种情况下计算服务的EST-EFT周期的方法。
1)第一种情况是最佳情况EST-EFT,即计算复合SaaS应用中的每个服务的最早开始时间(EST)和最早完成时间(EFT),在考虑所有计算开销并忽略所有的通信开销的情况下,只有具有重叠EST-EFT周期的独立服务对才能在SCG中具有边。
2)第二种情况被称为最坏情况EST-EFT,其中复合SaaS应用中每个服务的最早开始时间(EST)和最早完成时间(EFT)通过考虑所有计算开销和通信开销来计算,然后只有成对的具有重叠的EST-EFT周期的独立服务才能在SCG中存在边。
3)第三种情况称为最佳情况EST和最坏情况EFT,其中通过忽略所有通信开销来计算每个服务的EST,并且通过考虑所有通信开销来计算EFT。在这种情况下计算服务的EST-EFT周期,只有具有重叠的EST-EFT周期的独立服务对才能在SCG中存在边。
第三步,基于图着色方法,将具有并发关系的服务部署到不同的虚拟机上,提高任务的并行性,优化系统性能。
基于SCG,为了达到增加并行性的目的,在概念上,服务分配问题可以转换为SCG的图着色问题(图形理论中的图像着色问题),其中颜色数量表示虚拟机的数量。由于SCG中的连接服务趋向于以不同的颜色绘制,以表示它们被分配到不同的虚拟机上,五个服务用三种颜色着色,用相同颜色着色的服务将会部署到同一个虚拟机上,如图4所示,服务S3和S8部署到同一个虚拟机上,服务S5和服务S7部署到另一个虚拟机上,服务S4单独部署到第三个虚拟机上。因此服务系统中的独立服务将具有更多同时运行的机会,这就能缩短整个组合服务的响应时间,提高系统的性能。
图着色问题是图论中的一个经典难题,是图匹配问题和平面图理论的一个直接应用,内容主要分为顶点着色、边着色、图的全着色。本发明主要应用到的是顶点着色模型,且图除特殊说明外均指无向连通简单图。对于图G=(V,E),通常用V={v1,…,vi,…,vn}和和vj之间有边相连}分别表示图G的顶点集和边集。图着色问题的实质是图的着色元素的分类问题,即根据问题的要求将图的着色元素分到不同的集合中依据分配组合优化问题的统一数学框架可以相应建立图着色的模型。
矩阵的每一行i对应一个顶点vi,矩阵的取值如下:
在遗传算法运行时,遗传运算是对编码后的染色体进行操作,即在编码空间内操作的。所以,编码方法的选择对于交叉和变异算子的功能和设计有很大的影响。本发明使用I={1,…,k}(k≤n)表示顶点的可用颜色集,s={C1,…,Ck}表示一个染色体,Ci为若干顶点构成的一个顶点子集。顶点集V被分为k个独立子集,即如果两个节点有边相连,则这两个节点不能被分在同一个子集中。这种编码方法是图着色问题的最自然的表达,而且不用进行解码。采用这种编码方法非常有利于设计遗传算子。设计的交叉变异算子可以直接对子集进行操作,从而能够最大程度的保证父代染色体的优良基因不被破坏。
第四步,对图着色方法设计改进型遗传算法提高计算效率和优化效果。
1)初始化种群;
首先针对所要研究的问题,对种群进行初始化,采用基于分类的编码。设SCG图有n个服务节点,需要部署在k个虚拟机上,即需要用k种颜色进行着色,则染色体可以表示如下:
x={{v1,v2,v3},…{vn-1,vn}}
其中,集合中子集的数目为初始状态下着色的颜色数。例如,对具有12个服务节点的SCG图,初始化种群可以为{{0,1},{3,7},{2,8,11},{4,9},{5,6}}。
2)适应度函数;
适应度函数一般是由目标函数变换而成的,用于评价个体解的好坏。染色体x的适应度函数F(x)可设计为:
其中,x表示一个染色体;q(vi,vj)表示一个罚函数,对于任意两个相互邻接的节点vi和vj;如果节点vi和vj着相同的颜色,q(vi,vj)=1;否则q(vi,vj)=0;ωij是一个罚系数:在本发明中,ωij取值恒为1;d是一个经常应用于图着色问题上的惩罚系数:如果则d=1;如果则d=0;k表示染色体x所用的颜色数。
3)选择算子;
本发明采用的选择策略是联赛选择方法,具体操作如下:
(3.1)给定联赛规模N(一般情况下取N=2),随机从种群中抽出N个个体;
(3.2)从抽出的N个个体中选择适应度值最大的个体;
(3.3)将上述过程重复M次,就可得到下一代群体中M个个体。其中,M为种群大小。
4)交叉算子;
针对图着色问题,在交叉算子的设计中,如果采用传统的交叉方法如单点交叉或两点交叉,很可能会破坏父代染色体中的优良基因,从而影响到算法的收敛速度和最终结果。本发明采用贪心分割交叉方法(Greedy Partition Crossover,GPX)来求解交叉算子。GPX要求染色体都要表示为顶点集的颜色子集,即s={C1,…,Ck}采用GPX,随机选取两个父代染色体(假设父代染色体都有个颜色子集),然后基于贪心思想一步步产生后代染色体。在奇数步时选取第一个父代染色体中最大颜色子集,然后加入到子代染色体中,并从两个父代染色体中删除该最大颜色子集中的节点,在偶数步时选取第二个父代染色体中的最大颜色子集加入到子代染色体中,并从两个父代染色体中删除该最大颜色子集中的节点。上述过程进行k步后,如果仍有节点没有着色,则从前一个颜色子集中随机地选择颜色对它们进行着色。GPX只产生一个后代染色体,该染色体的颜色子集的个数不会大于k。
下面给出具体的例子来说明该交叉算子,如图5所示。父代染色体p1有四个颜色子集{0,2,9}、{3,5,7,10}、{3}和{6},父代染色体p2有四个颜色子集{1,3,4,7,11}、{0,2,9}、{5,8,10}和{6}。第一步,选取父代染色体p1中的子集{3,5,7,10}作为后代染色体c的第一个子集V1,然后从父代染色体p1和父代染色体p2中删除子集V1中的节点。同样按此方法,第二、三步通过父代染色体p1和父代染色体p2创建染色体c的颜色子集V2、V3和V4。在第四步之后,剩余节点6未着色,而节点6只与子集V4中的节点之间没有边连接,即没有冲突,则把节点6添加到子集V4中。
5)变异算子;
变异算子是对换变异,染色体按变异概率mutate_rate=0.1进行变异。对于一个父代染色体p={V1,…,Vk},随机选择两个子集Vi和Vj,如果存在节点u和v,u属于Vi,v属于Vj,且u和v相互邻接,则交换两个节点的位置,即将节点u转移到Vj里,将节点v转移到Vi里。因此,这种变异算子可以维持种群的多样性,以防止出现早熟现象。
参照上述方法对染色体p={{3,5,7,10},{1,4,6,11},{0,2,9},{8}}进行变异操作。假设随机选取了p的V1和V2两个子集,如图6所示。V1和V2中节点5与节点4相邻接,则把节点5移到V2中,把节点4移到V1中。同样的,把节点7、10移到V2中,把节点6、11移到V1中。最后染色体p变为{{3,4,6,11},{1,5,7,10},{0,2,9},{8}}。
综合分析上面的方法后,把它们融入到基本遗传算法中,形成了一种新的遗传算法,将这种新的遗传算法应用于图着色问题中。新的遗传算法描述如下:首先采用改进的随机方法产生N个染色体作为初始种群并用适应度函数进行评价。如果不满足终止条件,则利用本发明设计的遗传算子对种群中的染色体进行进化操作,产生新一代种群,并用适应度函数进行评价。如果满足终止条件,则输出最优解,否则继续进行迭代操作。具体描述如下算法1所示。
算法1求解图着色的遗传算法
输入:图G=(V,E)
输出:用k个颜色完成着色的着色序列
其中,P(t)表示第t代种群,t为遗传代数,s*表示P(t)中的最优染色体,f*表示P(t)中最优染色体的适应度值。函数best(P)返回种群P中的最优染色体。在每一代中,对种群中的染色体进行交叉、变异、选择操作,替换掉种群中适应度差的染色体。如果着色数等于预设的颜色数量或者迭代次数超过设定的最大次数,则停止算法。
Claims (1)
1.一种基于图着色的SOA系统资源管理方法,包括有以下步骤,
第一步,确定SOA系统领域应用层的服务流程结构,对完成系统任务的多个组合服务进行建模;
第二步,根据任务执行过程中服务的最早开始时间和最早完成时间,构建服务间并发关系;
第三步,基于图着色方法,将具有并发关系的服务部署到不同的虚拟机上,提高任务的并行性,优化系统性能;
第四步,对图着色方法设计改进型遗传算法提高计算效率和优化效果;在第一步中所述的对完成系统任务的多个组合服务进行建模,具体为:
SOA系统的组合服务中,根据所有组合服务来构建服务并发图SCG,SCG是一个无向图,图中的节点表示服务,边所连接的两个服务可以并发运行,令SCG=(V,E,Q(vi,vj)),其中V表示组合服务节点集合,E是无向边集合,Q(vi,vj)表示所连接服务之间没有直接或间接的相互依赖关系,是每个边上的权重集合,表示与依次运行连接的服务相比,并行运行连接的服务所带来潜在的性能变化;SCG中复制过来的边的权重中的正值表示的是两个有并发关系的服务从依次执行到并行执行所带来的性能的下降,负值表示的是两个相关服务从依次执行到并行执行所带来的性能的提升;连接节点vi和节点vj的边的权值度量方式如下所示:
Q(vi,vj)=-{Ccom(vi,Pr)+Ccom(vj,Pr)-max[Ccom(vi,Pr1),Ccom(vj,Pr2)]}
其中,Ccom(vi,Pr)表示服务Si在虚拟机mr上的计算开销,Pr为虚拟机mr的CPU处理器的计算能力,Comi为服务Si的计算量,Pr为两个有并发关系的服务在依次执行时所部署的虚拟机CPU的计算能力,Pr1、Pr2分别为两个服务在并行运行时所部署的两个虚拟机CPU的计算能力;
在第二步中所述的构建服务并发图SCG,具体为:
根据SOA系统服务组合的运行规律,分别计算一组组合服务中的每个服务的最早开始时间EST和最早完成时间EFT,然后对比服务的EST-EFT周期,对于具有重叠EST-EFT周期的独立服务对,即表明它们之间不存在依赖关系,而且有并发运行的几率;
EST(Si,mr)和EFT(Si,mr)是服务Si在虚拟机mr上执行的最早开始时间和最早完成时间,相应的,对于每个组合服务的起始服务Sstart,其最早开始时间EST(Sstart,mr)=t0,其中,t0为每个组合服务的开始执行时间;
对于组合服务中的其他服务节点,EST和EFT的值从每个组合服务的起始服务节点开始,各自递归计算得到;
EFT(Si,mr)=EST(Si,mr)+w(Si)/c(mr)
cosSj,i=w(ej,i)/c(lj,i)
其中,cosSj,i是服务Sj通过边ej,i传输数据到服务Si时的时间开销,当服务Sj和服务Si部署在同一个虚拟机上时,cosSj,i的值为零,pred(Si)是服务Si的前驱服务集合,w(Si)是服务Si的计算量,w(ej,i)是服务Sj和服务Si之间的通信量,c(mr)是代表虚拟机mr的计算性能,c(lj,i)代表服务Sj和服务Si之间链路lj,i的传输性能;
其特征在于:
在计算服务的EST-EFT周期的方法有三种情况,分别为,
第一种情况是最佳情况EST-EFT,即计算复合SaaS应用中的每个服务的最早开始时间EST和最早完成时间EFT,在考虑所有计算开销并忽略所有的通信开销的情况下,只有具有重叠EST-EFT周期的独立服务对才能在SCG中具有边;
第二种情况被称为最坏情况EST-EFT,其中复合SaaS应用中每个服务的最早开始时间EST和最早完成时间EFT通过考虑所有计算开销和通信开销来计算,然后只有成对的具有重叠的EST-EFT周期的独立服务才能在SCG中存在边;
第三种情况称为最佳情况EST和最坏情况EFT,其中通过忽略所有通信开销来计算每个服务的EST,并且通过考虑所有通信开销来计算EFT,在这种情况下计算服务的EST-EFT周期,只有具有重叠的EST-EFT周期的独立服务对才能在SCG中存在边;
在第三步的基于图着色方法,将具有并发关系的服务部署到不同的虚拟机上的具体实现过程为,
基于SCG,服务分配问题转换为SCG的图着色问题,其中颜色数量表示虚拟机的数量;由于SCG中的连接服务趋向于以不同的颜色绘制,以表示它们被分配到不同的虚拟机上;
所述的图着色问题采用顶点着色模型,且图除特殊说明外均指无向连通简单图;对于图G=(V,E),通常用V={v1,…,vi,…,vn}和分别表示图G的顶点集和边集;图着色问题的实质是图的着色元素的分类问题,即根据问题的要求将图的着色元素分到不同的集合中依据分配组合优化问题的统一数学框架建立图着色的模型;
矩阵的每一行i对应一个顶点vi,矩阵的取值如下:
使用I={1,…,k}表示顶点的可用颜色集,k≤n,s={C1,…,Ck}表示一个染色体,Ci为若干顶点构成的一个顶点子集,顶点集V被分为k个独立子集,即如果两个节点有边相连,则这两个节点不能被分在同一个子集中;
在第四步所述的改进型遗传算法,具体如下:
1)初始化种群;
采用基于分类的编码,设SCG图有n个服务节点,需要部署在k个虚拟机上,即需要用k种颜色进行着色,则染色体表示如下:
x={{v1,v2,v3},…{vn-1,vn}}
其中,集合中子集的数目为初始状态下着色的颜色数;
2)适应度函数;
染色体x的适应度函数F(x)为:
其中,x表示一个染色体;q(vi,vj)表示一个罚函数,对于任意两个相互邻接的节点vi和vj;如果节点vi和vj着相同的颜色,q(vi,vj)=1;否则q(vi,vj)=0;ωij是一个罚系数,d是惩罚系数:如果则d=1;如果则d=0;k表示染色体x所用的颜色数;
3)选择算子;
采用联赛选择方法,具体操作如下:
(3.1)给定联赛规模N,随机从种群中抽出N个个体;
(3.2)从抽出的N个个体中选择适应度值最大的个体;
(3.3)将上述过程重复M次,就得到下一代群体中M个个体;其中,M为种群大小;
4)交叉算子;
采用贪心分割交叉方法GPX来求解交叉算子;GPX要求染色体都要表示为顶点集的颜色子集,即s={C1,…,Ck}采用GPX,随机选取两个父代染色体,然后基于贪心思想一步步产生后代染色体;在奇数步时选取第一个父代染色体中最大颜色子集,然后加入到子代染色体中,并从两个父代染色体中删除该最大颜色子集中的节点,在偶数步时选取第二个父代染色体中的最大颜色子集加入到子代染色体中,并从两个父代染色体中删除该最大颜色子集中的节点;上述过程进行k步后,如果仍有节点没有着色,则从前一个颜色子集中随机地选择颜色对它们进行着色;GPX只产生一个后代染色体,该染色体的颜色子集的个数不会大于k;
5)变异算子;
变异算子是对换变异,染色体按变异概率mutate_rate=0.1进行变异;对于一个父代染色体p={V1,…,Vk},随机选择两个子集Vi和Vj,如果存在节点u和v,u属于Vi,v属于Vj,且u和v相互邻接,则交换两个节点的位置,即将节点u转移到Vj里,将节点v转移到Vi里。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810124095.6A CN108255613B (zh) | 2018-02-07 | 2018-02-07 | 一种基于图着色的soa系统资源管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810124095.6A CN108255613B (zh) | 2018-02-07 | 2018-02-07 | 一种基于图着色的soa系统资源管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255613A CN108255613A (zh) | 2018-07-06 |
CN108255613B true CN108255613B (zh) | 2021-01-01 |
Family
ID=62744723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810124095.6A Active CN108255613B (zh) | 2018-02-07 | 2018-02-07 | 一种基于图着色的soa系统资源管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255613B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109447265B (zh) * | 2018-10-12 | 2020-09-01 | 湘潭大学 | 一种基于偏好遗传算法的染色配比方法及系统 |
CN110096335B (zh) * | 2019-04-29 | 2022-06-21 | 东北大学 | 一种针对虚拟机不同类型的业务并发量预测方法 |
CN110635939A (zh) * | 2019-08-21 | 2019-12-31 | 珠海国津软件科技有限公司 | 一种服务地图绘制方法及系统 |
CN110533153B (zh) * | 2019-08-27 | 2022-07-19 | 东南大学 | 一种基于文化基因算法解决均匀染色问题的方法 |
CN110941495B (zh) * | 2019-12-10 | 2022-04-05 | 广西大学 | 一种基于图着色的容器协同编排方法 |
CN114356564B (zh) * | 2021-12-29 | 2023-06-13 | 四川大学 | 一种集成服务资源的系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000079386A1 (en) * | 1999-06-22 | 2000-12-28 | Motorola, Inc. | Method for providing an optimized memory allocation for java functions |
CN102207883A (zh) * | 2011-06-01 | 2011-10-05 | 华中科技大学 | 异构分布式实时系统的事务调度方法 |
CN102299959A (zh) * | 2011-08-22 | 2011-12-28 | 北京邮电大学 | 一种数据库集群系统的负载均衡实现方法和装置 |
CN102591712A (zh) * | 2011-12-30 | 2012-07-18 | 大连理工大学 | 一种云计算中依赖任务的解耦并行调度方法 |
-
2018
- 2018-02-07 CN CN201810124095.6A patent/CN108255613B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000079386A1 (en) * | 1999-06-22 | 2000-12-28 | Motorola, Inc. | Method for providing an optimized memory allocation for java functions |
CN102207883A (zh) * | 2011-06-01 | 2011-10-05 | 华中科技大学 | 异构分布式实时系统的事务调度方法 |
CN102299959A (zh) * | 2011-08-22 | 2011-12-28 | 北京邮电大学 | 一种数据库集群系统的负载均衡实现方法和装置 |
CN102591712A (zh) * | 2011-12-30 | 2012-07-18 | 大连理工大学 | 一种云计算中依赖任务的解耦并行调度方法 |
Non-Patent Citations (3)
Title |
---|
农机调配可视化系统研究;胡冲;《中国硕士学位论文全文数据库信息科技辑》;20120815;论文第4.3节 * |
基于CUDA的图顶点着色问题的并行遗传算法研究;邱明;《中国硕士学位论文全文数据库信息科技辑》;20150715;论文第1.3节,第3-4章 * |
基于SaaS模式和Laravel架构的海运业信息交互模型及其应用;陈燕辉;《中国优秀硕士学位论文全文数据库信息科技辑》;20160715;论文第3.1-3.2节,第5章 * |
Also Published As
Publication number | Publication date |
---|---|
CN108255613A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255613B (zh) | 一种基于图着色的soa系统资源管理方法 | |
Akbari et al. | An enhanced genetic algorithm with new operators for task scheduling in heterogeneous computing systems | |
CN113411369B (zh) | 一种云服务资源协同优化调度方法、系统、介质及设备 | |
Alkhanak et al. | A hyper-heuristic cost optimisation approach for scientific workflow scheduling in cloud computing | |
Szabo et al. | Evolving multi-objective strategies for task allocation of scientific workflows on public clouds | |
Xiao et al. | A cooperative coevolution hyper-heuristic framework for workflow scheduling problem | |
US11055139B2 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
CN108134848B (zh) | 一种基于图论k-分割的soa系统资源优化方法 | |
Nikravan et al. | A genetic algorithm for process scheduling in distributed operating systems considering load balancing | |
Hafsi et al. | Genetically-modified Multi-objective Particle Swarm Optimization approach for high-performance computing workflow scheduling | |
Biswas et al. | A novel scheduling with multi-criteria for high-performance computing systems: an improved genetic algorithm-based approach | |
Qin et al. | Hybrid collaborative multi-objective fruit fly optimization algorithm for scheduling workflow in cloud environment | |
CN114968531A (zh) | 基于多适应度遗传优化的量子云混合任务调度方法及装置 | |
CN115016938A (zh) | 一种基于强化学习的计算图自动划分方法 | |
Entezari-Maleki et al. | A genetic algorithm to increase the throughput of the computational grids | |
Zhou et al. | Makespan–cost–reliability-optimized workflow scheduling using evolutionary techniques in clouds | |
CN114020469A (zh) | 基于边缘节点的多任务学习方法、装置、介质与设备 | |
Younis et al. | Genetic algorithm for independent job scheduling in grid computing | |
Vecchiola et al. | Multi-objective problem solving with offspring on enterprise clouds | |
CN115086249B (zh) | 一种基于深度强化学习的云数据中心资源分配方法 | |
Younis et al. | A loosely coupled hybrid meta-heuristic algorithm for the static independent task scheduling problem in grid computing | |
Calégari | Parallelization of population-based evolutionary algorithms for combinatorial optimization problems | |
Singh | Task scheduling in parallel systems using genetic algorithm | |
Hafsi et al. | Genetic-based multi-criteria workflow scheduling with dynamic resource provisioning in hybrid large scale distributed systems | |
Ghumrawi et al. | Software technology to develop large-scale self-adaptive systems: accelerating agent-based models and fuzzy cognitive maps via cuda |
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 |