CN112740290A - 多阶段云服务节点错误预测 - Google Patents
多阶段云服务节点错误预测 Download PDFInfo
- Publication number
- CN112740290A CN112740290A CN201880094684.2A CN201880094684A CN112740290A CN 112740290 A CN112740290 A CN 112740290A CN 201880094684 A CN201880094684 A CN 201880094684A CN 112740290 A CN112740290 A CN 112740290A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- spatial
- temporal
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Debugging And Monitoring (AREA)
Abstract
在此描述了用于多阶段云服务节点错误预测的系统和技术。针对云计算平台中的节点设备,可以获得空间度量集合和时间度量集合。可以使用空间机器学习模型和时间机器学习模型来评估节点设备,以创建空间输出和时间输出。可以基于使用排名模型对空间输出和时间输出的评估,来确定一个或多个潜在故障节点。一个或多个潜在故障节点可以是节点设备的子集。可以从一个或多个潜在故障节点标识一个或多个迁移源节点。可以通过最小化假阳性和假阴性节点检测的成本来标识一个或多个迁移源节点。
Description
技术领域
在此描述的实施例通常涉及计算节点故障检测,并且在一些实施例中,更具体地涉及多阶段计算节点错误预测。
背景技术
云服务提供商维护数据存储、计算和网络服务,以供服务提供商组织外部的实体使用。计算基础设施可以包括计算节点(例如,物理计算硬件等)的集群。计算节点可以是管理程序(hypervisor),其管理物理计算硬件在虚拟机(VM)之间的共享。可以在一个或多个存储设备上供应用于VM的数据,一个或多个存储设备被分布在包括存储设备的集合的整个数据存储集群中。联网服务可以包括用于互连虚拟计算设备的虚拟网络基础设施。VM可以在分布在云计算基础设施之间的一个或多个主机计算节点的硬件上运行。利用现有方法,如果托管VM的计算节点遇到错误,则VM可能会遇到不期望的关闭或可能会遇到操作问题(例如,服务丢失、响应时间慢、数据丢失、错误等)。检测和替换遇到错误的计算节点可以允许云服务提供商将VM迁移到不同的计算节点,以减轻服务中断。
附图说明
在不一定按比例绘制的附图中,相同的附图标记在不同的图中可以描述相同的组件。具有不同字母后缀的相似附图标记可以表示相似组件的不同实例。附图通过示例而非限制的方式大体上图示了本文档中讨论的各种实施例。
图1是根据一个实施例的用于多阶段云服务节点错误预测的环境和系统的示例的框图。
图2是根据一个实施例的流程图,其图示了用于多阶段云服务节点错误预测的过程的示例。
图3是根据一个实施例的流程图,其图示了用于训练用于多阶段云服务节点错误预测的长短期记忆模型的过程的示例。
图4是根据一个实施例的流程图,其图示了用于训练用于多阶段云服务节点错误预测的随机森林模型的过程的示例。
图5是根据一个实施例的流程图,其图示了用于多阶段云服务节点错误预测的方法的示例。
图6是图示可以在其上实施一个或多个实施例的机器的示例的框图。
具体实施方式
近年来,许多传统软件系统已经迁移到云计算平台,并且作为在线服务被提供。服务质量很重要,因为系统故障可能会严重影响业务和用户体验。云服务系统通常包含大量计算节点。节点可能会发生故障并且影响服务可用性。本文讨论的系统和技术可以在故障状况出现之前基于节点故障之前的历史数据,来预测云服务系统中的节点的故障倾向性。预测故障节点的能力使得能够将虚拟机分配和迁移到健康节点,从而改进服务可用性。预测云服务系统中的节点故障具有挑战性,因为节点故障可能由各种原因引起,并且通过许多时间和空间信号反映。此外,故障数据高度不平衡。为了解决这些挑战,将包含时间数据的长短期记忆(LSTM)模型与包含空间数据的随机森林模型组合在一起。使用排名模型来嵌入两个模型的中间结果作为特征输入,并且按照节点的故障倾向性对节点进行排名。使用成本敏感函数来标识选择故障节点的最佳阈值。
近年来,在大规模云平台上部署应用和服务已经被软件行业广泛接受。这些云服务系统每天为全球数百万用户提供各种服务,因此,高服务可用性至关重要,因为一个小问题可能会对云服务平台的用户造成严重后果。许多服务提供商已经做出努力来维持高服务可用性。例如,云服务提供商可以尝试达到“五个9”的服务可用性水平,这表示99.999%的服务可用性,每个虚拟机(VM)每月允许最多26秒的停机时间。
尽管已经在服务质量保证上做出了巨大的努力,但是云服务系统可能仍然遇到许多问题并且不能满足用户请求。这些问题通常由云服务系统中的计算节点的故障引起。云服务系统通常包含大量计算节点,这些计算节点提供虚拟机实例用来向用户提供服务的处理、网络和存储资源。例如,在给定的一年中,所有服务器中8%的服务器可能有至少一次硬件事件。节点故障可能导致服务中断时间,并且可靠性问题中的65%以上是由其造成的。
在故障出现之前对云服务系统中节点的故障倾向性的预测可以帮助改进云服务平台的可靠性。机器学习技术用于学习历史故障数据的特性,建立故障预测模型,然后使用该模型来预测节点在未来几天发生故障的可能性。预测故障节点的能力可以使云服务系统能够将VM分配给更健康的节点,从而减少由节点故障引起的VM停机时间的发生和持续时间。此外,如果节点被预测为故障,则云服务系统可以执行主动实时迁移,以将虚拟机从故障节点迁移到健康节点,而无需断开服务。
然而,建立针对云服务系统中的节点故障的准确的预测模型具有挑战性。建立准确的节点故障预测模型可能很困难有三个主要原因。
1)可能存在复杂的故障原因。由于大规模云系统的复杂性,节点故障可能由许多不同的软件或硬件问题引起。这些问题的示例可以包括应用缺陷(bug)、OS崩溃、磁盘故障、服务异常等。没有简单的规则/度量可以以直接的方式预测所有节点故障。
2)可能存在复杂的故障指示信号。节点的故障可能由该节点本地产生的许多时间信号来指示。它们还可能由节点共享的空间属性来反映,在云的不同全局视图中这些节点具有它们之间的显式/隐式依赖。因此,可以分析时间信号和空间属性两者,以更好地捕获早期故障指示信号。
3)可能存在高度不平衡的数据。由于云服务系统在大多数时间具有高服务可用性,因此节点故障数据是高度不平衡的。例如,故障类别与健康类别之间的节点比率可以小于1∶1000(例如,少于0.1%的节点包含故障)。高度不平衡的数据给预测带来了挑战。
本文讨论的系统和技术利用了包含时间数据的长短期记忆(LSTM)模型。还使用了包含空间数据的随机森林模型。排名模型嵌入两个模型的中间结果作为特征输入,并且按照节点的故障倾向性对节点进行排名。成本敏感函数被用于标识用于选择故障节点的最佳阈值。这些系统和技术可以通过分析时间和空间信号两者,并且使用排名和成本最小化来有效地标识倾向于出错的节点进行补救,从而解决上述挑战。该方法优于使用常规分类技术实现的传统节点故障检测方法。
本文讨论的系统和技术可以通过预测云服务系统中的节点故障来改进服务可用性。通过故障预测,可以实现智能的VM分配和迁移。两阶段训练模型分析时间特征和空间特征,并且可以对高度不平衡的数据不太敏感。对召回率和准确率的改进可以优于使用常规分类器构建的传统方法。通过提供对云计算平台中哪些节点可能发生故障的准确预测,可以在更健康的节点上提供工作负载,或者可以将工作负载从不健康节点迁移到健康节点。为了最小化在实际故障之前从节点迁移工作负载的开销(从处理和金钱两者的角度来看),使用排名和成本计算特征,来在数目上标识可以模仿所预期的实际故障率的迁移源(或非分配目标),或以其他方式最小化假阴性和假阳性检测的成本。
图1是根据一个实施例的用于多阶段云服务节点错误预测的环境100和系统120的示例的框图。环境100可以包括云计算平台105。云计算平台105可以向各种外部用户提供(例如,经由因特网、有线网络、无线网络、蜂窝网络等)存储、计算和联网服务。云计算平台105可以包括可以托管虚拟机(VM)115的多个计算节点110。计算节点110和VM可以被通信地耦合(例如,经由有线网络、无线网络、蜂窝网络、共享总线等)到系统120。在一个示例中,系统120可以是多因素节点错误检测引擎。系统120可以包括各种组件,包括度量收集器125、空间机器学习处理器130、时间机器学习处理器135、排名生成器140、节点管理器145和(多个)数据库150。
云计算已经成为经由因特网交付计算即服务的新范例。它提供了许多服务模型,诸如基础架构即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。在云计算平台(例如,云计算平台105等)上部署应用和服务已经被软件组织和开发人员广泛接受。
云计算平台105可以包含大量的物理服务器或节点110。例如,云计算平台105可以包括超过一百万个服务器。节点110被布置成机架和机架的组,并且可以被布置在物理和虚拟集群中。虚拟化是现代云计算中使用的主要技术之一,以提供更好的可伸缩性、可维护性和可靠性。物理节点110可以托管多个VM 115。VM 115可以被备份、伸缩或复制,从而轻松满足用户的需求。当发出VM 115分配请求时,云计算平台105将确定(例如,使用节点管理器155等)托管VM 115的适当节点110。如果节点110发生故障,则被托管在节点110上的所有VM115将发生中断。云计算平台可以支持实时迁移,实时迁移是指在不断开客户端或应用的情况下,在不同节点110之间移动正在运行的VM 115的过程。实时迁移是用于管理云服务的强大工具,因为它使得能够在集群中快速移动工作负载,而且对正在运行的服务影响很小。
对于诸如云计算平台105的大规模软件系统,高服务可用性至关重要。服务可用性是服务可由端用户访问的状态。通常被表达为正常运行时间的百分比,它表示系统或组件在给定时间段内的工作性能水平。因为云计算平台105向全球数亿用户提供服务,所以服务问题可能导致巨大的营收损失和用户不满。因此,在今天的实践中,服务提供商已竭尽全力维持高服务可用性,诸如“五个9”(例如99.999%),这意味着允许每个VM 115每月停机时间小于26秒。
尽管为维持高服务可用性已付出了巨大的努力,但是仍然存在许多由软件或平台故障(例如,软件崩溃、网络中断、配置错误、内存泄漏、硬件故障等)引起的意外系统问题。随着云计算平台105规模的不断扩大,这些问题变得更加严重。
节点110的故障可能是引起云计算平台105中系统不可用的最常见问题之一。如果节点110发生故障,则在节点110上运行的所有VM 115都将关闭,这可能会影响服务可用性并且引起严重后果。
不同的节点110可能在不同的时间发生故障。基于对历史故障数据的分析来预测节点110的故障倾向性可以允许在节点110发生故障之前进行补救。通过将新的VM 115分配给更健康的节点110并且将VM 115从预测的故障节点110迁移到预测的健康节点110,预测节点110故障的能力可以帮助改善服务可用性。实时迁移(在不断开客户端或应用的情况下,在不同节点110之间移动正在运行的VM 115的过程)可以用来将VM 115从预测的故障节点110主动迁移到健康节点110。因此,在倾向于出错的节点110遇到会导致VM 115停机时间的故障之前,可以将它们从服务移除。
可以使用机器学习技术,基于历史故障数据来构建预测模型,并且将其用于预测节点110在不久的将来发生故障的可能性。预测模型按照节点的故障倾向性对所有节点110进行排名,以便服务系统可以将VM 115分配给更健康的节点110。预测模型还标识应当从其迁移出被托管的VM 115的故障节点110的集合。迁移源节点110的选择可以考虑成本和容量约束。
系统120解决了针对大规模云计算平台105设计故障预测模型中的一些技术挑战,例如,诸如复杂的故障原因(例如,导致节点110故障的许多潜在原因(或原因的组合))、复杂的故障指示信号(例如时间(例如,特定于节点的信号)和空间(例如,环境信号))以及高度不平衡的数据(例如,小的故障率导致假阴性)。
可以通过来自节点110的各种软件或硬件源的时间信号来指示单个节点110的故障。时间信号的示例可以是性能计数器、日志、传感器数据和OS事件。时间信号可以被连续地监控并且可以随时间改变。
在大规模云系统中,节点110的故障还可以由空间属性来反映,空间属性由彼此显式/隐式依赖的节点110共享。节点110之间的依赖可以包括:1)基于资源的依赖:两个节点110可能竞争计算资源(例如,路由器);2)基于位置的依赖:两个节点110可以共存于相同的计算区段/域(诸如,相同的机架);3)基于负载平衡的依赖:两个节点110可以在用于负载平衡的相同组中。相互依赖的节点110倾向于受共同的故障诱发原因的影响。例如,如果节点110中的某个部分发生故障,则相同区段中的其他节点110可能在不久的将来发生故障。因此,在相互依赖的节点110之间共享的空间属性也具有预测能力。空间属性的示例可以包括升级域、共享路由器、机架位置、资源家族、负载平衡组、批处理操作组等。
时间数据和空间数据两者被组合,以便更好地捕获早期故障指示信号并且建立准确的预测模型。为了应对该挑战,生成了两个特定的基础学习器以分别合并时间数据和空间数据。来自基础学习器的结果被用于训练排名模型。
度量收集器125可以获得针对云计算平台105中的节点设备110的空间度量集合和时间度量集合。在一个示例中,可以从云计算平台110的相应节点110获得时间度量集合。在一个示例中,节点110包括托管一个或多个VM 115的物理计算设备。在另一个示例中,可以从针对云计算平台105的相应节点110的节点控制器获得空间度量集合。时间度量和空间度量可以被存储在数据库150中。
由于云计算平台105的复杂性,节点110的故障可能由许多不同的软件或硬件问题引起。这些问题的示例包括OS崩溃、应用缺陷、磁盘故障、配置错误、内存泄漏、软件不兼容、过热、服务异常等。简单的基于规则或基于阈值的模型不能定位根本原因并且不能获得足够的预测结果。为了解决该挑战,在云系统中使用了基于机器学习的方法进行节点110故障预测。
空间机器学习处理器130可以使用来自云计算平台105的空间数据的训练集来生成空间机器学习模型。空间数据的训练集可以包括由两个以上相应节点设备110共享的度量。在一个示例中,可以使用随机森林训练来生成空间机器学习模型。空间机器学习处理器130可以使用空间机器学习模型来评估节点设备110以创建空间输出。
时间机器学习处理器135可以使用来自云计算平台105的时间数据的训练集来生成时间机器学习模型。时间数据的训练集可以包括相应节点设备110所独有的度量。在一个示例中,使用长短期记忆训练来生成时间机器学习模型。时间机器学习处理器135可以使用时间机器学习模型来评估节点设备110以创建时间输出。
在大规模云服务平台105中,仅千分之一的节点110可能会出现故障。极端的1比1000的不平衡比率给训练分类模型带来了困难。在被馈送这种不平衡的数据的情况下,朴素分类模型可能会尝试判断所有节点110都是健康的,因为以该方式,它做出错误猜测的可能性最低。一些方法应用数据重平衡技术(诸如,过采样和欠采样技术)来解决该挑战。这种方法可以有助于提高召回率,但同时可能引入大量的假阳性,这可能会大大降低准确率。为了解决该挑战,生成了排名模型以按照节点110的故障倾向性来对其进行排名。与常规分类模型(其目标是找到最佳分隔以区分所有正例和负例)不同,排名模型侧重于优化返回的前r个结果,因此更适合我们的场景。
排名生成器140可以接收来自空间机器学习处理器130和时间机器学习处理器135的输出。排名生成器140可以基于使用排名模型对空间输出和时间输出的评估,来确定一个或多个潜在故障节点。一个或多个潜在故障节点可以是节点设备110的子集。
在一个示例中,排名生成器140可以获得空间机器学习模型的树的空间输出向量和时间机器学习模型的密集层的时间输出向量。空间输出向量和时间输出向量可以被联接以形成用于排名模型的输入向量。可以使用排名模型来生成节点设备110的排名。一个或多个潜在故障节点是经排名的节点设备110的子集。
节点管理器145可以从一个或多个潜在故障节点中标识一个或多个迁移源节点。通过最小化假阳性和假阴性节点检测的成本来标识一个或多个迁移源节点。节点管理器145可以将潜在故障节点的指示存储在数据库150中。
在一个示例中,节点管理器145可以与排名生成器140结合使用,以基于使用排名模型对空间输出和时间输出的评估来标识一个或多个潜在健康节点。一个或多个潜在健康节点可以是节点设备110的子集。节点管理器145可以从一个或多个潜在健康节点中标识一个或多个迁移目标节点(例如,最健康节点、具有最大可用容量的节点等)。节点管理器145可以将VM 115从一个或多个迁移源节点的故障节点迁移到一个或多个迁移目标节点的健康节点。
在另一个示例中,节点管理器145可以与排名生成器140结合工作,以基于使用排名模型对空间输出和时间输出的评估来标识一个或多个潜在健康节点。一个或多个潜在健康节点可以是节点设备110的子集。节点管理器145可以从一个或多个潜在健康节点中标识一个或多个迁移目标节点(例如,最健康节点、具有最大可用容量的节点等)。节点管理器145可以在一个或多个迁移目标节点的健康节点上创建新的VM 115,代替一个或多个迁移源节点的故障节点。
图2是根据一个实施例的流程图,其图示了用于多阶段云服务节点错误预测的过程200的示例。过程200可以提供如图1中所描述的特征。
过程200示出了用于多阶段云服务错误节点检测的总体工作流程。在一个示例中,可以存在两个训练阶段。在示例阶段1中,训练两个基本分类模型:针对时间数据的LSTM模型210和针对空间数据的随机森林模型215。在示例阶段2中,两个基础学习器的中间结果被嵌入作为特征,并且作为输入220被馈送给排名模型225。排名模型225按照节点的故障倾向性来对节点进行排名。使错误分类成本最小化的前r个节点230被识别为预测的故障节点235。
在示例阶段1中,在训练数据上对基础学习器进行了训练。从不同源收集针对每个节点的异构数据205,并且从该数据中标识特征。这允许构建有效的节点故障预测模型。表1示出了特征的一些示例。
表1
这些特征可以归类为以下两种类型:
1)时间特征,其直接表示节点在时间上的本地状态(诸如,性能计数器、IO吞吐量、资源使用率、传感器值、响应延迟等),或者可以被聚合为来自原始源的时间数据(诸如,日志事件计数、错误/异常事件计数、系统事件计数等)。
2)空间特征,其指示节点之间的在全局关系中的显式/隐式依赖。这些特征的示例包括部署区段、机架位置、负载平衡组、策略组、升级域等。
众所周知,不同的机器学习算法可能在一些特定特征类型上效果很好,但在其他特征类型上效果很差。为了支持特定类型的特征,执行特征转换(例如,将类别特征转换为数值),这可能导致信息丢失。为了允许对不同特征类型的评估,针对每种类型的数据(例如,时间和空间)构建单独的学习器。
对于时间特征,长短期记忆(LSTM)学习器210被用于生成时间机器学习模型。LSTM是被广泛采用的深度神经网络(DNN)模型。它可以在保留之前状态和存储新信息之间取得平衡。LSTM可以更好地捕获时间序列数据背后的模式,并且已经证明在解决诸如机器翻译和语音识别的任务方面是成功的。
图3是根据一个实施例的流程图,其图示了用于训练用于多阶段云服务节点错误预测的长短期记忆模型的过程300的示例。过程300可以提供如图1和图2中描述的特征。过程300示出了LSTM模型的训练。双向LSTM被用于时间序列数据xl、x2...xn,其中xi是在时间i的所有时间特征的输入向量。LSTM层产生表示序列h1、h2...hn,其被馈送到密集层(例如,全连接层)。在一个示例中,密集层的输出可以是128×1的向量Vt。该向量被馈送到softmax函数,该函数是基于DNN的分类器的最后一层。
返回图2的描述,针对空间特征,随机森林学习器215被用于生成空间机器学习模型。随机森林是最广泛使用的分类方法之一。它在训练时构建大量决策树,并且从相应个体树输出投票结果的分类。随机森林基于信息增益来拆分树,因此它可以更好地反映离散值的影响。
图4是根据一个实施例流程图,其图示了用于训练用于多阶段云服务节点错误预测的随机森林模型的过程400的示例。过程400可以提供如图1和图2中描述的特征。过程400图示了随机森林模型的训练。给定空间数据,集成树被训练(例如,128个树等)。结果hi、h2...hn被联接成向量Vs,并且被馈送到多数投票模块,从而产生最终分类结果。
返回图2的描述,在示例阶段2训练中,构建了预测模型来预测节点在不久的将来的故障倾向性。不同节点发生故障的可能性不同。在该步骤中,预测问题被规划为排名问题。即,不是简单地判断节点是否有故障,而是按照节点故障的概率对节点进行排名。通过给出不同于二元标签的相对顺序,排名算法的结果可以区分不同程度的故障倾向性。排名结果更好地满足了VM分配(例如,将VM分配给更健康的节点)和按需实时迁移(例如,将VM从故障节点迁移到更健康的节点)的目标。此外,由于排名方法在优化前r个结果230上有效,因此在数据高度不平衡的情况下它可以具有更好的效果。
在示例阶段2中,由基础学习器产生的中间输出向量被用作排名模型225的输入向量220。更具体地,从LSTM模型210,使用密集层的输出向量Vt。从随机森林模型215,使用由树产生的输出向量Vs。两个输出向量被联接,并且形成用于排名模型225的输入向量V(例如256×1)220。
为了训练排名模型225,获得关于节点的历史故障数据。根据故障的频率和持续时间对节点进行排名。可以使用学习排名(Learning to Rank),其自动训练经优化的排名模型来最小化无序的成本,尤其是排名在前的结果的成本(例如,类似于搜索引擎中对排名在前的结果的优化)。例如,可以使用LambdaMART。LambdaMART是学习排名算法的增强树版本。
为了改进服务可用性,VM被智能地分配给更健康的节点,以使这些VM在不久的将来不太可能遇到节点故障。在一个示例中,如果VM驻留在高风险节点上,则可以使用实时迁移将它们主动迁移到健康节点240。可以使用成本敏感阈值法来标识故障节点235以用于实时迁移。
由于大多数节点健康,并且只有很少百分比节点有故障,因此由排名模型返回的前r个节点230被选择为有故障的节点235。利用历史数据选择最佳的前r个节点230,以使总错误分类成本最小化:r=argmin(CostRatio*FPr+FNr),r,其中FPr和FNr分别是前r个预测结果230中假阳性和假阴性的数目。成本1被表示为未能标识故障节点235(例如,假阴性)的成本。Cost2被表示为错误地将健康节点240标识为故障节点235(例如,假阳性)的成本,这涉及从“故障”节点235到健康节点240的不必要的实时迁移的成本。我们将CostRatio定义为比率Cost2/Cost1。在一个示例中,可以由云计算服务提供商的产品团队中的专家来估计CostRatio的值。在一个示例中,由于对成本和容量的关注,可以将CostRatio设置为2(例如,可以认为准确率比召回率更重要)。通过利用历史数据使总错误分类成本最小化来确定最佳的r值230。前r个节点230是预测的故障节点235。它们是高风险节点,并且被托管在它们上面的VM可以被迁移到健康节点240。
图5是根据一个实施例的流程图,其图示了用于多阶段云服务节点错误预测的方法500的示例。方法500可以提供如图1-图4中描述的特征。
可以获得(例如,通过图1中描述的度量收集器125)针对云计算平台中的节点设备的空间度量集合和时间度量集合(例如,在操作505处)。在一个示例中,可以从云计算平台的相应节点获得时间度量集合。节点可以包括托管一个或多个虚拟机(VM)的物理计算设备。在另一个示例中,从针对云计算平台的相应节点的节点控制器获得空间度量集合。
可以使用空间机器学习模型(例如,由图1中描述的空间机器学习处理器130)和时间机器学习模型(例如,由图1中描述的时间机器学习处理器135)来评估节点设备,以创建空间输出和时间输出(例如,在操作510处)。在一个示例中,可以使用随机森林训练来生成空间机器学习模型。在一个示例中,可以使用空间度量的训练集来生成空间机器学习模型。空间度量的训练集可以包括由两个以上相应节点设备共享的度量。在另一个示例中,可以使用长短期记忆训练来生成时间机器学习模型。在一个示例中,可以使用时间度量的训练集来生成时间机器学习模型。时间度量的训练集可以包括相应节点设备所独有的度量。
可以基于使用排名模型对空间输出和时间输出的评估,来确定(例如,由图1中描述的排名引擎140)一个或多个潜在故障节点(例如,在操作515处)。一个或多个潜在故障节点可以是节点设备的子集。在一个示例中,可以获得空间机器学习模型的树的空间输出向量。可以获得时间机器学习模型的密集层的时间输出向量。空间输出向量和时间输出向量可以被联接,以形成用于排名模型的输入向量。可以使用排名模型来生成节点设备的排名。一个或多个潜在故障节点可以是经排名的节点设备的子集。
可以从一个或多个潜在故障节点中标识(例如,由图1中描述的节点管理器145)一个或多个迁移源节点(例如,在操作520处)。可以通过最小化假阳性和假阴性节点检测的成本来标识一个或多个迁移源节点。
在一个示例中,可以基于使用排名模型对空间输出和时间输出的评估,来标识一个或多个潜在健康节点。一个或多个潜在健康节点可以是节点设备的子集。可以从一个或多个潜在健康节点中标识一个或多个迁移目标节点。VM可以从一个或多个迁移源节点的故障节点被迁移到一个或多个迁移目标节点的健康节点。
在另一个示例中,可以基于使用排名模型对空间输出和时间输出的评估,来标识一个或多个潜在健康节点。一个或多个潜在健康节点可以是节点设备的子集。可以从一个或多个潜在健康节点标识一个或多个迁移目标节点。可以在一个或多个迁移目标节点的健康节点上创建新的VM,代替一个或多个迁移源节点的故障节点。
图6图示了示例机器600的框图,在其上可以执行本文所讨论的技术中的任何一种或多种技术(例如方法)。在备选实施例中,机器600可以作为独立设备操作,或者可以连接(例如联网)到其他机器。在联网部署中,机器600可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在一个示例中,机器600可以在对等(P2P)(或其他分布式)网络环境中充当对等机器。机器600可以是个人计算机(PC)、平板电脑、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、网络路由器、交换机或网桥,或能够执行指令(顺序或其他方式)的任何机器,这些指令指定了该机器要采取的行动。此外,虽然仅图示了单个机器,但是术语“机器”也应当被理解为包括机器的任何集合,这些机器单独地或共同地执行指令集(或多个指令集)以执行本文讨论的方法中的任何一个或多个方法,诸如云计算、软件即服务(SaaS)和其他计算机集群配置。
如本文所述,示例可以包括逻辑或多个部件或机构,或者可以由逻辑或多个部件或机构操作。电路集是在包括硬件(例如,简单电路、门、逻辑等)的有形实体中实现的电路的集合。电路集成员资格可以随时间推移以及基础硬件可变性而变得灵活。电路集包括在操作时可以单独或组合执行指定操作的成员。在一个示例中,电路集的硬件可以被不变地设计为执行特定的操作(例如,硬接线)。在一个示例中,电路集的硬件可以包括可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),包括被物理地修改(例如,磁性地修改、电气地修改、不变质量颗粒的可移动放置等)以对特定操作的指令进行编码的计算机可读介质。在连接物理组件时,硬件组件的基础电气性质改变,例如从绝缘体改变为导体,反之亦然。该指令使嵌入式硬件(例如,执行单元或加载机构)能够经由变量连接在硬件中创建电路集的成员,以在操作时实施特定操作的部分。因此,当设备操作时,计算机可读介质通信地耦合到电路集构件的其他部件。在一个示例中,任何物理组件可以被用在一个以上电路集的一个以上构件中。例如,在操作下,执行单元可以在一个时间点被用在第一电路集的第一电路中,并且可以由第一电路集中的第二电路重用,或者在不同的时间由第二电路集中的第三电路重用。
机器(例如,计算机系统)600可以包括硬件处理器602(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核或其任意组合)、主存储器604和静态存储器606,它们中的一些或全部可以经由互连(例如,总线)608彼此通信。机器600可以进一步包括显示单元610、字母数字输入设备612(例如,键盘),以及用户界面(UI)导航设备614(例如,鼠标)。在一个示例中,显示单元610、输入设备612和UI导航设备614可以是触摸屏显示器。机器600可以附加地包括存储设备(例如,驱动单元)616、信号发生设备618(例如,扬声器)、网络接口设备620以及一个或多个传感器621(诸如,全球定位系统(GPS)传感器、指南针、加速度计或其他传感器)。机器600可以包括输出控制器628,诸如串行(例如,通用串行总线(USB))连接、并行连接或其他有线或无线连接(例如,红外(IR)、近场通信(NFC)等),以通信或控制一个或多个外围设备(例如打印机、读卡器等)。
存储设备616可以包括机器可读介质622,机器可读介质622上存储了由本文描述的技术或功能中的任何一种或多种技术或功能体现或利用的一组或多组数据结构或指令624(例如,软件)。在机器600执行指令624期间,指令624也可以全部或至少部分地驻留在主存储器604内、静态存储器606内或硬件处理器602内。在一个示例中,硬件处理器602、主存储器604、静态存储器606或存储设备616中的一个或任何组合可以构成机器可读介质。
虽然机器可读介质622被图示为单个介质,但是术语“机器可读介质”可以包括被配置为存储一个或多个指令624的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。
术语“机器可读介质”可以包括能够存储、编码或携带用于由机器600执行并且使得机器600执行本公开的技术中的任何一个或多个的指令的任何介质,或者能够存储、编码或携带由这种指令使用或与这种指令相关联的数据结构的任何介质。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。在一个示例中,机器可读介质可以排除暂态传播信号(例如,非暂态机器可读介质)。非暂态机器可读介质的特定示例可以包括:非易失性存储器,诸如半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。
还可以利用多种传输协议(例如帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)),经由网络接口设备620,使用传输介质在通信网络626上传输或接收指令624。示例通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络和无线数据网络(例如,被称为的电气和电子工程师协会(IEEE)802.11标准系列,被称为的IEEE 802.16标准系列)、IEEE 802.15.4标准系列、对等(P2P)网络、用于4G和5G无线通信的第三代合作伙伴计划(3GPP)标准,包括:3GPP长期演进(LTE)标准系列、3GPP LTE高级标准系列、3GPP LTE Advanced Pro标准系列、3GPP新无线电(NR)标准系列等等。在一个示例中,网络接口设备620可以包括一个或多个物理插孔(例如,以太网、同轴或电话插孔)或一个或多个天线以连接到通信网络626。在一个示例中,网络接口设备620可以包括多个天线,以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信。术语“传输介质”应当被认为包括能够存储、编码或携带供机器600执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种软件的通信。
示例1是用于预测节点故障的系统,所述系统包括:至少一个处理器;以及存储器,包括指令,所述指令在由至少一个处理器执行时,使所述至少一个处理器执行操作,以:获得针对云计算平台中的节点设备的空间度量集合和时间度量集合;使用空间机器学习模型和时间机器学习模型来评估所述节点设备,以创建空间输出和时间输出;基于使用排名模型对所述空间输出和所述时间输出的评估,来确定一个或多个潜在故障节点,其中所述一个或多个潜在故障节点是所述节点设备的子集;以及从一个或多个潜在故障节点中标识一个或多个迁移源节点,其中通过最小化假阳性和假阴性节点检测的成本来标识所述一个或多个迁移源节点。
在示例2中,示例1的主题包括,其中所述存储器还包括用于使用随机森林训练来生成所述空间机器学习模型的指令。
在示例3中,示例1-2的主题包括,其中所述存储器还包括用于使用长短期记忆训练来生成所述时间机器学习模型的指令。
在示例4中,示例1-3的主题包括,其中用于确定所述一个或多个潜在故障节点的所述指令还包括用于以下操作的指令:获得所述空间机器学习模型的树的空间输出向量;获得所述时间机器学习模型的密集层的时间输出向量;联接所述空间输出向量和所述时间输出向量,以形成用于所述排名模型的输入向量;以及使用所述排名模型生成所述节点设备的排名,其中所述一个或多个潜在故障节点是经排名的所述节点设备的子集。
在示例5中,示例1-4的主题包括,其中所述时间度量集合从所述云计算平台的相应节点被获得,其中节点包括托管一个或多个虚拟机(VM)的物理计算设备。
在示例6中,示例1-5的主题包括,其中所述空间度量集合从针对所述云计算平台的相应节点的节点控制器被获得。
在示例7中,示例1-6的主题包括,其中所述空间机器学习模型是使用空间度量的训练集而被生成的,并且其中所述空间度量的训练集包括由两个以上相应节点设备共享的度量。
在示例8中,示例1-7的主题包括,其中所述时间机器学习模型是使用时间度量的训练集而被生成的,并且其中所述时间度量的训练集包括相应节点设备所独有的度量。
在示例9中,示例1-8的主题包括,所述存储器还包括用于以下操作的指令:基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;从所述一个或多个潜在健康节点中标识一个或多个迁移目标节点;以及将虚拟机(VM)从所述一个或多个迁移源节点的故障节点迁移到所述一个或多个迁移目标节点的健康节点。
在示例10中,示例1-9的主题包括,所述存储器还包括用于以下操作的指令:基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;从所述一个或多个潜在健康节点中标识一个或多个迁移目标节点;以及在所述一个或多个迁移目标节点的健康节点上创建新的虚拟机(VM),代替所述一个或多个迁移源节点的故障节点。
示例11是至少一种机器可读存储介质,其包括用于预测节点故障的指令,所述指令在由至少一个处理器执行时,使所述至少一个处理器执行操作,以:获得针对云计算平台中的节点设备的空间度量集合和时间度量集合;使用空间机器学习模型和时间机器学习模型来评估所述节点设备,以创建空间输出和时间输出;基于使用排名模型对所述空间输出和所述时间输出的评估,来确定一个或多个潜在故障节点,其中所述一个或多个潜在故障节点是所述节点设备的子集;以及从一个或多个潜在故障节点中标识一个或多个迁移源节点,其中通过最小化假阳性和假阴性节点检测的成本来标识所述一个或多个迁移源节点。
在示例12中,示例11的主题包括,其中使用随机森林训练来生成所述空间机器学习模型。
在示例13中,示例11-12的主题包括,其中使用长短期记忆训练来生成所述时间机器学习模型。
在示例14中,示例11-13的主题包括,其中用于确定所述一个或多个潜在故障节点的所述指令还包括用于以下操作的指令:获得所述空间机器学习模型的树的空间输出向量;获得所述时间机器学习模型的密集层的时间输出向量;联接所述空间输出向量和所述时间输出向量,以形成用于所述排名模型的输入向量;以及使用所述排名模型生成所述节点设备的排名,其中所述一个或多个潜在故障节点是经排名的所述节点设备的子集。
在示例15中,示例11-14的主题包括,其中所述时间度量集合从所述云计算平台的相应节点被获得,其中节点包括托管一个或多个虚拟机(VM)的物理计算设备。
在示例16中,示例11-15的主题包括,其中所述空间度量集合从针对所述云计算平台的相应节点的节点控制器被获得。
在示例17中,示例11-16的主题包括,其中所述空间机器学习模型是使用空间度量的训练集而被生成的,并且其中所述空间度量的训练集包括由两个以上相应节点设备共享的度量。
在示例18中,示例11-17的主题包括,其中所述时间机器学习模型是使用时间度量的训练集而被生成的,并且其中所述时间度量的训练集包括相应节点设备所独有的度量。
在示例19中,示例11-18的主题包括,所述存储器还包括用于以下操作的指令:基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;从所述一个或多个潜在健康节点中标识一个或多个迁移目标节点;以及将虚拟机(VM)从所述一个或多个迁移源节点的故障节点迁移到所述一个或多个迁移目标节点的健康节点。
在示例20中,示例11-19的主题包括,所述存储器还包括用于以下操作的指令:基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;从所述一个或多个潜在健康节点中标识一个或多个迁移目标节点;以及在所述一个或多个迁移目标节点的健康节点上创建新的虚拟机(VM),代替所述一个或多个迁移源节点的故障节点。
示例21是一种预测节点故障的方法,所述方法包括:获得针对云计算平台中的节点设备的空间度量集合和时间度量集合;使用空间机器学习模型和时间机器学习模型来评估所述节点设备,以创建空间输出和时间输出;基于使用排名模型对所述空间输出和所述时间输出的评估,来确定一个或多个潜在故障节点,其中所述一个或多个潜在故障节点是所述节点设备的子集;以及从一个或多个潜在故障节点中标识一个或多个迁移源节点,其中通过最小化假阳性和假阴性节点检测的成本来标识所述一个或多个迁移源节点。
在示例22中,示例21的主题包括,其中所述空间机器学习模型是使用随机森林训练而被生成的。
在示例23中,示例21-22的主题包括,其中所述时间机器学习模型是使用长短期记忆训练而被生成的。
在示例24中,示例21-23的主题包括,其中确定所述一个或多个潜在故障节点还包括:获得所述空间机器学习模型的树的空间输出向量;获得所述时间机器学习模型的密集层的时间输出向量;联接所述空间输出向量和所述时间输出向量,以形成用于所述排名模型的输入向量;以及使用所述排名模型生成所述节点设备的排名,其中所述一个或多个潜在故障节点是所述经排名的节点设备的子集。
在示例25中,示例21-24的主题包括,其中所述时间度量集合从所述云计算平台的相应节点被获得,其中节点包括托管一个或多个虚拟机(VM)的物理计算设备。
在示例26中,示例21-25的主题包括,其中所述空间度量集合从针对所述云计算平台的相应节点的节点控制器被获得。
在示例27中,示例21-26的主题包括,其中所述空间机器学习模型是使用空间度量的训练集而被生成的,并且其中所述空间度量的训练集包括由两个以上相应节点设备共享的度量。
在示例28中,示例21-27的主题包括,其中所述时间机器学习模型是使用时间度量的训练集而被生成的,并且其中所述时间度量的训练集包括相应节点设备所独有的度量。
在示例29中,示例21-28的主题包括:基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;从所述一个或多个潜在健康节点中标识一个或多个迁移目标节点;以及将虚拟机(VM)从所述一个或多个迁移源节点的故障节点迁移到所述一个或多个迁移目标节点的健康节点。
在示例30中,示例21-29的主题包括:基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;从所述一个或多个潜在健康节点中标识一个或多个迁移目标节点;以及在所述一个或多个迁移目标节点的健康节点上创建新的虚拟机(VM),代替所述一个或多个迁移源节点的故障节点。
示例31是一种系统,其包括用于执行示例21-30中的任一方法的部件。
示例32是至少一种机器可读介质,其包括指令,所述指令在由机器执行时,使所述机器执行示例21-30中的任一方法。
示例33是至少一个机器可读介质,其包括指令,所述指令在由处理电路执行时,使所述处理电路执行操作以实现示例1-32中的任一示例。
示例34是一种装置,其包括用于实现示例1-32中的任一示例的部件。
示例35是一种用于实现示例1-32中的任一示例的系统。
示例36是一种用于实现示例1-32中的任一示例的方法。
上面的详细描述包括对附图的参考,附图组成了本详细描述的一部分。附图通过说明的方式示出了可被实施的具体的实施例。这些实施例在本文还可被称作“示例”。这种示例可以包括除了那些被示出或被描述的元素之外的元素。然而,本发明人还预期了其中仅提供那些示出或描述的元素的示例。另外,无论是针对本文所示出或所描述的特定的示例(或其一个或多个方面)还是针对其他示例(或其一个或多个方面),本发明人还预期了使用所示出或所描述的那些元素(或其一个或多个方面)的任意组合或排列的示例。
在本文件中提到的所有出版物、专利和专利文献通过引用以其整体并入本文,就像各自通过引用被并入一样。如果该文件和通过引用而被并入的那些文件之间存在不一致的用法,则所并入的参考文件中的用法应当被认为是对本文件的用法的补充;对于不可协调的不一致性,以本文件中的用法为准。
在本文件中,如专利文件中常用的那样,术语“一”或“一个”包括一个或多个,独立于“至少一个”或“一个或多个”的任何其他情况或用法。在本文档中,除非另外指示,术语“或”用于表示非排他性或,使得“A或B”包括“A但不包括B”、“B但不包括A”和“A和B”。在所附权利要求中,术语“包括(including)”和“其中(in which)”被用作相应术语“包括(comprising)”和“其中(wherein)”的普通英语等效词。而且,在以下权利要求中,术语“包括”和“包含”是开放式的,即,除了在权利要求中的这种术语之后列出的元件之外,还包括其他元件的系统、设备、物品或过程仍然被认为落入在该权利要求的范围内。此外,在所附权利要求中,术语“第一”、“第二”和“第三”等仅用作标签,并且不旨在对其对象施加数字要求。
上面的描述旨在是说明性,而不是限制性的。例如,上述示例(或其一个或多个方面)可以彼此组合地被使用。在回顾以上描述之后,诸如可以由本领域技术人员使用其他实施例。摘要是为了允许读者快速地确定技术公开的性质,并且在理解为摘要不会被用来解释或限制权利要求的范围或含义的情况下被提交。另外,在以上具体实施方式中,可以将各种特征分组在一起以简化本公开。这不应当被解释为旨在使未要求保护的公开特征对任何权利要求必不可少。相反,发明主题可以少于特定公开实施例的所有特征。因此,所附权利要求于此被合并到具体实施方式中,其中每个权利要求独立地作为单独的实施例。实施例的范围应当参考所附权利要求以及赋予这些权利要求的等同物的全部范围来确定。
Claims (15)
1.一种用于预测节点故障的系统,所述系统包括:
至少一个处理器;以及
存储器,包括指令,所述指令在由所述至少一个处理器执行时,使所述至少一个处理器执行操作以:
获得针对云计算平台中的节点设备的空间度量集合和时间度量集合;
使用空间机器学习模型和时间机器学习模型来评估所述节点设备,以创建空间输出和时间输出;
基于使用排名模型对所述空间输出和所述时间输出的评估,来确定一个或多个潜在故障节点,其中所述一个或多个潜在故障节点是所述节点设备的子集;以及
从一个或多个潜在故障节点标识一个或多个迁移源节点,其中所述一个或多个迁移源节点通过对假阳性和假阴性节点检测的成本的最小化而被标识。
2.根据权利要求1所述的系统,其中所述存储器还包括用于使用随机森林训练来生成所述空间机器学习模型的指令。
3.根据权利要求1所述的系统,其中所述存储器还包括用于使用长短期记忆训练来生成所述时间机器学习模型的指令。
4.根据权利要求1所述的系统,其中用于确定所述一个或多个潜在故障节点的所述指令还包括用于以下的指令:
获得所述空间机器学习模型的树的空间输出向量;
获得所述时间机器学习模型的密集层的时间输出向量;
联接所述空间输出向量和所述时间输出向量,以形成用于所述排名模型的输入向量;以及
使用所述排名模型来生成所述节点设备的排名,其中所述一个或多个潜在故障节点是经排名的所述节点设备的子集。
5.根据权利要求1所述的系统,其中所述时间度量集合从所述云计算平台的相应节点被获得,其中节点包括托管一个或多个虚拟机(VM)的物理计算设备。
6.根据权利要求1所述的系统,其中所述空间度量集合从针对所述云计算平台的相应节点的节点控制器被获得。
7.根据权利要求1所述的系统,其中所述空间机器学习模型是使用空间度量的训练集而被生成的,并且其中所述空间度量的训练集包括由两个或更多个相应节点设备共享的度量。
8.根据权利要求1所述的系统,其中所述时间机器学习模型是使用时间度量的训练集而被生成的,并且其中所述时间度量的训练集包括相应节点设备所独有的度量。
9.根据权利要求1所述的系统,所述存储器还包括用于以下的指令:
基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;
从所述一个或多个潜在健康节点标识一个或多个迁移目标节点;以及
将虚拟机(VM)从所述一个或多个迁移源节点中的故障节点迁移到所述一个或多个迁移目标节点中的健康节点。
10.根据权利要求1所述的系统,所述存储器还包括用于以下的指令:
基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;
从所述一个或多个潜在健康节点标识一个或多个迁移目标节点;以及
在所述一个或多个迁移目标节点中的健康节点上创建新的虚拟机(VM),代替所述一个或多个迁移源节点中的故障节点。
11.一种用于预测节点故障的方法,所述方法包括:
获得针对云计算平台中的节点设备的空间度量集合和时间度量集合;
使用空间机器学习模型和时间机器学习模型来评估所述节点设备,以创建空间输出和时间输出;
基于使用排名模型对所述空间输出和所述时间输出的评估,来确定一个或多个潜在故障节点,其中所述一个或多个潜在故障节点是所述节点设备的子集;以及
从一个或多个潜在故障节点标识一个或多个迁移源节点,其中所述一个或多个迁移源节点通过最小化假阳性和假阴性节点检测的成本而被标识。
12.根据权利要求11所述的方法,其中确定所述一个或多个潜在故障节点还包括:
获得所述空间机器学习模型的树的空间输出向量;
获得所述时间机器学习模型的密集层的时间输出向量;
联接所述空间输出向量和所述时间输出向量,以形成用于所述排名模型的输入向量;以及
使用所述排名模型来生成所述节点设备的排名,其中所述一个或多个潜在故障节点是经排名的所述节点设备的子集。
13.根据权利要求11所述的方法,其中所述空间机器学习模型是使用空间度量的训练集而被生成的,并且其中所述空间度量的训练集包括由两个或更多个相应节点设备共享的度量。
14.根据权利要求11所述的方法,还包括:
基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;
从所述一个或多个潜在健康节点标识一个或多个迁移目标节点;以及
将虚拟机(VM)从所述一个或多个迁移源节点中的故障节点迁移到所述一个或多个迁移目标节点中的健康节点。
15.根据权利要求11所述的方法,还包括:
基于使用所述排名模型对所述空间输出和所述时间输出的所述评估,来标识一个或多个潜在健康节点,其中所述一个或多个潜在健康节点是所述节点设备的子集;
从所述一个或多个潜在健康节点标识一个或多个迁移目标节点;以及
在所述一个或多个迁移目标节点中的健康节点上创建新的虚拟机(VM),代替所述一个或多个迁移源节点中的故障节点。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/093775 WO2020000405A1 (en) | 2018-06-29 | 2018-06-29 | Multi-phase cloud service node error prediction |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112740290A true CN112740290A (zh) | 2021-04-30 |
CN112740290B CN112740290B (zh) | 2022-06-10 |
Family
ID=68985679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880094684.2A Active CN112740290B (zh) | 2018-06-29 | 2018-06-29 | 多阶段云服务节点错误预测 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210208983A1 (zh) |
EP (1) | EP3799653B1 (zh) |
CN (1) | CN112740290B (zh) |
WO (1) | WO2020000405A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608830A (zh) * | 2021-07-13 | 2021-11-05 | 全球能源互联网研究院有限公司 | 基于故障预测的vnf迁移方法及装置 |
JP2023086394A (ja) * | 2021-12-10 | 2023-06-22 | 防衛装備庁長官 | 移行先決定プログラム、装置、及び方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599435B2 (en) * | 2019-06-26 | 2023-03-07 | Vmware, Inc. | Failure analysis system for a distributed storage system |
CN112448836B (zh) * | 2019-09-04 | 2023-09-15 | 中兴通讯股份有限公司 | 故障根因确定方法、装置、服务器和计算机可读介质 |
EP3832464A1 (en) * | 2019-12-06 | 2021-06-09 | Tata Consultancy Services Limited | System and method for selection of cloud service providers in a multi-cloud |
WO2021173872A1 (en) * | 2020-02-27 | 2021-09-02 | Siemens Healthcare Diagnostics Inc. | Automatic sensor trace validation using machine learning |
US11836512B2 (en) * | 2020-05-19 | 2023-12-05 | EMC IP Holding Company LLC | Virtual machine replication strategy based on predicted application failures |
US11934283B2 (en) | 2020-05-19 | 2024-03-19 | EMC IP Holding Company LLC | Cost-optimized true zero recovery time objective for multiple applications using failure domains |
US11899957B2 (en) | 2020-05-19 | 2024-02-13 | EMC IP Holding Company LLC | Cost-optimized true zero recovery time objective for multiple applications |
US11797400B2 (en) | 2020-05-19 | 2023-10-24 | EMC IP Holding Company LLC | Cost-optimized true zero recovery time objective for multiple applications based on interdependent applications |
CN111708653B (zh) * | 2020-05-29 | 2023-08-08 | 北京百度网讯科技有限公司 | 内存故障处理方法、装置、电子设备和存储介质 |
US11755433B2 (en) * | 2020-12-22 | 2023-09-12 | EMC IP Holding Company LLC | Method and system for health rank based virtual machine restoration using a conformal framework |
CN113076239B (zh) * | 2021-04-12 | 2023-05-23 | 西安交通大学 | 一种高性能计算机用混合神经网络故障预测方法及系统 |
US11477275B1 (en) | 2021-05-10 | 2022-10-18 | Microsoft Technology Licensing, Llc | Techniques for deploying workloads on nodes in a cloud-computing environment |
US20230325280A1 (en) * | 2022-04-12 | 2023-10-12 | Citrix Systems, Inc. | System and method to predict session failure in virtual applications and desktops deployment |
US20230396511A1 (en) * | 2022-06-06 | 2023-12-07 | Microsoft Technology Licensing, Llc | Capacity Aware Cloud Environment Node Recovery System |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101467188A (zh) * | 2006-04-13 | 2009-06-24 | 通用电气安全股份有限公司 | 报警系统传感器拓扑装置和方法 |
US20120203888A1 (en) * | 2011-02-08 | 2012-08-09 | Microsoft Corporation | Selecting computing nodes in cloud service using replication topologies |
WO2015103534A1 (en) * | 2014-01-06 | 2015-07-09 | Cisco Technology, Inc. | Triggering reroutes using early learning machine-based prediction of failures |
CN106796540A (zh) * | 2014-07-29 | 2017-05-31 | 沙特阿拉伯石油公司 | 用于分布式计算的主动故障恢复模型 |
CN106846742A (zh) * | 2017-01-19 | 2017-06-13 | 南京新创力光电科技有限公司 | 基于Hausdorff距离的故障趋势预警方法及系统 |
US20170256158A1 (en) * | 2016-03-01 | 2017-09-07 | Fts Computertechnik Gmbh | Method for the reliable transport of alarm messages in a distributed computer system |
CN107564231A (zh) * | 2017-09-15 | 2018-01-09 | 山东建筑大学 | 基于物联网的建筑物火灾预警及火灾态势评估系统及方法 |
US20180068554A1 (en) * | 2016-09-06 | 2018-03-08 | Honeywell International Inc. | Systems and methods for generating a graphical representation of a fire system network and identifying network information for predicting network faults |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2257531T3 (es) * | 2001-03-28 | 2006-08-01 | British Telecommunications Public Limited Company | Sistema de gestion de fallos para una red de comunicaciones. |
GB2435923A (en) * | 2006-03-09 | 2007-09-12 | Cytokinetics Inc | Cellular predictive models for toxicities |
US8140914B2 (en) * | 2009-06-15 | 2012-03-20 | Microsoft Corporation | Failure-model-driven repair and backup |
US8332348B1 (en) * | 2009-07-10 | 2012-12-11 | United Services Automobile Association (Usaa) | Knowledge extraction and prediction |
US8819230B2 (en) * | 2011-11-05 | 2014-08-26 | Zadara Storage, Ltd. | Virtual private storage array service for cloud servers |
CN102932419B (zh) * | 2012-09-25 | 2016-02-10 | 浙江图讯科技股份有限公司 | 一种用于面向工矿企业的安全生产云服务平台的数据存储系统 |
JP6160064B2 (ja) * | 2012-11-19 | 2017-07-12 | 富士通株式会社 | 適用判定プログラム、障害検出装置および適用判定方法 |
EP2924580B1 (en) * | 2012-11-20 | 2017-10-04 | NEC Corporation | Operation management apparatus and operation management method |
US10268553B2 (en) * | 2016-08-31 | 2019-04-23 | Seagate Technology Llc | Adaptive failure prediction modeling for detection of data storage device failures |
US11144616B2 (en) * | 2017-02-22 | 2021-10-12 | Cisco Technology, Inc. | Training distributed machine learning with selective data transfers |
CN106969924A (zh) * | 2017-05-09 | 2017-07-21 | 钛柯电子科技(上海)有限公司 | 一种对轨道交通制动系统进行检测和维护的测试系统和方法 |
CN107463998A (zh) * | 2017-07-03 | 2017-12-12 | 西安交通大学 | 一种基于云服务平台的电力设备运维服务系统及方法 |
US11216431B2 (en) * | 2017-09-12 | 2022-01-04 | Apple Inc. | Providing a compact representation of tree structures |
US10613962B1 (en) * | 2017-10-26 | 2020-04-07 | Amazon Technologies, Inc. | Server failure predictive model |
CN109814938A (zh) * | 2017-11-20 | 2019-05-28 | 广东欧珀移动通信有限公司 | 应用程序预测模型建立、预加载方法、装置、介质及终端 |
US10360482B1 (en) * | 2017-12-04 | 2019-07-23 | Amazon Technologies, Inc. | Crowd-sourced artificial intelligence image processing services |
US10613893B2 (en) * | 2018-02-02 | 2020-04-07 | Nutanix, Inc. | System and method for reducing downtime during hypervisor conversion |
US11521221B2 (en) * | 2018-03-01 | 2022-12-06 | Adobe Inc. | Predictive modeling with entity representations computed from neural network models simultaneously trained on multiple tasks |
US11029359B2 (en) * | 2018-03-09 | 2021-06-08 | Pdf Solutions, Inc. | Failure detection and classsification using sensor data and/or measurement data |
-
2018
- 2018-06-29 CN CN201880094684.2A patent/CN112740290B/zh active Active
- 2018-06-29 EP EP18924981.6A patent/EP3799653B1/en active Active
- 2018-06-29 WO PCT/CN2018/093775 patent/WO2020000405A1/en unknown
- 2018-06-29 US US17/056,744 patent/US20210208983A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101467188A (zh) * | 2006-04-13 | 2009-06-24 | 通用电气安全股份有限公司 | 报警系统传感器拓扑装置和方法 |
US20120203888A1 (en) * | 2011-02-08 | 2012-08-09 | Microsoft Corporation | Selecting computing nodes in cloud service using replication topologies |
WO2015103534A1 (en) * | 2014-01-06 | 2015-07-09 | Cisco Technology, Inc. | Triggering reroutes using early learning machine-based prediction of failures |
CN106796540A (zh) * | 2014-07-29 | 2017-05-31 | 沙特阿拉伯石油公司 | 用于分布式计算的主动故障恢复模型 |
US20170256158A1 (en) * | 2016-03-01 | 2017-09-07 | Fts Computertechnik Gmbh | Method for the reliable transport of alarm messages in a distributed computer system |
US20180068554A1 (en) * | 2016-09-06 | 2018-03-08 | Honeywell International Inc. | Systems and methods for generating a graphical representation of a fire system network and identifying network information for predicting network faults |
CN106846742A (zh) * | 2017-01-19 | 2017-06-13 | 南京新创力光电科技有限公司 | 基于Hausdorff距离的故障趋势预警方法及系统 |
CN107564231A (zh) * | 2017-09-15 | 2018-01-09 | 山东建筑大学 | 基于物联网的建筑物火灾预警及火灾态势评估系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608830A (zh) * | 2021-07-13 | 2021-11-05 | 全球能源互联网研究院有限公司 | 基于故障预测的vnf迁移方法及装置 |
JP2023086394A (ja) * | 2021-12-10 | 2023-06-22 | 防衛装備庁長官 | 移行先決定プログラム、装置、及び方法 |
JP7332249B2 (ja) | 2021-12-10 | 2023-08-23 | 防衛装備庁長官 | 移行先決定プログラム、装置、及び方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3799653A4 (en) | 2022-01-19 |
CN112740290B (zh) | 2022-06-10 |
WO2020000405A1 (en) | 2020-01-02 |
EP3799653B1 (en) | 2023-04-12 |
US20210208983A1 (en) | 2021-07-08 |
EP3799653A1 (en) | 2021-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112740290B (zh) | 多阶段云服务节点错误预测 | |
US10924535B2 (en) | Resource load balancing control method and cluster scheduler | |
US20230385141A1 (en) | Multi-factor cloud service storage device error prediction | |
Sharif et al. | Fault‐tolerant with load balancing scheduling in a fog‐based IoT application | |
US10797938B2 (en) | Automatic monitoring, correlation, and resolution of network alarm conditions | |
US11425017B2 (en) | Systems and methods for utilizing a neural network model to perform packet capture data analysis | |
US11463523B2 (en) | Dynamic chain of actions for IOT devices | |
US11341196B2 (en) | Hybrid quantized decision model framework | |
US20210110282A1 (en) | Dynamic configuration of anomaly detection | |
Tuli et al. | AI augmented Edge and Fog computing: Trends and challenges | |
US11501155B2 (en) | Learning machine behavior related to install base information and determining event sequences based thereon | |
US20240143436A1 (en) | Techniques to provide self-healing data pipelines in a cloud computing environment | |
Abro et al. | Artificial intelligence enabled effective fault prediction techniques in cloud computing environment for improving resource optimization | |
US11546422B2 (en) | Dynamic management of locations of modules of a platform hosted by a distributed system | |
US11950122B2 (en) | Cleaning raw data generated by a telecommunications network for deployment in a deep neural network model | |
US11900325B2 (en) | Utilizing a combination of machine learning models to determine a success probability for a software product | |
CN117480510A (zh) | 生成用于机器学习模型预测的置信度分数 | |
US12010169B2 (en) | Dynamic management of locations of modules of a platform hosted by a distributed system | |
US10978054B1 (en) | Utilizing machine learning models for determining an optimized resolution path for an interaction | |
CN116438605A (zh) | 分布式医疗软件平台 | |
Li | A New Task Scheduling Framework for Internet of Things based on Agile VNFs On-demand Service Model and Deep Reinforcement Learning Method | |
CN117077768A (zh) | 网络和云计算系统中的分层多模型生成 | |
WO2024096971A1 (en) | Prediction-based resource orchestration in a service fabric |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |