Genetic Programming for Self-Adaptive Auto-Scaling of Microservices
本文提出了 AutoSLO,这是一个利用遗传编程动态演进微服务扩展逻辑的自适应性框架,能够有效平衡资源效率与服务等级目标违规的主动预防。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象你经营着一家繁忙的餐厅。你拥有一个包含多个不同工位的厨房:烧烤区、沙拉吧、甜点柜台和收银台。你的目标是在不雇佣过多厨师(这会浪费资金)的前提下,快速为每位顾客提供服务(以免他们生气)。
这正是论文《用于微服务自适应性自动扩展的遗传编程》试图解决的问题,只不过针对的是计算机系统而非餐厅。
以下是作者构建的系统AutoSLO的故事,用通俗易懂的方式解释。
问题:“金发姑娘”困境
现代计算机系统就像那家餐厅一样,由许多称为微服务的小型独立部分组成。当大量用户访问网站(如在线商店或聊天机器人)时,这些部分会不堪重负。
- 厨师太少(资源不足): 顾客等待时间过长,订单丢失,你向顾客做出的承诺——“服务等级目标”(SLO)——被打破。
- 厨师太多(资源过剩): 你正在为闲置的工位和空闲的厨师付费。这是巨大的资金浪费。
大多数现有系统(如 Kubernetes 中的标准"HPA")表现得像一位神经质的经理。它们只在烧烤区起火或队伍排到门外后才做出反应。它们往往会因恐慌而雇佣过多的厨师以求安全,从而浪费资金。
解决方案:AutoSLO(“智能厨师”系统)
作者 Jia Li、Mehrdad Sabetzadeh 和 Shiva Nejati 创建了一个名为AutoSLO的系统。AutoSLO 不仅仅对当前时刻做出反应,而是试图学习随时间推移管理厨房的最佳方式。
以下是其逐步工作原理:
1. 寻找“瓶颈”(交通堵塞)
在一个复杂的厨房里,如果只有烧烤区是拖慢所有人的唯一原因,那么在沙拉吧增加更多厨师也无济于事。
- AutoSLO 的诀窍: 在开始之前,它会识别导致 slowdown 的具体“瓶颈”工位。它忽略其他部分,只将精力集中在修复这些关键点上。
2. “水晶球”(代理模型)
在真实、活跃的餐厅中测试新的人员配置策略是有风险的。如果你尝试了糟糕的策略,顾客会生气。
- AutoSLO 的诀窍: 它构建了一个“水晶球”(称为代理模型)。这是一个基于过去数据训练的智能模拟器。在 AutoSLO 将新想法应用于真实系统之前,它会询问水晶球:“如果我们尝试这个人员配置计划,等待时间会发生什么变化?”这使其能够在不惹恼真实顾客的情况下安全地测试想法。
3. “进化厨师”(遗传编程)
这是神奇的部分。AutoSLO 不使用人类经理猜测最佳厨师数量,而是使用遗传编程(GP)。将其想象为数字进化。
- 过程:
- 诞生: AutoSLO 创建 50 个随机的“食谱”(数学公式),用于根据当前流量决定雇佣多少厨师。
- 测试: 它请求水晶球模拟这些食谱。
- 适者生存: 它保留效果最好的食谱(服务快、成本低),并淘汰糟糕的食谱。
- 繁殖: 它将好的食谱混合在一起,创造出更优秀的“子代”食谱。
- 重复: 它反复进行此过程,直到找到完美的公式。
一旦找到优秀的公式,它不会只使用一次。它会学习它。下次流量发生变化时,它会使用同一学习到的公式进行即时调整,而不是从头开始。
结果:省钱而不流失顾客
作者在两个截然不同的“餐厅”上测试了 AutoSLO:
- 在线购物网站: 一个 CPU 密集型系统(大量计算)。
- 聊天机器人: 一个 GPU 密集型系统(AI 需要大量繁重工作)。
他们将 AutoSLO 与标准的“神经质经理”(HPA)和“随机猜测者”(随机搜索)进行了比较。
调查结果令人印象深刻:
- 巨额节省: 对于购物网站,AutoSLO 使用的计算机资源(厨师)比标准系统少约50%;对于聊天机器人,则少了46%。
- 明智的权衡: 标准系统从未违反规则(SLO),因为它雇佣了太多厨师。AutoSLO 允许出现非常短暂、微小的规则轻微违反时刻(例如 10 秒的等待),但它几乎立即修复了这些问题。
- 结论: 通过接受这些微小且短暂的挫折,AutoSLO 节省了巨额浪费的资源。它证明了你不需要 100% 的时间都完美无缺才能高效;你只需要足够聪明,能够快速解决问题。
nutshell(一句话总结)
AutoSLO 就像计算机服务器的自动驾驶汽车。它不像看到行人就盲目踩刹车(反应式扩展)那样,而是学习道路,预测交通流向,并平滑调整速度以节省燃油(资金),同时仍能准时将你送达目的地。它利用“适者生存”算法不断改善自身的驾驶规则。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。