自主计算研究了系统如何在没有人类操作者的干预下,自行实现(用户)指定的 "控制"结果。自主计算的基本原理受到闭环和开环系统控制理论的巨大影响。在实践中,复杂的系统可能表现出一些并发的和相互依赖的控制回路。尽管对管理计算机资源的自主模型进行了研究,从单个资源(如网络服务器)到资源组合(如数据中心内的多个资源),但对整合人工智能(AI)和机器学习(ML)以提高资源的自主性和规模性能的研究仍然是一个基本挑战。整合AI/ML以实现系统的这种自主性和自我管理,可以在不同的粒度水平上实现,从完全自动化到人在回路中。在这篇文章中,云计算、人工智能/ML和量子计算领域的领先学者、研究人员、从业人员、工程师和科学家共同讨论了这些领域的当前研究和潜在的未来方向。此外,还讨论了在下一代计算中利用AI和ML进行新兴计算模式的挑战和机遇,包括云、雾、边缘、无服务器和量子计算环境。
https://arxiv.org/abs/2203.04159
1. 简介
IBM公司的自主计算倡议(ACI)是最早的行业性倡议之一,用于设计需要有限的人际互动来实现性能目标的计算机系统[1]。IBM的Tivoli系统部门最初专注于使用自主计算原则对DB2数据库系统进行性能调整。这一举措在很大程度上受到了人类神经系统和人类认知的运作和协调的启发--即自主神经系统对刺激的行动和反应与个体的意识输入无关;自主计算环境以高水平的人工智能(AI)运作,同时对用户来说是不可见的[2]。此外,人类的神经系统坚持预先定义/进化的 "极限"和规范,并根据从身体本身或环境中感受到或学到的冲动采取行动,同时无缝地实现多种结果(例如,内部温度变化、呼吸频率波动和腺体分泌激素作为对刺激的反应)。就人体而言,自主性计算环境有望根据其收集的、感应到的或学到的数据进行工作,而无需个人直接控制用于管理系统的功能[3]。
自主计算--也被称为自适应系统--是研究系统如何自行实现理想行为的一个研究领域[4]。这些系统通常被称为“self-*”系统,其中“*”代表行为类型[5],如:自我配置、自我优化、自我保护和自我修复[6]。
自主系统适应环境变化的能力被称为“自我配置”[7]。系统根据监测系统产生的错误信息/警报,自动升级缺失或过时的组件[8]。“自我优化”的自主性系统是指可以通过成功完成提交给它的计算工作来提高自身的性能,减少资源过载和利用不足[9]。“自我保护”是指一个自主性系统对潜在的网络攻击和入侵进行自我保护的能力。系统还应该检测和防止对管理整个系统的自主性协调者的有害攻击[10]。“自我修复”是一个系统自己发现、评估和恢复错误的能力,而不需要人为干预[2]。通过减少或消除错误对执行的影响,这种self-*特性通过容错提高性能[11]。
最终的愿景是,无论是自我管理的系统还是自我修复的系统都不需要手动配置或更新[12]。在更广泛的意义上,自我管理的系统应该能够控制所有上述的行为[13]。
不同的实用系统实现这些结果的精细程度和成功程度各不相同。另外,人类的干预和控制水平也会有所不同。作为IBM自主计算范式的一部分,自主管理者(AM)是一个智能实体,通过管理接口(传感器和效应器)与环境互动,并根据从传感器收到的信息和在低级知识库中建立的规则执行行动。AM是由管理员使用高层次的警告和行为来设置的。图1说明了IBM的自主方法的运行情况[1]。初始监控器获取传感器数据,用于定期检查服务质量(QoS)指标,同时与外部硬件接触,并将这些数据发送到下一个组件进行进一步评估。在分析和计划模块中,对从监测模块收集的数据进行分析,并针对系统的警告制定适当的行动计划。利用数据分析的结果,这个自主系统对产生的警告采取适当的行动。经过彻底的审查,包括验证和确认,以提供适应性的保证,计划由执行者付诸行动,其主要目标是确保执行中的应用程序的QoS得到维持。执行者监控知识库中的变化,并根据分析结果采取行动。
图1:自主计算的MAPE-K循环
1.1. 用于下一代计算的AI/ML:愿景
AI和ML可以用来支持和发展基于收集的系统运行数据的自主行为。例如,ML技术可用于发现工作负载的模式,这些模式可用于优化资源管理[14]。此外,为了减轻模型的不确定性,基于ML的动态系统识别方法,如递归神经网络,可以由自主管理人自适应地调用,以实现自我学习。因此,管理系统的黑盒和灰盒模型可以在概念漂移过程中产生,并随后进行验证,以检查它们的合理性,甚至,检测系统运行的关键性改变[15]。此外,除了使用控制理论的技术外,人工智能可以被用于自主系统的分析和计划阶段,这些阶段通常被安排为监测-分析-计划和执行(MAPE)周期[16]。正是反馈控制与使用ML的数据驱动模型构建的结合,为支持自主性自我管理提供了关键优势。
在自主计算解决方案的显著类型中:基于反馈的控制是一种常见的解决方案。使用自组织系统,如粒子群优化、细胞自动机和遗传算法,是其他的解决方案。在第一类解决方案中,设计能够跟踪系统性能和改变控制参数的闭环系统的系统技术由自主计算提供[17]。有大量的控制理论文献和设计工具被用于这些技术中。谈到第二类解决方案,现在正在采用各种新开发的对等方法来创建大规模的自我管理网络[18]。
1.2. 动机和目的
自主计算已经被整合到云、雾、边缘、无服务器和量子计算等计算范式中,使用AI/ML技术[19]。当一个系统有大量的潜在配置选项时,自主计算技术的使用就显得尤为重要。配置选项可以变化的潜在参数空间越大,在这个可能的选项空间中进行优化搜索的潜力就越大。自主计算技术在引擎盖下是最有用的,即作为一个可以从应用程序直接调用的程序化接口[20]。
有许多应用程序可以管理节点故障、网络设置/更新,以及自己进行性能优化的有限能力,因为大多数点对点网络从根本上是自治的。基于人工智能和ML的自我管理能力在网络服务和数据中心管理软件中越来越普遍,使这些系统能够自动适应不断变化的工作负载[21]。然而,自主功能并不总是包含在调度器和工作流管理器中,因为这类系统经常缺乏监测系统状况和提供实时反馈的能力,使得这些系统难以完全自主[22]。整合利用AI/ML技术的 "调谐"能力可以扩展此类系统的能力。例如,自我管理的计算平台,如Hadoop/MapReduce,提供自我修复和自我组织的能力,使大量的资源得到利用[23]。
基于AI和ML的自主计算将随着我们系统的规模和互连性的增加而变得普遍,使人工管理和适应这种系统变得具有挑战性和昂贵。我们预计基于人工智能和ML的自主计算在未来将成为常态--人类用户仍然能够通过使用明智的集成接口来影响这些系统的行为。最重要的是,随着网络物理系统和数字孪生的出现,质量保证和关键任务的适应将成为强制性的,因为自适应软件将负责物理资产,如加工厂的单元操作。
但自适应系统和AI/ML应该如何结合?根据IBM的说法,一个自适应系统必须满足以下八个使用人工智能和ML技术的计算系统的标准[2, 8, 9, 10, 24, 25, 26, 27]:
- 人工智能驱动的系统可以使用的资源,以及系统的能力和限制,必须由系统知道。
- 随着计算环境的变化,例如,由于概念的漂移,系统必须能够适应并自主地重新配置。
- 一个高效的计算机程序需要一个能够通过基于人工智能和ML的预测来最大化其性能的系统。
- 当一个错误发生时,系统应该能够自我修复或重新引导流程远离问题的根源。
- 为了确保整体系统的安全性和完整性,系统必须能够自动检测、识别和应对多种形式的威胁。
- 随着环境的变化,系统必须能够与其他系统互动并制定通信协议。
尽管系统是透明的,但它必须能够预测对其资源的需求,这可以用人工智能/ML技术进行预测。小型的、甚至不显眼的计算机将能够在更多的链接网络中相互通信,导致 "万物互联(IoE)"的概念,这部分归功于泛在计算和自主计算的出现[28]。最重要的是,人工智能驱动的自适应系统有望在不断变化的环境中和不确定的情况下,以成本效益和可持续的方式满足不断变化的需求,而不是仅仅增加越来越多的资源。因此,结合最新的人工智能和ML技术,自适应计算正在被一些行业巨头研究和应用。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢