600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 亲和性与反亲和性

亲和性与反亲和性

时间:2018-12-10 09:25:01

亲和性与反亲和性

亲和性与反亲和性

前文提要:文章很长,但如果您的研究方向是云计算或者边缘计算等计算范式,并且想用亲和性来做一些创新的算法,那这篇文章还是建议您看一眼,不保证有收获,但应该没有损失,如果您是从事技术方面的人员,这篇文章您完全没必要看了

相关文献

[1] J. Chen, K. Chiew, D. Ye, L. Zhu, and W. Chen, “Affinity-aware grouping method for allocation of VMs,” in Proc. 27th Int. Conf. Advanced Inf. Netw. Appl., , pp. 235–242.

[2] Ludwig U L, Xavier M G, Kirchoff D F, et al. Optimizing multi‐tier application performance with interference and affinity‐aware placement algorithms[J]. Concurrency and Computation: Practice and Experience, , 31(18): e5098.

[3] Yan C, Zhu M, Yang X, et al. Affinity-aware virtual cluster optimization for mapreduce applications[C]// IEEE International Conference on Cluster Computing. IEEE, : 63-71.

[4] Ranjana R, Radha S, Raja J. Network affinity aware energy efficient virtual machine placement algorithm[J]. International Journal of Business Intelligence and Data Mining, , 14(1-2): 40-53.

[5] Chen J, Chiew K, Ye D, et al. AAGA: Affinity-aware grouping for allocation of virtual machines[C]// IEEE 27th International Conference on Advanced Information Networking and Applications (AINA). IEEE, : 235-242.

[6] Chen J, He Q, Ye D, et al. Joint affinity aware grouping and virtual machine placement[J]. Microprocessors and Microsystems, , 52: 365-380.

[7] Modeling and Placement of Cloud Services with Internal Structure

在文献[1]中提出利用资源互补作为亲和性计算,将虚拟机之间的关联定义为将两个虚拟机放在一起后的资源波动性。在文献[2]中,提出了一个基于资源干扰与网络亲和力的布局方案,该文章更多地根据干扰强度和亲和力来指定调度策略。文献[3] 将距离定义为虚拟机之间的延迟,并使用它来衡量虚拟集群的亲和性,并将虚拟机放置描述为最短距离问题,并将其建模为整数规划问题进行求解。文献[4]以降低通信成本提出了一个亲和力感知算法,通过定义虚拟机之间地通信以来关系来定义亲和性。文献[5]为了减少通信开销,提高应用程序性能,提出了一种基于亲和性的虚拟机分组分配方法(AAGA),文章采用了虚拟机之间的依赖关系来定义虚拟机的亲和性,例如通信亲和性、数据亲和性和内存亲和性以及用户自己定义的亲和性。文献[6]提出了一个亲和力感知的资源调度框架来放置虚拟机,其中使用了虚拟机之间的通信或数据传输流量来获得亲和性。

亲和性

什么是亲和性,简而言之,就是跟谁比较亲近,基于这个定义,我们就可以得到亲和性就是某个事物与某个事物比较亲近,那么既然亲近,我们就需要将这两个事物靠近,或者就让这些事物放在一起或者就近,以达到某种收益。在云计算的研究中,亲和性一般可以减少容器(虚拟机)之间的网络延迟或者减少通信能耗。当然也有在文献[7]中定义的亲和性,更多是因为隐私和国家政策原因。

反亲和性

什么是反亲和性,通过上面的情况,其实我们反过来理解就可以明白了,那就是某个事物跟某个事物不仅亲近,而且还有仇。他们不能呆在一起,呆在一起就会出事,所以我们需要将其分开。通过对文献调研来看,与亲和性不同的是,亲和性用得较为频繁,但反亲和性用的相对不多,同样在文献[7]中就基于国家政策提出了反亲和性,必须将某些容器分开。同理例如文献[2]中的干扰也可以被视为反亲和性

其实除了相关文献中,在K8S当中其实也是定义了亲和性与反亲和性,而且其亲和性定义的相当好,其不仅定义了容器与容器之间的亲和性和反亲和性,也定义了容器与节点之间的亲和性和反亲和性。因此建议来的读者也可以参考K8S中的亲和性定义。

接下来我将重点列出以上论文中的一些重要的知识:

文献11

文献[1]中提出利用资源互补作为亲和性计算,将虚拟机之间的关联定义为将两个虚拟机放在一起后的资源波动性。

利用资源互补作为亲和性计算。将两个虚拟机之间的关联定义为将两个虚拟机放在一起后的资源波动性。

模型如下:

n台服务器 :j∈{1,2,...,n}j\in \left\{ 1,2,...,n \right\} j∈{1,2,...,n}

m台服务器

D维资源向量:d∈{1,2,...,D}d\in \left\{ 1,2,...,D \right\} d∈{1,2,...,D}

Cjd(t)C_{j}^{d}\left( t \right) Cjd​(t)表示在时间t主机j上的资源D容量

数据中心中的所有主机都可以用一个矩阵表示,如下所示:

Hdc=[H1H2⋮Hn]=[C11(t)C12(t)⋯C1D(t)C21(t)C22(t)⋯C2D(t)⋮⋮Cjd(t)⋮Cn1(t)Cn2(t)⋯CnD(t)]H_{dc}=\left[ \begin{array}{c} H_1\\ H_2\\ \vdots\\ H_n\\ \end{array} \right] =\left[ \begin{matrix} C_{1}^{1}\left( t \right)& C_{1}^{2}\left( t \right)& \cdots& C_{1}^{D}\left( t \right)\\ C_{2}^{1}\left( t \right)& C_{2}^{2}\left( t \right)& \cdots& C_{2}^{D}\left( t \right)\\ \vdots& \vdots& C_{j}^{d}\left( t \right)& \vdots\\ C_{n}^{1}\left( t \right)& C_{n}^{2}\left( t \right)& \cdots& C_{n}^{D}\left( t \right)\\ \end{matrix} \right] Hdc​=⎣⎢⎢⎢⎡​H1​H2​⋮Hn​​⎦⎥⎥⎥⎤​=⎣⎢⎢⎢⎡​C11​(t)C21​(t)⋮Cn1​(t)​C12​(t)C22​(t)⋮Cn2​(t)​⋯⋯Cjd​(t)⋯​C1D​(t)C2D​(t)⋮CnD​(t)​⎦⎥⎥⎥⎤​

表示数据中心中的虚拟机与主机类似,我们定义了一个矩阵Vi,将虚拟机i的预测D维资源需求从时间T开始放入未来T时间间隔中:

Vi==[Vi1(t)Vi1(t+1)⋯Vi1(t+T)Vi2(t)Vi2(t+1)⋯Vi2(t+T)⋮⋮Vjd(t+δt)⋮ViD(t)ViD(t+1)⋯ViD(t+T)]V_i==\left[ \begin{matrix} V_{i}^{1}\left( t \right)& V_{i}^{1}\left( t+1 \right)& \cdots& V_{i}^{1}\left( t+T \right)\\ V_{i}^{2}\left( t \right)& V_{i}^{2}\left( t+1 \right)& \cdots& V_{i}^{2}\left( t+T \right)\\ \vdots& \vdots& V_{j}^{d}\left( t+\delta t \right)& \vdots\\ V_{i}^{D}\left( t \right)& V_{i}^{D}\left( t+1 \right)& \cdots& V_{i}^{D}\left( t+T \right)\\ \end{matrix} \right] Vi​==⎣⎢⎢⎢⎡​Vi1​(t)Vi2​(t)⋮ViD​(t)​Vi1​(t+1)Vi2​(t+1)⋮ViD​(t+1)​⋯⋯Vjd​(t+δt)⋯​Vi1​(t+T)Vi2​(t+T)⋮ViD​(t+T)​⎦⎥⎥⎥⎤​

映射矩阵 xil xil=1 虚拟机i放置在服务器j上

预测亲和性模型

预测性能的评估指标:

均方根误差:

平均绝对误差:

泰尔系数:

其中Ri和Pi是时间i时VM资源的真实值和预测值,T是样本总数。较小的指标表明预测更准确

亲和性模型

增加一个关联值AikdA_{ik}^{d} Aikd​来表示虚拟机i和虚拟机k之间的关系:

Vic=(Ric(t+1),Ric(t+2),...,Ric(t+T))V_{i}^{c}=\left( R_{i}^{c}\left( t+1 \right) ,R_{i}^{c}\left( t+2 \right) ,... \right. \left. ,R_{i}^{c}\left( t+T \right) \right) Vic​=(Ric​(t+1),Ric​(t+2),...,Ric​(t+T))

同理虚拟机k的预测值:

Vkc=(Rkc(t+1),Rkc(t+2),...,Rkc(t+T))V_{k}^{c}=\left( R_{k}^{c}\left( t+1 \right) ,R_{k}^{c}\left( t+2 \right) ,... \right. \left. ,R_{k}^{c}\left( t+T \right) \right) Vkc​=(Rkc​(t+1),Rkc​(t+2),...,Rkc​(t+T))

VM-VM关联值的计算显示在公式(6)和(7)中:

VM i和VM j的亲和力可以表示为变量Aik,可以用公式(8)计算:

用于计算VM之间亲和力值的算法的伪代码如下所示:

在函数(11)和(12)中定义了由于迁移而导致的VM j的性能退化:

其中Udj是VM j导致的总体性能下降;t0表示迁移开始的时间;Tmj是完成迁移所花费的时间;Mj是VM j使用的内存量,Bj是可用的网络带宽。

文献2

在文献[2]中,提出了一个基于资源干扰与网络亲和力的布局方案,该文章更多地根据干扰强度和亲和力来指定调度策略。

建模安置成本

布局算法旨在将一组应用程序放置在最少数量的PM中,以使数据中心资源高效。在这项工作中,我们试图将资源干扰和网络开销造成的性能下降降至最低。本节详细说明了考虑容量、干扰和亲和力的安置成本符号。表4显示了我们在本文中使用的符号摘要。

容量约束:容量成本函数保证给定的PM P有足够的容量承载由大小集S′表示的所有层。如果IP无法承载所有这些,即层大小之和大于容量,则返回高成本值,定义为∞,基本上使给定的配置无效;否则,它将返回1,这是一个乘以后不会修改总成本的数字。容量约束函数定义如下

干扰成本:干扰成本函数给出了在同一PM中运行一组层T′的总干扰成本,用它们的干扰集I′表示。每个资源的干扰水平表示如下:

其中res={CPU、内存、磁盘、缓存}。等式(2)中表示的辅助函数g返回一组大于1的值,即导致性能下降的值。此外,函数fint′获取导致一组层I′性能下降的一组值,如果有多个层对同一资源产生干扰,则将它们的性能下降值相乘并作为成本返回;否则,如果有零层或一层干扰给定资源,则返回1

最后,总干扰成本通过乘以每个资源的成本得出,该成本通过使用等式(4)中的函数计算得出:

Affinity Cost:Affinity Cost函数返回运行层集合T′的成本,由它们的Affinity集合A′表示。迭代每一层的每个亲和性条目,并通过调用一个助手函数(如等式(6)所示),计算总成本。当具有亲缘关系的所有层也存在于同一组层T′中时,成本为1(无成本),这组层T′位于同一PM中。如果一个层不存在,那么返回的成本是在不同的PM中运行层所导致的性能下降的乘积:

给定这三个成本函数,等式(7)显示了一个函数,该函数返回在PM P中运行一组层T′的总成本,而r e fcap作为一个约束函数,测量层是否符合给定PM。然后,等式(8)显示了布局函数,它试图通过测试每个PM的所有可能的层组合来最小化总成本。此外,安置的总成本由每个PM的平均成本给出。选择每个PM的平均成本是为了在所有PM中保持相同的成本。如果我们使用成本倍增,可能会导致一些项目经理的成本较低,而另一些项目经理的成本非常高。尽管使用平均值并不能完全避免这种情况,但发生这种情况的可能性较小。

放置功能应能返回最佳放置配置

文献3

文献[3] 将距离定义为虚拟机之间的延迟,并使用它来衡量虚拟集群的亲和性,并将虚拟机放置描述为最短距离问题,并将其建模为整数规划问题进行求解。文献[4]以降低通信成本提出了一个亲和力感知算法,通过定义虚拟机之间地通信以来关系来定义亲和性。

模型描述:

设n为节点数,m为VM类型数,我们假设VM集是{V0,V1,VM−1} 节点集是{N0,N1,Nn−1}. 需要以下数据结构来决定选择集群。

R:长度为m的向量,表示用户请求的每种类型的资源数量。如果Ri=k,则请求VM 类型 Vi的k个实例。

A:长度为m的向量,表示每种类型的可用资源数量。如果Ai=k,则有k个VM类型Vi实例完全可用。

M:一个n×M的矩阵,定义了每个节点提供的最大虚拟机数量。如果Mij=k,Ni最多可以提供k个VM类型Vj的实例。

C:一个n×m的矩阵,定义了每个节点当前分配的每种类型的资源数量。如果Cij=k,则节点Ni当前被分配给VM类型Vj的k个实例。

L:一个n×m的矩阵,表示每个节点提供的剩余资源。如果Lij=k,Ni可以向请求提供VM类型Vj的k个实例。注:

D:定义物理节点之间距离的n×n矩阵。根据网络延迟,我们可以定义同一机架中两个物理节点之间的距离为d1,不同机架中两个物理节点之间的距离为d2,不同云中两个物理节点之间的距离为d3(0<d1<d2<d3),等等。距离越短,数据传输速度越快。两个虚拟机之间的距离是虚拟机所在的两个节点之间的距离,即同一节点中两个虚拟机之间的距离为0。

∀j,Rj≤∑i=0nMij(0≤j≤m)\forall j,R_j\leq \sum_{i=0}^n{M}_{ij}\left( 0\leq j\leq m \right) ∀j,Rj​≤i=0∑n​Mij​(0≤j≤m)否则,请求将被拒绝。

∀j,Rj≤Aj\forall j,R_j\leq A_j ∀j,Rj​≤Aj​否则,请求需要在队列中等待,直到资源可用。

在节点数量和节点间距离的约束下,如何从资源池中选择可用资源是提供更好服务质量的关键。请注意,我们不考虑服务器重新配置的问题,并且相关信息是从云提供商获得的。

定义1。虚拟集群的距离(DC)。给定表示虚拟集群的分配矩阵C和定义节点之间的距离矩阵D。选择该虚拟集群的距离DC是为了最小化所有集群节点与可分辨中心节点之间的距离之和。

Nk是中心节点(1≤ K≤ n) 然后 ∑j=1mCij\sum_{j=1}^m{C_{ij}} j=1∑m​Cij​是节点Ni提供的虚拟机数量。

定义2。最短距离(SD)问题。给定一个请求向量R、一个剩余资源矩阵L和一个距离矩阵D,找到一个 Rj=∑i=1nCijR_j=\sum_{i=1}^n{C_{ij}} Rj​=i=1∑n​Cij​和Cij≤ Lij使DC(C)最小化。请求的最短距离用SD(R)表示,相关虚拟集群用CSD(R)表示,CSD(R)是一个矩阵。假设所有可能的分配矩阵集是C(C1,C2,…,Cs),s是所有可能分配的数量。

当我们得到CSD(R)=Ch(1)时≤ H≤ s) 。Nk是Ch的中心节点(1≤ K≤ n)∑j=1mCijh\sum_{j=1}^m{C_{ij}^{h}} j=1∑m​Cijh​是分配Ch中节点Ni提供的虚拟机数量。

图1展示了虚拟集群请求的实例,该请求是两个V1、四个V2和一个V3。Rack1和Rack2是云环境中提供的两个不同机架。

有许多可能的分配。以下是四种可用的虚拟集群分配及其距离。DC1、DC2、DC3和DC4是四种不同供应选择的距离。

根据所有可能分配的距离计算,我们可以得到SD(R)和CSD(R)。

SD问题的整数规划公式

我们将SD问题表述如下。

N个节点集合: N=N1…Nn

m虚拟机类型

距离矩阵

可用资源矩阵

长度为m的请求向量R

变量:

xij,整数变量,对于i=1。。。,n、 j=1。。。,m、 和0≤ xij≤ Rj。xij意味着Ni分配Vj类型的xij虚拟机以形成虚拟集群。

k、 整数变量,k=1。。。,n、 表示此虚拟群集的中心节点。

优化问题可以写成如下:

约束:

文献4

文献[4]以降低通信成本提出了一个亲和力感知算法,通过定义虚拟机之间地通信以来关系来定义亲和性。

通信成本建模:

任意两个虚拟机 Vi和 Vj之间的通信依赖关系也称为亲和关系,表示为依赖关系图,G=(V,E),其中V是VM的集合,E是边的集合。如果E=(Vi,Vj),则Vi和Vj之间存在通信依赖关系。让T(Vi,Vj)表示Vi和Vj之间的数据流量,使得T(Vi,Vj)与Vi和Vj之间传输的数据字节成比例。任意两个PM-Pi和Pj之间的距离用D(Pi,Pj)表示,D是Pi和Pj之间沿最短路径的跳数,穿过各种链路,如L1、L2、L3。

在Pi和Pj上承载的Vi和Vj之间的通信成本C(Vi,Vj)定义如等式(1)所示:

如果Vj和Vj托管在同一个PM上,那么C(Vi,Vj)=0。

目标函数是找到VM到PM的映射,以使:

​ 最小化虚拟机Vi和Vj之间的通信成本C(Vi,Vj)。

​ 数据中心的能源消耗。

​ 托管VMs请求所需的活动PM数。

文献5

文献[5]为了减少通信开销,提高应用程序性能,提出了一种基于亲和性的虚拟机分组分配方法(AAGA),文章采用了虚拟机之间的依赖关系来定义虚拟机的亲和性,例如通信亲和性、数据亲和性和内存亲和性以及用户自己定义的亲和性。

首先提供了两个定义:虚拟机亲和关系和虚拟机亲和组,以及几个基于亲和关系的虚拟机分组规则,然后是对AAGA问题的陈述:基于亲和力的虚拟机分组分配问题。

虚拟机亲和性

定义1:虚拟机亲和性。虚拟机之间的依赖关系定义为虚拟机的亲和性

根据定义1,在云计算中,我们还可以有多种类型的亲和性,例如通信亲和性(CA)、数据亲和性(DA)、内存亲和性(MA)和用户定义的亲和性(UA)。

CA来源于运行通信密集型应用程序的虚拟机之间的通信依赖关系。而MA来源于两个虚拟机的内存依赖关系,当两个虚拟机同时使用时,可以共享内存ory[10]。DA是由运行数据密集型应用程序的虚拟机之间的依赖关系引起的。此外,云客户要求他的虚拟机使用托管。在这方面,这些具有亲和性的虚拟机来自于用户感知的依赖关系,称为用户定义的亲和性。

亲和力感知分组虚拟机的规则

接下来,我们将详细介绍一些进行亲和感知的虚拟机分组的规则,并提供基于集合关系理论的数学形式化的 定义和基于集合关系理论的主张。

定义2:亲缘关系。两个具有亲和力的虚拟机 定义了一个亲缘关系。

在数学上,亲缘关系是一种二元关系。给定 一组虚拟机的V,V×V是V和V的乘积集,AR 是一个亲缘关系集,AR⊂V×V。如果∀x, y∈V , (x, y) ∈AR,那么我们称x和y有一个亲和关系 AR,用x∼y表示。

此外,根据亲和力的方向性,我们可以有另外两类亲和力关系:直接亲和力。可以有另外两类亲缘关系:直接亲缘关系和间接亲缘关系。关系和间接亲和关系。一对虚拟机(x,y)与 形成直接亲缘关系,而如果三个虚拟机 x、y和z,匹配x∼y和y∼z,那么我们说x和 z有一个间接的亲缘关系。

定义3:亲缘虚拟组(AVMG)。给定一个虚拟机集合V,让x是一个虚拟机,一个亲和虚拟机组AG被定义为V的一个非空子集,∀x,y∈AG,x和y有直接亲和关系或间接亲和关系。让 x = y,则一个单一的虚拟机形成一个亲和虚拟机组。

此外,我们也可以用一个图来表示一个亲和的 基于图论的VM组。在一个亲和的虚拟机群中。 所有的虚拟机构成一个顶点集合,而亲缘关系可以被看作是 可以被看作是边。每两个具有直接或间接 亲和关系等于从一个虚拟机顶点到另一个虚拟机顶点的一个直接或间接路径 到另一个虚拟机顶点的直接或间接路径。从这个角度来看。 一个亲和的虚拟机组就构建了一个完整的图。

我们提供了亲和虚拟机组来决定分配给PM的 的虚拟机分配给PM,并保证具有亲和力的虚拟机尽可能地被紧密放置。尽可能地紧密放置。

从这些定义中,我们有以下主张作为 产生亲和虚拟机组的规则,如下。

给定一个虚拟机的有限集合V,让x,y∈V是两个虚拟机。

权利要求1:单个虚拟机形成一个亲和虚拟机组。

证明。一个虚拟机和它本身有亲和关系,因为 它显然会被分配到同一个PM上。

权利要求2:一个有两个虚拟机的虚拟机组,它们有 亲和关系的虚拟机组成一个亲和虚拟机组。

证明。给定两个虚拟机x和y,x∼y,AG是集合{x}和{y}的联合,即AG={x}∪{y}={x,y},是一个子集。集{x}和{y}的并集,即AG={x}∪{y}={x,y},是V的一个子集。V的一个子集,在x和y上产生一个虚拟亲和群。和y有亲和关系,x和y被分配到 同一个PM,即AG中的所有虚拟机都被分配到一个PM。

权利要求3:两个亲和VM组的结合形成一个 即,让AG1和AG2是两个亲和VM组,且AG1∩AG2=∅,如果∃x∈AG1,y∈AG2,则AG1∩AG2=∅。VM群,且AG1∩AG2=∅,如果∃x∈AG1,y∈AG2。且x ∼ y,则AG = AG1 ∪ AG2的联合是一个联合的 亲和VM组的两个不相交的亲和VM组。

证明。如果AG1和AG2没有被分配到同一个PM,那么x和y就没有被分配到同一个PM,这意味着x和y没有被分组到同一个组,或者x和y之间的亲和力被打破。所以当且仅当AG1和AG2 被分配到同一个PM,x和y之间的亲和力 之间的亲和力是有保证的。

文献6

文献[6]提出了一个亲和力感知的资源调度框架来放置虚拟机,其中使用了虚拟机之间的通信或数据传输流量来获得亲和性。

定义1。密切关系亲和性定义为一个或多个虚拟机之间的依赖关系,这些虚拟机具有运行特殊应用程序工作负载的特殊放置模式。

亲和力可以从应用程序运行期间生成的两个虚拟机之间的通信或数据传输流量中获得。通常,为了降低虚拟化的性能成本,并在虚拟机资源重新分配中提供更好的应用程序性能,需要将两个虚拟机集中放置在一个具有足够CPU、MEM的PM上,或放置在具有足够网络带宽的两个PM上,并位于本地。我们进一步将亲和性概念的含义扩展到一个通用概念,即如果虚拟机需要具有特殊的布局模式,我们可以识别对虚拟机的依赖关系。

虚拟机的亲和力意味着虚拟机之间的关系。根据关系理论,我们对亲和关系的定义如下[28]。

定义2。亲缘关系。亲和关系定义为两个具有亲和属性的虚拟机之间的关系。

根据虚拟机的基本布局模式,我们定义了三种亲缘关系类型和亲缘关系,即托管-布局亲缘关系(共亲缘关系)、无托管-布局亲缘关系(noco亲缘关系)和固定布局亲缘关系(固定亲缘关系)。

亲和力感知虚拟机放置问题

在不考虑亲和性的情况下,我们将虚拟机放置问题称为一般虚拟机放置(GP)问题。在下文中,我们通过将亲和性作为新规则添加到GP问题来说明亲和性感知放置(AAP)问题。具体来说,我们提出了GP和AAP问题的定义和整数规划模型。

引入了亲和关系矩阵A=(aij)i,j∈{1,…,n}表示VM项之间的所有关联关系。对于∀ i、 j∈ {1,…,n},ij de的值-注意,affinity relation的权重值,默认设置为0。我们通过将元素a ij设置为不同的值来区分三种亲和关系类型。

(1) 首先,我们设置A的对角元素,即A ii(i∈ {1,…,n}),一个值(≥0)表示一个具有固定亲和力或不具有固定亲和力的VM。设置为0的值表示VM项i没有固定的关联,否则为正整数k(k∈ {1,…,m})表示项i具有固定的亲缘关系,并且需要放置到固定的PM-bin k上。

(2) 然后,我们设置其他元素a i j(i?=j),i,j∈ {1,…,n}表示项目i和j之间的共同亲和性和noco亲和性。设置为0的值表示项目i和j没有托管\没有托管亲和力,正数(Aij>0)表示项目i和j有托管亲和力关系,负数(Aij<0)表示项目i和j没有托管亲和力。

值的大小代表亲和力(亲和力等级)的实际权重,该权重与某些应用程序性能指标的值相关,如虚拟机之间的通信速率或性能收入值。

每个亲缘关系在IP-AAP模型中构造一个规则。我们在IP-AAP模型中为每个亲缘关系添加如下规则。

托管亲和力规则(共同亲和力):让项目i和j具有托管亲和力,并要求将其托管在同一个箱子k上∈ {1,…,m},则项目i和项目j可以使用相等的二进制变量,即存在bin k,k∈ {1…m},x jk=x ik=1和x jl=x il=0,其中l?=k和l代表所有其他人。换句话说,我们可以将项目i和j合并为一个组项目作为一个新项目,对于每个维度d,组项目v的大小由项目i和j的总和表示,即sdv=sdi+sdj。事实上,我们对这两项使用相同的二进制变量。对于所有共定位亲和力关系,我们在ILP中添加以下约束(6):

无托管亲和力规则(Noco亲和力):我们假设项目i和j具有无托管亲和力,并且需要部署到两个不同的箱子k和l(k?=l)上。在本例中,我们将以下约束(7)添加到ILP-AAP:

固定PM亲缘关系规则(固定亲缘关系):让物品i具有与固定PM仓a ii关联的固定PM亲缘关系,即,放置在固定PM仓u=a ii上。然后我们有下面相应的方程式:

文献7

文献7与之前的应用文章不同,它提出的一种云服务的建模方式,因此它与其他六篇文章有很大的不同,以下给出他们的模型:

最小化能耗:整数规划问题,映射矩阵虚拟机资源矩阵每单位资源的成本

Subject to :

每个虚拟机必须放置在一台机器上

​ 虚拟机容量要小于机器容量:

​ 如果存在一种VM类型和另一种VM类型存在主机级反亲和力约束,则可能不能存在这样的映射,即第一种类型的VM实例和第二种类型的VM实例放置在同一主机上;

​ 如果一个VM实例属于某一类型,并且存在从该类型到另一类型的主机级关联约束,则必须存在一个映射,使得VM与另一类型的VM实例一起放置在主机上;

​ 如果一个VM类型(等式(2))中存在主机级别的亲缘关系,并且两个VM实例都属于该类型,那么这两个实例必须放在同一个主机上:

​ 如果存在从VM类型到主机的主机级反亲缘约束,则该VM类型的实例可能不会放置在该主机上:

​ 如果存在从VM类型到主机的主机级关联约束,则必须将该VM类型的实例放置在该主机上:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读