云计算下的自适应资源配置方法研究
2023-11-20李子乾
韩 维,李子乾,张 月
(国家电网有限公司客户服务中心,天津)
引言
随着信息技术的快速发展,国家电网服务中心面临着日益复杂的业务要求和运维挑战。云计算和虚拟化等技术的大规模应用,为电网系统提供了更高效灵活的解决方案。然而,随之而来的是资源配置的复杂性和挑战性。为了提高运维管理的效率和灵活性,数字化运维管理成为中国国家电网发展的关键方向之一。
近年来,云计算技术[1]在为信息系统提供易于扩展的计算资源方面正快速兴起。云的关键优势在于可伸缩性和弹性,能快速动态地满足用户和系统需求。然而,云用户需要面对复杂的资源配置问题,过度供应和供应不足都可能导致成本和性能问题。此外,定制解决方案优化应用程序性能十分困难,因为涉及多个需求。数据爆炸使得处理数据也变得复杂,NoSQL等技术应运而生,但云系统的健壮性和可靠性仍然是一个重要问题,需要有效的异常检测方法来确保系统稳定性。
针对上述问题,本研究基于云计算环境下的系统运行状态,提出了一种可靠的性能感知云弹性框架(PACE)进行自适应资源配置。该框架围绕三个主要服务进行组织:
(1) 基于LSTM的状态检测服务,以实现可靠的决策制定。
(2) 基于K-means 的自适应资源配置服务,以实现有效和高效的工作负载执行。
(3) 基于神经遗传算法的系统优化服务,以识别基于用户需求最大化应用程序性能的最佳配置。
本研究将为国家电网运维管理的数字化转型提供重要的理论指导和实践参考,为国家电网建设智能运维体系,提升业务响应能力,实现电网的高效、安全运行奠定基础。
1 PACE 框架
本节介绍PACE 框架的运行框架,并分别阐述了PACE 的三项主要服务,包括状态检测、资源配置和系统优化。
1.1 PACE 的拓扑结构
PACE 框架支持自适应技术[2],用于在云环境中提供可靠的资源。本研究主要关注部署在云中的数据库系统,同时执行最先进的工作负载以模拟不同的实际应用程序场景。图1 展示了PACE 框架支持的环境及框架内部数据流。云环境的关键实体包括用户、云应用程序、PACE 框架以及底层基础设施(数据中心和主机)。其中,数据中心是云系统的核心,多个服务器和通信设备位于其中。主机代表数据中心的物理机器及其可用于虚拟化的计算单元,包括CPU、存储和带宽等。
图1 PACE 框架支持的环境及框架内部数据流
PACE 框架由以下三个主要服务组成:
(1) 状态检测服务根据实时资源使用情况和应用指标监控,自动检测系统状态。
(2) 资源配置服务根据监控的指标自动提供系统资源。
(3) 系统优化服务可以根据用户需求对受限资源进行优化。
PACE 事件流过程:①PACE 监视目标应用程序以提取各种指标,包括CPU 资源、内存和磁盘使用情况等。②状态检测服务确保PACE 收集在正常应用程序行为下提取的数据。③PACE 管理器提取所需的数据集,以支持拟议的资源配置和系统优化服务的数据驱动技术。④管理员将数据集和配置设置注入到资源配置服务中,开启资源发放的自动伸缩机制。⑤管理员将数据集和配置设置注入到系统优化服务中,该服务可以根据用户需求进行受限的系统优化。
1.2 状态检测
自编码器[3]是一种无监督学习的范例,它能够以尽可能少的失真重构输入特征。LSTM自动编码器[4]结合了自编码器提取最具代表性信息的能力和LSTM处理具有远程依赖关系的顺序数据的优势。该模块利用正常数据训练LSTM自编码器,学习重构正常单变量时间序列数据,而对异常时间序列产生较高的重构误差。因此,重建误差分数来判断未来的数据点是正常或异常。图2 显示了LSTM自动编码器的体系结构。
图2 LSTM 自动编码器的体系结构
状态检测服务分别使用LSTM层作为编码器和解码器。编码器采用
式中:xi和x^i分别为实际观测值和重建观测值。用重建误差分数来检测未来的异常值。如果重建误差低于用户阈值,则将新的观测值分类为状态正常,如果低于用户阈值,则将其分类为状态异常。
1.3 资源配置
资源配置服务是一个混合自动扩展器,它使用基于阈值的规则来支持响应式自动扩展,同时它还引入了基于机器学习的主动方法来根据未来的工作负载需求调整系统资源[5]。基于阈值的规则已用于根据内存使用百分比指标自动扩展容器化应用程序,如果内存使用率超过预定上限阈值(称为UT),则会根据称为Sv 的缩放参数向容器分配额外的内存。如果内存使用率低于预定下限阈值(称为LT),则该服务将根据Sv 参数减少分配的内存量。
尽管通过简化的基于阈值的规则可以处理各种资源使用度量,但还需要额外的技术来确保虚拟资源的可用性。本研究提出了一种基于未来工作负载需求的混合机器学习方法来提供云资源。更详细地说,历史数据用于训练K-means 聚类算法,根据CPU 利用率将时间序列划分为高、中、低需求状态集群。然后,测量每个集群的平均序列,并分别作为高、中、低需求组的代表序列。
因此,将部署和监视目标应用程序,以收集资源使用指标。基于时间窗长度参数Wl 将预测序列分割成更小的序列,然后计算每个片段与每个聚类的三个代表性序列之间的距离。因此,每个片段从最接近的代表性序列继承标签。最后,资源配置模块根据每个段的标签和预算限制参数Bl 创建缩放计划,自动调整分配的资源。
1.4 系统优化
系统优化服务支持基于云的系统的受限性能优化。该服务使用描述跨不同工作负载任务的应用程序行为的数据记录[6]。这些记录以数据集的形式被组织起来,其中包含描述资源配置、配置类型、应用程序配置等。在虚拟化环境中运行所有可能的组合时,由于时间和成本的限制,每次优化方法都需要评估推荐的配置。因此,系统优化模块使用遗传算法来确定产生最高应用程序性能的配置,并利用人工神经网络模型对优化过程中每个个体的适应度进行评估。
系统优化模块引入了一个容器化的环境,由一个源系统和一个克隆系统组成,允许快速部署应用程序。克隆系统被部署为源系统的副本,以避免系统开销。图3 展示了系统优化操作的事件流。
图3 系统优化操作事件流
系统优化操作事件流中:
①源系统为源管理器提供各种配置。
②源管理器将配置文件注入到协调器中,以便用于约束优化过程。
③协调器访问记录以插入、更新和收集数据,用于建模和优化任务。
④协调器对记录应用预处理和特征选择技术来创建输入数据集。
⑤协调器启动基于混合神经遗传方法的约束优化过程。
⑥协调器将推荐的配置注入到克隆系统中。
⑦克隆系统返回实验记录,协调器相应地更新记录。
⑧协调器根据决策制定过程将推荐的配置注入源管理器。
⑨源管理器将推荐的配置传递给PACE 管理器,后者决定相应地扩展和调优源系统。
2 应用分析
本应用重点聚焦国家电网运维管理中资源配置问题,为数字化运维体系的构建提供了理论及应用支撑。面对多样化的业务场景(如APP 登录、交电费等),当用户访问量较大时,这对系统的负载均衡和资源配置提出了较高的要求。面对新的场景需求,给定业务场景需求见表1。
表1 给定业务场景需求
由业务部门(省公司和网上国网运营中心)从业务视角提出业务活动场景需求,发给信息运维中心。信息运维中心人员依据运维经验,分别对微服务和云平台资源设定初步的系统运行需求,基于这些需求设置系统负载状态下各参数的基本阈值,见表2。
表2 系统负载状态下各参数的基本阈值
将国家电网运维系统与本研究提出的自适应资源配置框架相结合,面对多种形式的负载参数,系统可以做到实时的检测系统运行状态,并不断的收集系统的运行数据。根据收集到的运行数据,利用机器学习算法实现运行状态的聚类,并实现了资源的自动调整分配。最后通过遗传算法的特征空间不断地优化系统资源分配。以云平台资源分配为例,Oracle 数据库各参数配置指标不断地优化迭代,优化后的参数指标,见表3。
表3 优化后的参数指标
通过应用算例得出结论,结合本研究提出的自适应资源配置框架可以有效地实现由系统资源到运行状态资源的映射,通过动态的资源分配和多种优化策略,可以实现资源的最大化分配,系统性能得到稳固提升。
结束语
为了应对云环境下资源分配的成本高、可靠性和性能低的挑战,本研究基于云计算环境下的系统运行状态,提出了一种可靠的自适应资源配置框架(PACE)。该框架围绕状态检测、资源配置和系统优化三项关键服务,可以有效的针对云环境下复杂的系统状态进行分析,并基于工作负载需求进行动态资源分配。最后,通过识别系统和应用的程序配置,利用多种优化策略使得系统负载性能最大化。
本研究为国家电网运维管理提供了具有实际应用价值的理论支持,有助于构建适应业务要求的数字化运维体系,推进国网跨单位运维协作的高效性,提升国家电网系统的整体运维能力。