基于深度哈希算法的云计算虚拟机迁移模型
2022-03-15苏雯洁
谭 印,苏雯洁
(桂林电子科技大学,广西 北海536000)
1 引言
云计算最显著的特色就是对资源和服务的虚拟处理,现如今越来越多的IT企业都在效仿云数据模式路线,它所消耗的能量也是有目共睹的,不光是企业,就连相关政府部门也开始关心并研究云数据能量低耗的问题[1-3],这就需要借助云计算虚拟机迁移模型这项技术,它是当前高效利用云端资源和低能耗的尖端技术。众所周知,无论是资源还是服务的虚拟化,操作者对它们的搜索都是极其便捷的,但由于虚拟机的各项策略还是或多或少地对整个平台的性能产生了一定程度的影响,因此,虚拟机迁移模型的重要性显而易见[4]。虚拟机迁移是在保证云计算中心能顺利提供帮助的条件下,在有限的时间里,把虚拟机的相关节点进行迁移,以此来减少各个节点的超负载,并有效减少云计算中心能量的耗用。
刘开南[5]等人设计了一种云数据中心基于遗传算法的虚拟机迁移模型,构建虚拟机迁移时间消耗模型,结合该模型通过全局遗传算法对虚拟机迁移进行优化。以某企业的数据中心作为对象,采用该方法对迁移效果进行测试,结果表明;该方法可以有效降低虚拟机的迁移次数,降低了物理主机的使用频率。张智俊[6]等人提出了基于LP&GR算法的多优先级虚拟机迁移方法,对虚拟机的负载状态进行预测,以此来降低虚拟机过载概率。构建决策分配模型,结合LP&GR算法设计多个优先级,以此来保证虚拟机的有序迁移。分析实验结果可知,该方法可以提高虚拟机的负载均衡性能。上述方法虽然在一定程度上实现了虚拟机迁移的优化,但是均不适用于跨数据虚拟机迁移。为此研究基于深度哈希算法的云计算虚拟机迁移模型,降低跨数据虚拟机迁移的带宽开销。深度哈希算法具备较优的图像检索功能,在云计算领域应用广泛。
2 基于深度哈希算法的云计算虚拟机迁移模型
2.1 深度哈希算法
利用深度哈希算法提取基本镜像的类似程度,依据基本镜像的类似程度构建哈希图。该方法主要包含无监督阶段与有监督阶段[7,8],第一种阶段利用栈式自动编码神经网络(Stacked Autoencoder,SA)学习深度卷积神经网络(DCNN)的初始参数,通过逐层贪婪训练法学习SA的参数,作为有监督阶段的优化参数。
2.1.1 无监督阶段
利用SA学习DCNN的初始参数,SA中包含数层稀疏编码器,其中下一层的输入均为上一层的输出,编码操作为依据上下次序运行各层自编码器;解码操作为依据上述操作的相反方向展开解码;该编码器的操作原理如图1所示。
图1 编码器操作原理
SA的训练方式是按照上下顺序对每一层展开训练,SA的首层参数是通过原始数据获取的,并将其转换成向量传递至下一层,作为其输入,随即展开训练;直到全部编码器训练结束后,在分类器中输入最终的特征。
2.1.2 有监督阶段
SA网络训练结束后,利用存在标签的样本对SA展开有监督调整,其调整幅度较小,确保基本镜像在汉明空间内依旧存在较高的类似程度。为了获取虚拟机镜像样本,可以参考目标函数优化思想,建立一个目标函数,运用优化求解的方式获取具有高置信度的有效标签,即虚拟机镜像样本标签。然后,通过基本镜像属性间的语义类似程度确定样本对A的标签,A的取值区间是A∈[0,1],令A的权值与基本镜像属性类似程度成反比,通过对比损失函数改进有监督阶段的参数。
令样本(x1,x2)∈X,A∈[0,1],存在标签的训练基本镜像为X,训练标签是Y。样本对映射空间的欧式距离为
(1)
其中,映射函数是FW。
有监督阶段的损失函数表达公式如下
(2)
有监督阶段的调整步骤如下
步骤1:利用语义标签学习各输入样本,按照标签语义的类似程度得到A的权值,按照顺序训练全部样本,获取样本训练集;
步骤2:迭代计算,以全部收敛为止。
(3)
在Y的权值大于0.5的情况下,以优化W的方式延长欧式距离dW,依旧利用式(3)展开运算。采用最小化映射函数的方式,完成输出空间中各样本点间dW的缩短与延长。
2.1.3SA二值化
通过阈值法二值化处理SA内的特征,使其变成二值特征,节省存储空间[9],缩短运算时间。SA中的Tanh函数的输出表达公式如下
(4)
SA最终输出值的区间为[-1,1]。
通过分析每维基本景象数据的统计特征,利用式(5)展开阈值分割,公式如下
(5)
2.1.4 算法流程
深度哈希算法的步骤为:
步骤1:在DCNN网络中输入原始基本镜像数据集,得到基本镜像的特征;
步骤2:训练SA,通过阈值法得到二进制哈希码;
步骤3:依据二进制哈希码获取属性相近的基本镜像数据集;
步骤4:语义分析属性相近基本镜像数据集的标签,得到标签近似权值;
步骤5:按照基本镜像对的语义类似程度,更改SA参数;
步骤6:求解汉明距离,获取基本镜像的类似程度;
步骤7:依据基本镜像的类似程度构建哈希图。
2.2 云计算虚拟机迁移模型
2.2.1 模型架构
云计算虚拟机迁移模型的架构如图2所示。
图2 云计算虚拟机迁移模型架构
根据图2可知,在基于深度哈希算法的云计算虚拟机迁移模型中令各数据中心均存在一个MA,其作用是通过虚拟机迁移服务实现不同数据中心的迁移。依据各数据中心中的MA实现云计算虚拟机迁移过程中的信息交互[10],以及共享虚拟机镜像过程中的信息交互。同时,操作者通过下载与利用共享存储池中的基本镜像,可以完成云计算虚拟机的迁移。
2.2.2 存储单元
利用哈希图存储虚拟机的基本镜像,云计算虚拟机的迁移请求叫作一次事件,在构建新的虚拟机情况下,宿主机会传输请求至MA,由存储单元完成存储功能。在基本镜像发送至共享存储池时,该镜像仅具备只读功能。在存储单元中不仅存储基本镜像副本及其散列值,还存储由深度哈希算法获取的彼此间类似程度。除MA以外的其余单元均不具备传递虚拟机镜像功能。存储单元的操作步骤如下:
步骤1:生成一次事件,即构建一个新的虚拟机;
步骤2:观察共享存储池内有无与该事件对应的基本镜像,如果有与该事件对应的基本镜像,那么执行步骤3,反之,安装基本镜像,同时传递请求至MA,并传输至共享存储池内,设置公开条件;
步骤3:主机传递请求至MA,利用MA求解步骤2内基本镜像的散列值,存储于本地数据中心;
步骤4:将上述事件传递至剩余数据中心的MA,实际上是将各基本镜像间的类似程度传递出去;
步骤5:利用深度哈希算法构建哈希图;
步骤6:该事件在哈希图内达成一致,在固定时间中,通过每个MA优化本地哈希图。
2.2.3 迁移请求阶段
迁移单元的作用是传递基本镜像,实现信息交互。发送虚拟机迁移请求时,利用MA决定需要迁移的镜像数据,其步骤为:
步骤1:源主机接收虚拟机迁移请求时,传递请求至本地MA,MA搜索整个哈希图文件,对比分析发送请求的迁移虚拟机和目标数据中心的镜像散列值;
步骤2:塑造临时标志位存储发送请求的迁移虚拟机的镜像散列值,目的是避免存储重复信息,如果目标数据中心存在该镜像散列值,那么将该标志位记作1,如果目标数据中心不存在该镜像散列值,那么将其记作0,将标记结果与该虚拟机的基本镜像和目标数据中心的基本镜像间的类似程度信息传递至源主机;
步骤3:源主机将接收的信息发送至目标主机,目标主机确定信号后,便可展开迁移操作。由源主机向目标主机传递信息的作用确保迁移的镜像相同,原因是每个数据中心的MA间的哈希图副本完全相同,仅有这两个主机的基本镜像类似程度信息相同,才能确保迁移操作的顺利执行。
步骤4:确定执行虚拟机迁移后,通过MA传递存在0与1标记结果的镜像数据块和镜像散列值到目标主机。
2.2.4 迁移过程
云计算虚拟机迁移过程步骤如下:
步骤1:迁移基本镜像;
步骤2:迁移操作者数据,依据快照方法迁移该数据,缩短迁移时间;
步骤3:迁移内存数据,利用预复制方法迁移该数据,迁移前提是结束操作者数据迁移;
步骤4:在迭代副本符合终止阈值的情况下,虚拟机在源站点停止运转,目标站点开始启动。
3 实验分析
仿真中有50个数据中心,各数据中心分别存在2个服务器,分别是虚拟机的宿主机与迁移代理主机。实验中迁移云计算虚拟机间基本镜像的类似程度是(m,n),基本镜像存储结构迁移虚拟机操作系统镜像间的类似程度是m,工作环境镜像间的类似程度是n。
选取云数据中心遗传算法迁移模型(文献[5])与LP&GR算法迁移模型(文献[6])作为本文模型的对比模型,利用三种模型在不同类似程度以及不同负载情况下,分别同时迁移50个虚拟机,对比分析三种模型迁移过程中的总迁移时间与网络流量,不同负载编号及含义如表1所示,对比分析结果如表2所示。
表1 不同负载的详细信息
表2 对比分析结果
根据表2可知,在负载相同时,三种模型的总迁移时间均随着类似程度的提升而逐渐降低,本文模型的下降幅度最大,总迁移时间最低;在类似程度相同时,三种模型的总迁移时间均随着负载的提升而逐渐提升,本文模型的总迁移时间依旧最低。原因是本文模型利用深度哈希算法构建的哈希图具备迅速共享策略,不用反复求解数据,缩短了迁移时间。在负载相同时,三种模型的网络流量均随着类似程度的提升而逐渐下降,在类似程度相同时,三种模型的网络流量均随着负载的提升而逐渐提升,在不同情况下,本文模型的网络流量均最低,说明本文方法的带宽开销最小。实验证明:本文模型在同时迁移多个虚拟机时的总迁移时间最小,网络流量最低即带宽开销最小,具备较优的跨数据中心虚拟机迁移性能。
以基本镜像类似程度是(5%,5%)以及负载编号是Ⅲ为例,原因是这种情况下所需迁移的基本镜像数据量最高,在迁移启动一定时间后,对三种模型的迁移过程展开攻击,测试三种模型延长的迁移时间,分析三种模型抵御攻击的性能,延长的迁移时间测试结果如图3所示。
图3 延长的迁移时间测试结果
根据图3可知,在抵御攻击时,三种模型均存在延长的迁移时间,本文模型延长的迁移时间波动区间为0.80~0.86s,其余两种模型延长的迁移时间波动区间分别为0.83~0.90s、0.84~0.89s。实验证明:本文模型抵御攻击时迁移时间延长的幅度较小,说明本文模型具备较优的抵御攻击性能。
分析三种模型在迁移不同虚拟机数量时的能量消耗与SLA违反率如表3所示。
根据表3可知,随着虚拟机数量的增加,本文模型的平均能量消耗最低;SLA违反率随虚拟机数量增加的变化幅度较小,其余两种模型的SLA违反率变化幅度较大。实验证明:本文模型的能量消耗最低,其SLA违反率最低且较为平稳,有效提升QoS服务质量要求。
表3 能量消耗与SLA违反率
4 结论
针对云计算平台数据中心的能量消耗高与QoS服务质量低的问题,研究基于深度哈希算法的云计算虚拟机迁移模型,缩短虚拟机迁移时间,提升迁移过程的抵御攻击能力。本文模型不仅适用于迁移单个虚拟机,还适用于跨数据中心虚拟机迁移,确保数据传输的安全性,在后续研究中将其广泛应用于云计算的各种领域中。