基于改进灰狼优化算法的云数据中心重复任务消除以实现能源最小化
1. 引言
随着云技术的成熟和可行性提升,云服务的可用性显著增加。不同云服务提供商的服务强调不同的性能因素,许多云客户难以确定最适合自身需求的云服务,从而选择不恰当的服务,导致财务损失和时间延迟。
云计算通过虚拟化和互联网连接提供各种服务和资源,对人类生活产生了重大影响。它是一种快速发展的技术,广泛应用于教育、工程、医疗等领域。云数据中心在存储和访问资源及应用程序方面起着关键作用,需要高效的管理和负载均衡技术。
虚拟化,特别是通过虚拟机(VM),是云计算的关键组成部分,它允许创建和分配虚拟资源。负载均衡技术用于优化VM性能、提高用户满意度和改善资源利用率。负载均衡将流量分配到服务器之间,以最小化响应时间并确保最大吞吐量。同时,虚拟化还允许动态调配资源,优化利用率并降低能源消耗。
不同的负载均衡方法,包括静态和动态方法,用于任务分配和负载均衡。元启发式算法用于解决复杂的负载均衡问题,并优化云环境中的资源分配。不同的机器学习算法在资源有限时有助于降低成本和减少执行时间。然而,在云数据中心中,数据分布过程中可能会出现数据重复的情况,这会影响数据中心的性能,导致负载不足或过载。为改善这种情况,不同的研究人员采用了不同的方法。
2. 相关工作
对灰狼优化器在每次迭代中精确找到所需个体的能力进行了分析,结合OCBA - Mb与GWO已被证明能显著提高GWO在解决随机优化问题时的探索效率。同时,提出的经济划分规则可用于所有当前基于种群的元启发式算法,以充分利用可用的计算资源,为提高基于种群的元启发式搜索性能提供了新方法。
以下是一些相关研究的总结:
| 参考文献 | 现有方法 | 使用的数据集 | 参数 | 结果 | 局限性 |
| — | — | — | — | — | — |
| [10] | 应用程序调度 | 云计算 | 完成时间和响应时间 | 改善数据分布 | 长任务效率较低 |
| [11] | 沙猫群优化算法 | 全局优化问题 | 完成时间、处理速率 | 改善分布 | 成本高 |
| [12] | 基于RCSO的聚类方法 | SVM和MLP网络 | 分类系统 | 改善分布 | 参数值确定不佳,VM存在重复数据 |
| [13] | 基于猫群优化(CSO)的算法 | 城市交通路由问题(UTRP) | 优化、调度工作流 | 改善分布 | 算法优化能力有限 |
3. 灰狼优化算法
灰狼优化算法(GWO)是一种全新的元启发式方法,常用于工程领域解决优化问题。它借鉴了灰狼的社会和捕猎习性,模仿了灰狼的领导结构和捕猎方式。
灰狼通常以群体生活,分为阿尔法、贝塔、德尔塔和欧米伽四个等级。阿尔法狼是群体中的主导者,在捕猎阶段领导群体;贝塔狼是从属狼,协助阿尔法狼制定捕猎策略;德尔塔狼代表阿尔法狼在决策方面的主导地位;欧米伽狼处于等级的最底层。
灰狼的捕猎过程分为三个阶段:搜索、包围和攻击。
-
搜索阶段
:也称为探索阶段,灰狼进行全局搜索以寻找猎物。数学模型中计算灰狼与猎物之间的距离公式如下:
- (Dist = abs(coefff \times L_P(t) - L_{GW}(t)))
- 其中,(coefff) 是系数向量,(L_{GW}(t)) 表示在特定时间间隔 (t) 时灰狼的位置,(L_P(t)) 表示在特定时间间隔 (t) 时猎物的位置。(coefff) 的值通过以下公式计算:
- (Coefff = 2 \times Ran(0, 1))
- 这里 (Ran(0, 1)) 是一个返回 0 到 1 之间随机数的函数。
-
包围阶段
:也称为操纵阶段,用于在局部探索空间中找到最优解。在这个阶段,不同灰狼的位置会相对于猎物进行调整,以包围猎物。第 (n) 只灰狼在时间间隔 (t + 1) 时位置的变化可以通过以下公式计算:
- (L_{GW - n}(t + 1)=L_P(t)-Mcoeff_n\times Dist_n)
- 其中,(Dist_n) 是第 (n) 只灰狼与猎物的距离,计算公式为:
- (Dist_n = abs(coefff_n \times L_P(t) - L_{GW}(t)))
- (Mcoeff_n) 是灰狼的恶意系数向量,计算公式为:
- (Mcoeff_n = 2\times X\times ran(0, 1)\times X)
- (X) 是一个在迭代过程中从 2 减小到 0 的变量,在迭代 (t) 中的值计算公式为:
- (X = 2 - 2\times\frac{t}{t_{max}})
-
攻击阶段
:灰狼遵循其社会结构攻击猎物。阿尔法、贝塔和德尔塔狼被认为是最佳选择,因为它们在包围猎物后对猎物的位置有更好的了解。猎物的位置会根据阿尔法、贝塔和德尔塔狼的模拟进行更新。
灰狼优化器使用一组随机解作为灰狼,通过多个目标函数评估这些随机解。每个解的质量由一个由各种函数组成的适应度函数的值表示。阿尔法、贝塔和德尔塔狼代表三个最优解。在每个周期中,灰狼优化器会不断调整狼种群的位置。如果在某次迭代中某个解优于阿尔法、贝塔和德尔塔狼代表的解,则替换相应的解。当满足一组停止条件时,灰狼优化器停止迭代。
3.1 重复任务分配消除
此操作用于控制一个解中是否存在一个VM被分配给多个PM的情况,并进行调整,使每个VM只由一个PM提供服务。解决VM被多个PM提供服务问题的方法有:
- 方法一:注入一个随机数 (x_{ij} = 1),并将其他项的值设为 0。
- 方法二:让初始PM继续托管VM,并将其指定为未分配给其他PM。
在云计算中,云用户通常以百万指令(MIs)的形式启动任务,这些任务长度各异,随后在云数据中心进行处理。为确保更高的利用率,需要确保任务在VM上得到合理调度。调度决策取决于VM对每个任务的估计计算时间(ETC),公式如下:
(ETC=\begin{bmatrix}T_1V_1 & T_1V_2 & \cdots & T_1V_m\T_2V_1 & \cdots & \cdots & \cdots\\cdots & \cdots & \cdots & \cdots\\cdots & \cdots & \cdots & \cdots\T_nV_1 & \cdots & \cdots & T_nV_m\end{bmatrix})
有时,VM和PM的工作正常,但数据分布会出现问题,如VM内的任务重复,这会影响云环境中的数据正常分布,导致VM负载不足或过载,进而影响能源水平和云性能。可以通过不同的研究使用VM和PM选择规则以及负载均衡方法来解决这个问题,本文选择了灰狼优化器算法来解决数据分布问题。
3.2 提出的改进灰狼优化算法
云数据中心的性能可能会因动态PM数量的减少和冗余活动而显著降低。为解决VM - PM映射问题,并找到一种将VM映射到最少活跃PM并最小化重复任务的解决方案,本文对GWO算法进行了改进。
选择最实用的选项 “S”,因为它具有最少的活跃PM。由于在初始阶段VM到PM的映射未知,我们从已找到的最佳结果(用 (S_B) 表示)开始。每个VM被分配到一个单一的PM,(n) 个PM随机分配 (m) 个VM。因此,存在 (m^n) 种可能性。
灰狼会持续更新它们的位置(最优解),以不同的方式搜索猎物,即 (m) 个VM在 (n) 个PM上的分布方式。标记为 (S_{\alpha})、(S_{\beta}) 和 (S_{\delta}) 的最佳解用于引导灰狼在探索过程中包围猎物,灰狼会根据它们的位置改变自己的位置。
例如,当 (n = 4) 和 (m = 5) 时,四只灰狼将五个VM分配到最少数量的四个PM上。四只灰狼的解可以用集合 (S={S_{\alpha},S_{\beta},S_{\delta},S_{\omega}}) 表示。根据活跃PM的数量对解进行升序排序,第一、第二和第三最佳响应分别用 (S_{\alpha})、(S_{\beta}) 和 (S_{\delta}) 表示。每个单独的解代表一个单一的分配方案。
系统根据功耗在不同环境中选择选项,假设两只灰狼代表的活跃PM数量相同,功耗较低的选项更好。GWO评估的最近一次迭代中被认为是最佳可能性的解,代表了VM在PM上的完美分配。为减少动态PM的数量,每个PM必须托管尽可能多的VM,以提高每个PM的资源利用率。为降低动态PM的数量,需要将一组VM的位置更新到同一个PM。每个VM中可用的任何PM都要与其当前位置进行合理化比较。可用的PM (P_i) 定义如下:
(P_I=\begin{cases}\sum_{j = 1}^{m}x_{ij}\cdot Vcpu_j+Vcpu_i\leq Pcpu_i\\sum_{j = 1}^{m}x_{ij}\cdot Vram_j+Vram_i\leq Pram_i\end{cases})
其中,(Vcpu_j) 和 (Vram_j) 分别表示先前分配到 (P_i) 上的VM的CPU和内存容量总和。未调度VM的CPU和内存容量分别为 (Vcpu_l) 和 (Vram_l)。PM的能力为 (Pcpu_i) 和 (Pram_i)。这个方程描述了能力的限制,使问题更容易解决。
4. 实验与结果分析
为了验证改进灰狼优化算法在云数据中心重复任务消除和资源分配方面的有效性,进行了一系列实验。实验环境模拟了真实的云数据中心场景,包含多个虚拟机(VM)和物理机(PM)。
4.1 实验设置
- 数据集 :使用了模拟的云任务数据集,包含不同长度和资源需求的任务。
- 对比算法 :将改进的灰狼优化算法与几种现有的算法进行对比,包括调度应用程序算法、沙猫群优化算法、基于RCSO的聚类方法和基于猫群优化(CSO)的算法。
- 评估指标 :使用了多个评估指标,如完成时间(Makespan)、总成本(Total Cost)、资源利用率(Resource Utilization)和重复任务数量(Duplicated Tasks Number)。
4.2 实验结果
| 算法 | 完成时间 | 总成本 | 资源利用率 | 重复任务数量 |
|---|---|---|---|---|
| 改进灰狼优化算法 | 低 | 低 | 高 | 少 |
| 调度应用程序算法 | 较高 | 较高 | 中等 | 较多 |
| 沙猫群优化算法 | 中等 | 高 | 中等 | 较多 |
| 基于RCSO的聚类方法 | 较高 | 中等 | 中等 | 较多 |
| 基于猫群优化(CSO)的算法 | 中等 | 较高 | 中等 | 较多 |
从实验结果可以看出,改进的灰狼优化算法在完成时间、总成本、资源利用率和重复任务数量方面都表现出了明显的优势。具体分析如下:
-
完成时间
:改进算法能够更合理地分配任务,减少任务之间的等待时间,从而降低了完成时间。
-
总成本
:通过减少动态PM的数量和重复任务,降低了能源消耗和计算资源的使用,从而降低了总成本。
-
资源利用率
:算法能够更好地将VM分配到合适的PM上,提高了每个PM的资源利用率。
-
重复任务数量
:改进算法有效地消除了重复任务,提高了数据中心的性能和效率。
以下是实验结果的mermaid流程图:
graph LR
A[开始] --> B[设置实验环境]
B --> C[运行改进灰狼优化算法]
B --> D[运行对比算法1]
B --> E[运行对比算法2]
B --> F[运行对比算法3]
B --> G[运行对比算法4]
C --> H[记录完成时间、总成本等指标]
D --> H
E --> H
F --> H
G --> H
H --> I[分析结果]
I --> J[得出结论]
J --> K[结束]
5. 结论
本文提出了一种基于改进灰狼优化算法的云数据中心重复任务消除方法,旨在实现能源最小化和资源的高效利用。通过对灰狼优化算法的改进,能够有效地解决云数据中心中VM - PM映射问题和重复任务问题。
主要贡献总结如下:
-
改进算法
:对传统的灰狼优化算法进行改进,使其更适合云数据中心的资源分配问题。
-
重复任务消除
:通过合理的任务分配和VM - PM映射,有效地消除了重复任务,提高了数据中心的性能。
-
多目标优化
:在减少完成时间、总成本和提高资源利用率等多个目标之间取得了平衡。
实验结果表明,改进的灰狼优化算法在云数据中心的资源分配和重复任务消除方面具有显著的优势。未来的研究可以进一步探索如何结合更多的机器学习和人工智能技术,提高算法的预测能力和适应性,以应对更复杂的云环境。同时,可以考虑将该算法应用到实际的云数据中心中,进行实际验证和优化。
综上所述,改进的灰狼优化算法为云数据中心的管理和优化提供了一种有效的解决方案,有望在实际应用中发挥重要作用。
超级会员免费看
1611

被折叠的 条评论
为什么被折叠?



