自主计算研究了系统如何在没有人类操作者的干预下,自行实现(用户)指定的 "控制"结果。自主计算的基本原理受到闭环和开环系统控制理论的巨大影响。在实践中,复杂的系统可能表现出一些并发的和相互依赖的控制回路。尽管对管理计算机资源的自主模型进行了研究,从单个资源(如网络服务器)到资源组合(如数据中心内的多个资源),但对整合人工智能(AI)和机器学习(ML)以提高资源的自主性和规模性能的研究仍然是一个基本挑战。整合AI/ML以实现系统的这种自主性和自我管理,可以在不同的粒度水平上实现,从完全自动化到人在回路中。在这篇文章中,云计算、人工智能/ML和量子计算领域的领先学者、研究人员、从业人员、工程师和科学家共同讨论了这些领域的当前研究和潜在的未来方向。此外,还讨论了在下一代计算中利用AI和ML进行新兴计算模式的挑战和机遇,包括云、雾、边缘、无服务器和量子计算环境。
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循环
AI和ML可以用来支持和发展基于收集的系统运行数据的自主行为。例如,ML技术可用于发现工作负载的模式,这些模式可用于优化资源管理[14]。此外,为了减轻模型的不确定性,基于ML的动态系统识别方法,如递归神经网络,可以由自主管理人自适应地调用,以实现自我学习。因此,管理系统的黑盒和灰盒模型可以在概念漂移过程中产生,并随后进行验证,以检查它们的合理性,甚至,检测系统运行的关键性改变[15]。此外,除了使用控制理论的技术外,人工智能可以被用于自主系统的分析和计划阶段,这些阶段通常被安排为监测-分析-计划和执行(MAPE)周期[16]。正是反馈控制与使用ML的数据驱动模型构建的结合,为支持自主性自我管理提供了关键优势。
在自主计算解决方案的显著类型中:基于反馈的控制是一种常见的解决方案。使用自组织系统,如粒子群优化、细胞自动机和遗传算法,是其他的解决方案。在第一类解决方案中,设计能够跟踪系统性能和改变控制参数的闭环系统的系统技术由自主计算提供[17]。有大量的控制理论文献和设计工具被用于这些技术中。谈到第二类解决方案,现在正在采用各种新开发的对等方法来创建大规模的自我管理网络[18]。
自主计算已经被整合到云、雾、边缘、无服务器和量子计算等计算范式中,使用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技术,自适应计算正在被一些行业巨头研究和应用。
基于人工智能的自主计算的主要优势是降低总拥有成本[29]。因此,维护支出将大大减少。维护系统所需的人员数量也会减少。由人工智能驱动的自动化IT系统将节省部署和维护成本、时间,并提升IT系统的稳定性。根据高阶优势,公司将能够利用IT系统更好地管理他们的业务,这些系统可以根据业务战略采用和执行指令,并可以根据周围环境的变化做出改变。服务器整合是使用基于人工智能的自主计算的另一个好处,因为它减少了维护巨大服务器群所需的成本和人力[30]。使用人工智能的自主计算,计算机系统的管理应该变得更容易。因此,计算系统将得到显著改善。另一个应用的例子是服务器负载分配,这可以通过在几个服务器上分配工作来完成[31]。此外,成本效益和可持续的电力供应政策可以通过持续监测电力供应来完成。
作为人工智能的结果,自主计算发生了以下变化。
成本效益高:使用计算机系统而不是现场数据中心有其优势。尽管初始成本很高,但组织可能很容易通过云端的月费获得人工智能技术。使用人工智能的系统可以在不涉及人类的情况下对数据进行分析。
自主性:通过使用人工智能云计算,企业可能会变得更有效率、更有战略性、更有洞察力。人工智能有可能通过自动完成繁琐和重复的任务,以及在不使用操作员互动的情况下进行数据分析来提高生产力。
数据组织:通过将人工智能技术与谷歌云流分析相结合,可以实现实时的个性化、异常检测和管理场景预测。
表1 我们的调查与其他调查文章的比较。×:=方法支持该属性。
缩略语:1:前景模型,2:人工智能,3:云计算,4:雾计算,5:边缘计算,6:无服务器计算,7:量子计算,8:可解释的人工智能(XAI),9:人工智能集成的下一代计算的风险和好处,10:炒作周期,和11:智能边缘。
随着计算领域的不断扩展,需要有新的有远见的工作来回顾、升级和巩固当前的证据,并讨论计算领域的潜在趋势和未来前景。Varghese和Buyya[32]介绍了关于下一代云计算的创新调查,其中没有考虑人工智能/ML。Abdulkareem等人[33]只介绍了关于雾计算的人工智能的评论。Massimo等人[34]探讨了基于人工智能的边缘计算的文献。Gill等人[19]提出了一个关于云计算的人工智能的评论。来自Kumar el al. [35]和Li等人[36]的调查强调了人工智能在量子计算中的潜在作用。Hassan等人[37]描述了人工智能对无服务器计算的适用性。
通过将人工智能/ML与云、雾、边缘、无服务器和量子计算结合起来,我们创造了第一个同类的评论。在以前的调查的基础上,这项新的研究给出了一个新的富有想象力的方法来评估和识别当前的研究挑战。表1根据不同的标准,将我们的评论与现有的调查进行了比较。
本文利用不断扩大的物联网(IoT)、边缘计算和计算连续体等领域作为人工智能驱动的适应性应用的典范。利用这些技术的应用有了巨大的增长,如智能农业、环境监测、工业数字双胞胎、智能城市、可再生能源发电/储存管理等。尽管如此,我们的讨论也可以扩展到其他领域。
本文其余部分的组织结构如图2所示。第2节提出了一个概念性的模型。第3节是介绍愿景,并讨论人工智能在云、雾、边缘、无服务器和量子计算方面的各种新兴趋势。第4节讨论了与嵌入式智能的自主计算有关的新研究发展。第5节讨论了可解释人工智能(XAI)在下一代计算中的应用。第6节介绍了利用AI/ML算法的自主计算方法的潜在风险。第7节给出了自主计算的炒作周期,并强调了未来的方向。第8节对本文进行了总结和归纳。