← 最新论文
💻 计算机科学

Intelligent Runtime Adaptation of Cloud-Native Microservices through Design-Principle-Aware Resource Management

本文提出了 AMOF,一种用于 Kubernetes 的基于学习的混合运行时控制器,它将架构设计原则集成到资源管理中,以主动预测性能退化,并在管理延迟权衡的同时,在资源效率方面显著超越标准自动扩缩容。

原作者: Syed Fakhar Abbas, Musharif Ahmed, Nabil Almashfi, Asim Bakhshi, Sajjad Aamir, Mamoona Humayun, Maram Fahaad Almufareh

发布于 2026-10-13
📖 1 分钟阅读☕ 轻松阅读

原作者: Syed Fakhar Abbas, Musharif Ahmed, Nabil Almashfi, Asim Bakhshi, Sajjad Aamir, Mamoona Humayun, Maram Fahaad Almufareh

原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 ✨ 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

现代软件往往更像是一个由无数微小、专业化店铺组成的庞大城市,而非单一的巨大工厂。在这种被称为“微服务”的模型中,复杂的应用程序被分解为相互通信以完成工作的独立小型程序。这些程序运行在云端——一个庞大的远程计算机网络,可以根据需求即时扩张或收缩。当客户突然涌入时,系统会自动增加这些程序的副本以应对负载;当高峰结束时,则移除它们以节省成本。这种自动调节机制是现代数字生活的支柱,使得从在线商店到银行应用等各类服务能够在高峰时期保持在线。然而,目前这些系统自我管理的方式主要是被动响应式的。它们通常要等到某个程序开始变慢或内存耗尽时才会做出反应,这就像是一个店主在排队人数已经过长后才去开启第二个收银台一样。这种延迟会导致用户体验迟钝,或者造成不必要的计算资源浪费。研究人员现在正在探究,这些系统是否可以变得更聪明,利用设计软件时所使用的规则来辅助管理运行中的软件。

来自巴基斯坦、沙特阿拉伯和英国的大学研究团队开发并测试了一套旨在解决这一问题的全新系统。他们创建了一个名为 AMOF 的框架,它充当了这些云端软件店铺的智能管理者。AMOF 不仅仅观察程序使用了多少计算资源,还会监测软件架构的“社会性”规则:程序之间联系的紧密程度、它们处理内部工作的效率,以及它们角色的规模大小。研究人员希望通过观察这些设计规则,能够帮助系统在问题发生前进行预测,并比现有方法更高效地进行调整。他们在两个截然不同的现实世界软件应用上测试了该系统,一个代表复杂的在线商店,另一个代表较简单的购物网站,并让它们承受正常、沉重和极端流量负荷,以观察其表现。

结果显示,这个新系统确实能够预见问题。通过分析软件程序之间的消息流,该系统的预测器能够在实际减速发生前 30 秒对其进行预报,且具有极高的准确度。这种预警机制使得系统能够在软件仍运行顺畅时采取行动,而不是在危机爆发时手忙脚乱地进行修复。与目前行业内使用的标准自动扩缩容工具相比,新系统的效率显著提高。它减少了高达 52% 的计算处理能力需求,并将内存使用量降低了近 49%。这意味着在处理同等工作量时,该系统可以使用更少的硬件运行,从而可能为组织节省大量的云端账单费用。

然而,这种高效是以特定的权衡(trade-off)为代价的。虽然该系统节省了资源,但在面对最极端的流量激增时,它并不总能保持与标准工具一样快的响应速度。在测试中,新系统有时会导致请求完成所需的时间略有增加,特别是在负载处于绝对峰值时。研究人员发现,这是内置于系统逻辑中的一种刻意选择:它优先考虑节省资源,而非在系统承受最大压力时维持绝对的最快速度。在其中一个测试应用中,标准工具通过极其激进地增加额外容量,使响应时间保持得非常快,但代价是消耗了远超必要的计算资源。而新系统选择了使用更少的功率,接受了一个微小且可控的延迟,以避免资源浪费。

这项研究还揭示了关于软件本质的一些令人惊讶的发现。研究人员发现,他们可以通过改变系统路由流量的方式,轻松调整程序处理内部工作的能力(即“内聚性”概念);然而,他们发现无法在系统运行时轻易改变程序之间相互连接的紧密程度(即“耦合性”概念)。程序之间的连接深深植根于软件设计之中,难以在运行时进行更改。这表明,虽然软件架构的某些方面可以进行动态管理,但其他方面则是受限于原始蓝图的固定属性。该系统证明,通过观察程序间的数据流,它可以做出更明智的增减容量决策,但也凸显了在不重写软件本身的情况下,哪些部分是可以改变的,哪些是无法改变的。

最终,这项工作表明,将软件架构视为一套活生生的规则进行处理,可以实现对云资源的更优管理。该系统并非取代标准工具,而是为那些“节省成本和资源比压榨出最后一点点速度更重要”的情境提供了一种不同的方案。它表明,通过理解软件的结构而非仅仅关注其性能指标,我们可以构建出对自身健康状况更有感知力、且在利用云端庞大资源方面更高效的系统。研究人员已将其代码和数据公开供他人验证,这表明将架构洞察力与自动化控制相结合的方法,是下一代云应用一条切实可行的发展路径。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →