CN107807853B - 一种基于机器实时负载和任务状态机的节点筛选方法及装置 - Google Patents
一种基于机器实时负载和任务状态机的节点筛选方法及装置 Download PDFInfo
- Publication number
- CN107807853B CN107807853B CN201710957096.4A CN201710957096A CN107807853B CN 107807853 B CN107807853 B CN 107807853B CN 201710957096 A CN201710957096 A CN 201710957096A CN 107807853 B CN107807853 B CN 107807853B
- Authority
- CN
- China
- Prior art keywords
- machine
- machines
- real
- screening
- time load
- 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.)
- Active
Links
Images
Classifications
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于机器实时负载和任务状态机的节点筛选方法及装置,所述方法包括:中央监控节点获取各机器监控到的实时负载数据;所述中央监控节点获取各机器的性能评分;所述中央监控节点基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器。
Description
技术领域
本发明涉及机器筛选技术领域,尤其涉及一种基于机器实时负载和任务状态机的节点筛选方法及装置。
背景技术
目前主要通过设计并制作黑名单的方式来进行机器筛选,主流的设计黑名单方式有黑名单机制和设置白名单列表机制。
在Apache/Hadoop中使用的即是黑名单机制,在Hadoop中每个作业(job)中维护一个TaskTracker黑名单,如果某个job在某个TaskTracker上失败的Task数超过设定值,就将该TaskTracker加入该job的黑名单。当一个job执行成功后,如果满足设定的条件,如该TaskTracker已经被多个job加入黑名单,该TaskTracker被加入黑名单的次数超过设定阈值等,则将该job黑名单中的TaskTracker加入集群黑名单。加入集群黑名单的TaskTracker暂时不接受调度,直到满足一定的恢复机制。因为job失败存在很多原因,使得该机制存在一定的漏洞。
在Apache/Mesos中使用白名单列表的方式来进行机器过滤。白名单机制相对黑名单机制逻辑更加简洁,是黑名单机制的优化。在集群中运行的job,失败job的task失败很重要的原因是自身有bug,而机器本身可能并没有问题,这就使得黑名单机制具有较多缺漏。在mesos中,具体的调度进程注册白名单列表的过滤器(Filter)供主(Master)节点预先筛选不满足要求的资源,因为调度过程中只需要能正常运行的机器,如果一个job能在某个机器上正常运行,则可说明该job和该机器都是没有问题的,可以用于后续的调度。白名单机制使得筛选结果更准确,简化了筛选逻辑,但是筛选的结果只是保证任务能正常运行,并不能很好保证任务执行的质量。
现有的机器筛选实现方式只能用于机器过滤,即只是简单的通过设置阈值或筛选条件等方式将所有机器分为满足条件和不满足条件两大类,筛选机器的过程只是用于过滤。目前技术存在以下几个方面的问题,(1)筛选粒度太粗,筛选条件过于单一,没有从多个维度进行筛选,使得筛选结果的准确率不高且筛选结果不能被重复使用,需要进行频繁筛选;(2)没有记录筛选出的机器的硬件信息、资源信息等,在进行机器选择时只能通过随机的方式进行,这就导致在运行时会出现频繁中途被杀的情况,降低作业执行的概率和效率;(3)目前机器筛选仅仅用于机器加黑,不能为其他用途进行机器筛选;(4)目前黑名单机制没有考虑实时负载,存在单节点负载很高时仍然进行作业调度的情况,容易出现机器hung住的现象。
发明内容
为解决上述技术问题,本发明实施例提供了一种基于机器实时负载和任务状态机的节点筛选方法及装置。
本发明实施例提供的基于机器实时负载和任务状态机的节点筛选方法,包括:
中央监控节点获取各机器监控到的实时负载数据;
所述中央监控节点获取各机器的性能评分;
所述中央监控节点基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器。
本发明实施例中,所述中央监控节点获取各机器监控到的实时负载数据,包括:
所述中央监控节点获取各机器周期性上报的实时负载数据,其中,所述机器周期性上报的实时负载数据通过以下过程获得:机器每隔周期时长采集负载指标关联的核心元数据,并从所采集到的核心元数据过滤掉异常数据,对筛选出来的有效核心元数据进行缓存;当所缓存的有效核心元数据达到预设数量或当周期时长达到时,将所缓存的有效核心元数据上报至所述中央监控节点。
本发明实施例中,所述各机器的性能评分通过以下过程获得:
通过作业的管理组件(AM,App Master)对所述作业所包括的各个任务进行监控,得到各个任务的运行状态;
基于所述各个任务的运行状态,对所述各个任务所在的机器进行性能评分;
所述AM将所述各机器的性能评分上报至所述中央监控节点。
本发明实施例中,所述方法还包括:
所述中央监控节点接收所述AM发送的可疑机器,其中,所述可疑机器通过以下过程确定:所述AM识别出异常任务,并标记出所述异常任务所在的机器,作为可疑机器;所述AM周期性将可疑机器上报至所述中央监控节点;
所述中央监控节点对所述可疑机器进行统计,当满足预设数量的AM对同一个机器确定为可疑机器时,将所述机器纳入冰封机器集群中,其中,处于所述冰封机器集群中的机器不再调度并执行任务。
本发明实施例中,采用如下筛选机制筛选出适应于资源超售的候选机器:
函数式编程模式和<Key,Value>的存储结构,其中,Key为算法名称或图样(Pattern),Value为筛选算法的逻辑。
本发明实施例中,所述筛选机制支持两种Pattern,分别为:全量机器列表Pattern、基于机器的实时负载数据以及性能评分的筛选Pattern。
本发明实施例中,所述Pattern为基于机器的实时负载数据以及性能评分的筛选Pattern时,所述方法还包括:
结合条件平均值算法和数据分段算法对机器的实时负载数据进行数据预估,得到有效负载数据。
本发明实施例中,所述中央监控节点基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器,包括:
基于所述各机器的有效负载数据和性能评分,从全部机器中排除掉无法启动超售作业或调度新任务的机器,形成第一候选机器集合;
依据多负载指标维度在所述第一候选机器集合中按照Teris算法对各机器进行打分,基于打分结果筛选出当前时刻适应于资源超售的机器,形成第二候选机器集合;
分析所述第二候选机器集合中的各机器进行超售任务队列长度和作业量,并基于分析结果筛选出具有启动超售作业的速度满足预设条件的机器。
本发明实施例提供的基于机器实时负载和任务状态机的节点筛选装置,包括:
实时负载数据获取模块,用于获取各机器监控到的实时负载数据;
性能评分获取模块,用于获取各机器的性能评分;
筛选模块,用于基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器。
本发明实施例中,所述实时负载数据获取模块,具体用于获取各机器周期性上报的实时负载数据,其中,所述机器周期性上报的实时负载数据通过以下过程获得:机器每隔周期时长采集负载指标关联的核心元数据,并从所采集到的核心元数据过滤掉异常数据,对筛选出来的有效核心元数据进行缓存;当所缓存的有效核心元数据达到预设数量或当周期时长达到时,将所缓存的有效核心元数据上报至所述中央监控节点。
本发明实施例中,所述各机器的性能评分通过以下过程获得:
通过作业的管理组件AM对所述作业所包括的各个任务进行监控,得到各个任务的运行状态;
基于所述各个任务的运行状态,对所述各个任务所在的机器进行性能评分;
所述AM将所述各机器的性能评分上报至所述中央监控节点。
本发明实施例中,所述性能评分获取模块,还用于接收所述AM发送的可疑机器,其中,所述可疑机器通过以下过程确定:所述AM识别出异常任务,并标记出所述异常任务所在的机器,作为可疑机器;所述AM周期性将可疑机器上报至所述中央监控节点;对所述可疑机器进行统计,当满足预设数量的AM对同一个机器确定为可疑机器时,将所述机器纳入冰封机器集群中,其中,处于所述冰封机器集群中的机器不再调度并执行任务。
本发明实施例中,所述筛选模块,还用于采用如下筛选机制筛选出适应于资源超售的候选机器:
函数式编程模式和<Key,Value>的存储结构,其中,Key为算法名称或图样Pattern,Value为筛选算法的逻辑。
本发明实施例中,所述筛选机制支持两种Pattern,分别为:全量机器列表Pattern、基于机器的实时负载数据以及性能评分的筛选Pattern。
本发明实施例中,所述Pattern为基于机器的实时负载数据以及性能评分的筛选Pattern时,
所述筛选模块,还用于结合条件平均值算法和数据分段算法对机器的实时负载数据进行数据预估,得到有效负载数据。
本发明实施例中,所述筛选模块,具体用于基于所述各机器的有效负载数据和性能评分,从全部机器中排除掉无法启动超售作业或调度新任务的机器,形成第一候选机器集合;依据多负载指标维度在所述第一候选机器集合中按照Teris算法对各机器进行打分,基于打分结果筛选出当前时刻适应于资源超售的机器,形成第二候选机器集合;分析所述第二候选机器集合中的各机器进行超售任务队列长度和作业量,并基于分析结果筛选出具有启动超售作业的速度满足预设条件的机器。
本发明实施例的技术方案中,中央监控节点获取各机器监控到的实时负载数据;所述中央监控节点获取各机器的性能评分;所述中央监控节点基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器。采用本发明实施例的技术方案,考虑了机器的实时负载和作业状态机来对机器进行筛选,使得筛选结果更加合理,此外,面向多目的的机器筛不仅仅能够实现机器加黑的目的,还可以实现其他更多的用途。
附图说明
图1为本发明实施例的基于机器实时负载和任务状态机的节点筛选方法的流程示意图;
图2为本发明实施例的筛选出适应于资源超售的候选机器的流程示意图;
图3为本发明实施例的实验结果示意图一;
图4为本发明实施例的实验结果示意图二;
图5为本发明实施例的基于机器实时负载和任务状态机的节点筛选装置的结构组成示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
本发明实施例的技术方案需要解决如下技术问题:
问题1:目前黑名单机制没有考虑实时负载,存在单节点负载很高时仍然进行作业调度的情况,容易出现机器hung住的现象。
问题2:目前机器筛选仅仅用于机器加黑,不能为其他用途进行机器筛选。
为解决上述技术问题,本发明实施例提出如下解决方案:
1、在进行筛选时同时考虑实时负载和作业状态机,比现有黑名单筛选更合理。
2、面向多目的的机器筛选。
以下对本发明实施例的技术方案进行详细描述。
图1为本发明实施例的基于机器实时负载和任务状态机的节点筛选方法的流程示意图,如图1所示,所述基于机器实时负载和任务状态机的节点筛选方法包括以下步骤:
步骤101:中央监控节点获取各机器监控到的实时负载数据。
本发明实施例中,所述中央监控节点获取各机器周期性上报的实时负载数据,其中,所述机器周期性上报的实时负载数据通过以下过程获得:机器每隔周期时长采集负载指标关联的核心元数据,并从所采集到的核心元数据过滤掉异常数据,对筛选出来的有效核心元数据进行缓存;当所缓存的有效核心元数据达到预设数量或当周期时长达到时,将所缓存的有效核心元数据上报至所述中央监控节点。
具体地,本步骤采用主动汇报机制,各机器根据本地操作系统级别的资源监控机制,获取自身的实时负载详情并周期性汇报至集群中央资源监控节点(简称为中央监控节点)。本发明实施例监控到的机器负载指标(Metrics)如表1所示:
表1
为了减少负载指标的采集对节点(也即机器)和集群网络流量带来的压力,防止因实时信息采集而带来的负面影响,本发明实施例采取“采集核心元数据、累计汇报”的方式,这里,核心元数据是指原子数据,其可以通过组合计算得到其他指标,例如:oversellingcontainer amount可由overselling container waiting amount和running amount求出,因此仅采集后两者即可;累计汇报是指:节点(也即机器)每隔N秒进行一次信息采集,过滤掉由于抖动造成的异常数据,将合法结果缓存在本地队列中,当累计信息达到队列长度或者预设时间周期M秒时,将队列中存储的负载数据通过异步方式一次性汇报至中央集群监控节点。
中央集群监控节点通过对所有节点(也即机器)的负载信息进行收集、汇总与计算,生成集群级别和节点级别的指标与可视化视图,同时提供内部应用程序编程接口(API,Application Programming Interface)供资源调度器访问。
步骤102:所述中央监控节点获取各机器的性能评分。
本发明实施例中,所述各机器的性能评分通过以下过程获得:
通过作业的AM对所述作业所包括的各个任务进行监控,得到各个任务的运行状态;
基于所述各个任务的运行状态,对所述各个任务所在的机器进行性能评分;
所述AM将所述各机器的性能评分上报至所述中央监控节点。
此外,本发明实施例还包括如下过程:
所述中央监控节点接收所述AM发送的可疑机器,其中,所述可疑机器通过以下过程确定:所述AM识别出异常任务,并标记出所述异常任务所在的机器,作为可疑机器;所述AM周期性将可疑机器上报至所述中央监控节点;
所述中央监控节点对所述可疑机器进行统计,当满足预设数量的AM对同一个机器确定为可疑机器时,将所述机器纳入冰封机器集群中,其中,处于所述冰封机器集群中的机器不再调度并执行任务。
具体地,本步骤是一种黑盒评测机制,类似第三方评测机构,从“使用者”的角度对节点(也即机器)进行性能评测打分。应用或作业(也即Job)通过监控任务的运行进度和状况(被杀、运行失效等),对任务所在的节点(也即机器)进行可用性评测打分。
大规模集群通常需要多轮的采购迭代,事实表明不同批次采购的机器在硬件配置和性能表现上略有差异,例如:硬件类型相异(有些机器配备固态硬盘,有些混合配备固态硬盘与普通硬盘;有些机器配备GPU,有些则配备FPGA或TPU等);故障率相异(如固态硬盘的寿命短于普通硬盘);性能表现相异(即使同种类型的硬件,使用频率和年限的不同也会带来不同的性能表现,出现负载较低的机器其作业执行效果不佳)等。
鉴于以上原因,本发明实施例引入评分机制(machine score),主要获取任务运行时的单节点(也即机器)的计算执行能力(CPU、Memory)、数据读写能力(Disk)、网络传输能力(Net)等方面的实测。通常每个作业会被划分为多个计算量相似的任务,以此提高并行度、缩短作业执行时间。每个作业的管理组件(AM)通过对其任务的监控,识别出拖延整体进度的慢任务或频繁失败重试的任务,并标记此任务所在节点为可疑节点。AM周期性将可疑节点汇报至中央监控节点。当多个AM对同一个节点的评分达到一定阈值时,标记此节点为异常节点,进入“冰封时期”(不再调度新任务、现有任务继续执行)。为了防止系统抖动而造成大规模机器评分较低,无调度资源的现象,本发明实施例对每次AM汇报的可疑节点以及集群中冰封机器的总数进行限制,采用TopK的方式进行机器过滤。
步骤103:所述中央监控节点基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器。
本发明实施例中,采用如下筛选机制筛选出适应于资源超售的候选机器:
函数式编程模式和<Key,Value>的存储结构,其中,Key为算法名称或图样Pattern,Value为筛选算法的逻辑。
其中,所述筛选机制支持两种Pattern,分别为:全量机器列表Pattern、基于机器的实时负载数据以及性能评分的筛选Pattern。
具体地,当单集群规模扩增到万台数量级时,节点间的异构性与运行态一致性等将造成集群负载失衡,筛选适宜资源超售的候选机器就显得尤为重要。本系统结合机器实时负载与应用评测打分进行候选机器的筛选,最大程度地提高超售作业的执行概率和效率(避免频繁中途被杀造成的计算浪费)。机器筛选的周期频率可依据集群性能和作业规模动态调整,或者根据用户偏好自行设定。
考虑用户或应用的偏好、良好的系统扩展性,此筛选机制采用函数式编程模式和<Key,Value>的存储结构。Key为算法名称或匹配Pattern,Value为筛选算法的核心逻辑。在调用时用户传入Pattern即可;在扩展时用户仅添加自定义的筛选算法Pattern和函数体,系统将自动进行周期性的计算和分发。本系统默认支持两种Pattern,其一为全量机器列表,其二为基于机器实时负载与应用评测的筛选。
以下对本发明实施例的筛选出适应于资源超售的候选机器的过程进行详细描述。
图2为本发明实施例的筛选出适应于资源超售的候选机器的流程示意图,如图2所示,包括以下步骤:
步骤201:结合条件平均值算法和数据分段算法对机器的实时负载数据进行数据预估,得到有效负载数据。
本发明实施例中,首先对实时负载数据进行快速拟合与预测。
具体地,由于系统抖动等原因,机器实时负载指标的采集过程中会出现异常点;且在混合负载的集群中,特定时间段内负载指标波动较大。若采用朴素的平均值进行统计预估,则会造成较大偏差;若采用非线性拟合等进行数据预估,则带来的计算开销较大,拖延进度。为此我们提出了“条件平均值+数据分段”的方式进行计算预估,其核心算法如下:
步骤202:基于所述各机器的有效负载数据和性能评分,从全部机器中排除掉无法启动超售作业或调度新任务的机器,形成第一候选机器集合。
为了高效、合理地利用机器的有效负载数据(machine load)和性能评分(score)进行超售候选机器的筛选,本发明实施例将算法整体上设计为三步,分别为:1、Score与阈值过滤;2、多维度负载筛选;3、性能推荐。
本步骤为Score与阈值过滤,具体地,剔除不健康的机器:排除由于各种原因而无法启动超售作业或调度新任务的机器,比如由于machine score而进入“冰封时期”,或者某负载指标过高超过阈值而进入“自我保护”阶段的机器。
步骤203:依据多负载指标维度在所述第一候选机器集合中按照Teris算法对各机器进行打分,基于打分结果筛选出当前时刻适应于资源超售的机器,形成第二候选机器集合。
本步骤为多维度负载筛选,具体地,从负载角度筛选此刻最适宜超售的机器:考虑多指标维度,将剩余机器按照改进的Teris算法进行打分,筛选出当前时刻适合进行资源超售的机器列表。
步骤204:分析所述第二候选机器集合中的各机器进行超售任务队列长度和作业量,并基于分析结果筛选出具有启动超售作业的速度满足预设条件的机器。
本步骤为性能推荐,具体地,从任务角度筛选此刻最大概率最快启动超售任务的机器:分析节点超售任务队列长度和作业量等,从上一步结果中,筛选具有最大概率最快启动超售作业的机器。
本实施例的技术方案通过以下代码实现:
本发明实施例的技术方案默认提供超卖候选机器的筛选,并提供了实验图来说明其有效性。
对多目的性机器筛选进行验证,测试场景选择超卖场景:即选择一批适合运行超卖作业的机器,提高资源利用率和缩短作业e2e执行时间。
以下为图3和图4中的各参数的解释说明:
RB–random based,随机情况;
SLB–system load based,系统负载情况;
QLB–queue length based,队列长度情况;
ROSE–考虑所有负载和作业状态机
从图3可以看出,从作业集的e2e时间和每个作业jct执行时间来看,都有缩减。如图4所示,在资源利用率方面(颜色愈深愈好),也都有提升。
图5为本发明实施例的基于机器实时负载和任务状态机的节点筛选装置的结构组成示意图,如图5所示,所述装置包括:
实时负载数据获取模块501,用于获取各机器监控到的实时负载数据;
性能评分获取模块502,用于获取各机器的性能评分;
筛选模块503,用于基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器。
在本发明一实时方式中,所述实时负载数据获取模块501,具体用于获取各机器周期性上报的实时负载数据,其中,所述机器周期性上报的实时负载数据通过以下过程获得:机器每隔周期时长采集负载指标关联的核心元数据,并从所采集到的核心元数据过滤掉异常数据,对筛选出来的有效核心元数据进行缓存;当所缓存的有效核心元数据达到预设数量或当周期时长达到时,将所缓存的有效核心元数据上报至所述中央监控节点。
在本发明一实时方式中,所述各机器的性能评分通过以下过程获得:
通过作业的AM对所述作业所包括的各个任务进行监控,得到各个任务的运行状态;
基于所述各个任务的运行状态,对所述各个任务所在的机器进行性能评分;
所述AM将所述各机器的性能评分上报至所述中央监控节点。
在本发明一实时方式中,所述性能评分获取模块502,还用于接收所述AM发送的可疑机器,其中,所述可疑机器通过以下过程确定:所述AM识别出异常任务,并标记出所述异常任务所在的机器,作为可疑机器;所述AM周期性将可疑机器上报至所述中央监控节点;对所述可疑机器进行统计,当满足预设数量的AM对同一个机器确定为可疑机器时,将所述机器纳入冰封机器集群中,其中,处于所述冰封机器集群中的机器不再调度并执行任务。
在本发明一实时方式中,所述筛选模块503,还用于采用如下筛选机制筛选出适应于资源超售的候选机器:
函数式编程模式和<Key,Value>的存储结构,其中,Key为算法名称或Pattern,Value为筛选算法的逻辑。
在本发明一实时方式中,所述筛选机制支持两种Pattern,分别为:全量机器列表Pattern、基于机器的实时负载数据以及性能评分的筛选Pattern。
在本发明一实时方式中,所述Pattern为基于机器的实时负载数据以及性能评分的筛选Pattern时,
所述筛选模块503,还用于结合条件平均值算法和数据分段算法对机器的实时负载数据进行数据预估,得到有效负载数据。
在本发明一实时方式中,所述筛选模块503,具体用于基于所述各机器的有效负载数据和性能评分,从全部机器中排除掉无法启动超售作业或调度新任务的机器,形成第一候选机器集合;依据多负载指标维度在所述第一候选机器集合中按照Teris算法对各机器进行打分,基于打分结果筛选出当前时刻适应于资源超售的机器,形成第二候选机器集合;分析所述第二候选机器集合中的各机器进行超售任务队列长度和作业量,并基于分析结果筛选出具有启动超售作业的速度满足预设条件的机器。
本领域技术人员应当理解,图5所示的基于机器实时负载和任务状态机的节点筛选装置中的各模块的实现功能可参照前述基于机器实时负载和任务状态机的节点筛选方法的相关描述而理解,图5所示的开发者的推荐装置中的各模块的实现功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明实施例上述装置如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于机器实时负载和任务状态机的节点筛选方法,其特征在于,所述方法包括:
中央监控节点获取各机器监控到的实时负载数据;
所述中央监控节点获取各机器的性能评分;
所述中央监控节点基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器;
其中,采用如下筛选机制筛选出适应于资源超售的候选机器:
函数式编程模式和<Key,Value>的存储结构,其中,Key为算法名称或图样Pattern,Value为筛选算法的逻辑;所述筛选机制支持两种Pattern,分别为:全量机器列表Pattern、基于机器的实时负载数据以及性能评分的筛选Pattern;所述Pattern为基于机器的实时负载数据以及性能评分的筛选Pattern时,所述方法还包括:结合条件平均值算法和数据分段算法对机器的实时负载数据进行数据预估,得到有效负载数据;
所述中央监控节点基于所述各机器的实时负载数据以及性能评分,筛选出适应于资源超售的候选机器,包括:
基于所述各机器的有效负载数据和性能评分,从全部机器中排除掉无法启动超售作业或调度新任务的机器,形成第一候选机器集合;
依据多负载指标维度在所述第一候选机器集合中按照Teris算法对各机器进行打分,基于打分结果筛选出当前时刻适应于资源超售的机器,形成第二候选机器集合;
分析所述第二候选机器集合中的各机器进行超售任务队列长度和作业量,并基于分析结果筛选出具有启动超售作业的速度满足预设条件的机器。
2.根据权利要求1所述的基于机器实时负载和任务状态机的节点筛选方法,其特征在于,所述中央监控节点获取各机器监控到的实时负载数据,包括:
所述中央监控节点获取各机器周期性上报的实时负载数据,其中,所述机器周期性上报的实时负载数据通过以下过程获得:机器每隔周期时长采集负载指标关联的核心元数据,并从所采集到的核心元数据过滤掉异常数据,对筛选出来的有效核心元数据进行缓存;当所缓存的有效核心元数据达到预设数量或当周期时长达到时,将所缓存的有效核心元数据上报至所述中央监控节点。
3.根据权利要求1所述的基于机器实时负载和任务状态机的节点筛选方法,其特征在于,所述各机器的性能评分通过以下过程获得:
通过作业的管理组件AM对所述作业所包括的各个任务进行监控,得到各个任务的运行状态;
基于所述各个任务的运行状态,对所述各个任务所在的机器进行性能评分;
所述AM将所述各机器的性能评分上报至所述中央监控节点。
4.根据权利要求1所述的基于机器实时负载和任务状态机的节点筛选方法,其特征在于,所述方法还包括:
所述中央监控节点接收AM发送的可疑机器,其中,所述可疑机器通过以下过程确定:所述AM识别出异常任务,并标记出所述异常任务所在的机器,作为可疑机器;所述AM周期性将可疑机器上报至所述中央监控节点;
所述中央监控节点对所述可疑机器进行统计,当满足预设数量的AM对同一个机器确定为可疑机器时,将所述机器纳入冰封机器集群中,其中,处于所述冰封机器集群中的机器不再调度并执行任务。
5.一种基于机器实时负载和任务状态机的节点筛选装置,其特征在于,所述装置包括:
实时负载数据获取模块,用于获取各机器监控到的实时负载数据;
性能评分获取模块,用于获取各机器的性能评分;
筛选模块,用于采用如下筛选机制筛选出适应于资源超售的候选机器:
函数式编程模式和<Key,Value>的存储结构,其中,Key为算法名称或图样Pattern,Value为筛选算法的逻辑;所述筛选机制支持两种Pattern,分别为:全量机器列表Pattern、基于机器的实时负载数据以及性能评分的筛选Pattern;
所述Pattern为基于机器的实时负载数据以及性能评分的筛选Pattern时,
所述筛选模块,还用于结合条件平均值算法和数据分段算法对机器的实时负载数据进行数据预估,得到有效负载数据;基于所述各机器的有效负载数据和性能评分,从全部机器中排除掉无法启动超售作业或调度新任务的机器,形成第一候选机器集合;依据多负载指标维度在所述第一候选机器集合中按照Teris算法对各机器进行打分,基于打分结果筛选出当前时刻适应于资源超售的机器,形成第二候选机器集合;分析所述第二候选机器集合中的各机器进行超售任务队列长度和作业量,并基于分析结果筛选出具有启动超售作业的速度满足预设条件的机器。
6.根据权利要求5所述的基于机器实时负载和任务状态机的节点筛选装置,其特征在于,所述实时负载数据获取模块,具体用于获取各机器周期性上报的实时负载数据,其中,所述机器周期性上报的实时负载数据通过以下过程获得:机器每隔周期时长采集负载指标关联的核心元数据,并从所采集到的核心元数据过滤掉异常数据,对筛选出来的有效核心元数据进行缓存;当所缓存的有效核心元数据达到预设数量或当周期时长达到时,将所缓存的有效核心元数据上报至中央监控节点。
7.根据权利要求5所述的基于机器实时负载和任务状态机的节点筛选装置,其特征在于,所述各机器的性能评分通过以下过程获得:
通过作业的管理组件AM对所述作业所包括的各个任务进行监控,得到各个任务的运行状态;
基于所述各个任务的运行状态,对所述各个任务所在的机器进行性能评分;
所述AM将所述各机器的性能评分上报至中央监控节点。
8.根据权利要求5所述的基于机器实时负载和任务状态机的节点筛选装置,其特征在于,所述性能评分获取模块,还用于接收AM发送的可疑机器,其中,所述可疑机器通过以下过程确定:所述AM识别出异常任务,并标记出所述异常任务所在的机器,作为可疑机器;所述AM周期性将可疑机器上报至中央监控节点;对所述可疑机器进行统计,当满足预设数量的AM对同一个机器确定为可疑机器时,将所述机器纳入冰封机器集群中,其中,处于所述冰封机器集群中的机器不再调度并执行任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710957096.4A CN107807853B (zh) | 2017-10-16 | 2017-10-16 | 一种基于机器实时负载和任务状态机的节点筛选方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710957096.4A CN107807853B (zh) | 2017-10-16 | 2017-10-16 | 一种基于机器实时负载和任务状态机的节点筛选方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107807853A CN107807853A (zh) | 2018-03-16 |
CN107807853B true CN107807853B (zh) | 2021-07-02 |
Family
ID=61584372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710957096.4A Active CN107807853B (zh) | 2017-10-16 | 2017-10-16 | 一种基于机器实时负载和任务状态机的节点筛选方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107807853B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347974B (zh) * | 2018-11-16 | 2020-10-13 | 北京航空航天大学 | 提高在线服务质量和集群资源利用率的混合调度系统 |
CN110502323B (zh) * | 2019-07-18 | 2022-02-18 | 国网浙江省电力有限公司衢州供电公司 | 一种云计算任务实时调度方法 |
CN110764904B (zh) * | 2019-09-23 | 2022-10-28 | 北京中科云脑智能技术有限公司 | 一种基于fpga芯片的资源调度方法及系统 |
CN116055496B (zh) * | 2022-12-30 | 2024-04-05 | 广州趣研网络科技有限公司 | 一种监控数据采集方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118124A (zh) * | 2013-02-22 | 2013-05-22 | 桂林电子科技大学 | 一种基于分层多代理的云计算负载均衡方法 |
CN104133727A (zh) * | 2014-08-08 | 2014-11-05 | 成都致云科技有限公司 | 基于实时资源负载分配的方法 |
CN104270322A (zh) * | 2014-10-30 | 2015-01-07 | 中电海康集团有限公司 | 面向物联网设备接入处理平台的自适应负载均衡调度机制 |
CN104915407A (zh) * | 2015-06-03 | 2015-09-16 | 华中科技大学 | 一种基于Hadoop多作业环境下的资源调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010039497A1 (en) * | 2000-03-30 | 2001-11-08 | Hubbard Edward A. | System and method for monitizing network connected user bases utilizing distributed processing systems |
-
2017
- 2017-10-16 CN CN201710957096.4A patent/CN107807853B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118124A (zh) * | 2013-02-22 | 2013-05-22 | 桂林电子科技大学 | 一种基于分层多代理的云计算负载均衡方法 |
CN104133727A (zh) * | 2014-08-08 | 2014-11-05 | 成都致云科技有限公司 | 基于实时资源负载分配的方法 |
CN104270322A (zh) * | 2014-10-30 | 2015-01-07 | 中电海康集团有限公司 | 面向物联网设备接入处理平台的自适应负载均衡调度机制 |
CN104915407A (zh) * | 2015-06-03 | 2015-09-16 | 华中科技大学 | 一种基于Hadoop多作业环境下的资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107807853A (zh) | 2018-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107807853B (zh) | 一种基于机器实时负载和任务状态机的节点筛选方法及装置 | |
CN111885012B (zh) | 基于多种网络设备信息采集的网络态势感知方法及系统 | |
EP2503733B1 (en) | Data collecting method, data collecting apparatus and network management device | |
JP6503679B2 (ja) | フィルタルール作成装置、フィルタルール作成方法、およびプログラム | |
US20140317286A1 (en) | Monitoring computer and method | |
CN104899130A (zh) | 一种应用程序管理方法及系统 | |
CN111200526B (zh) | 网络设备的监控系统及方法 | |
US20210019300A1 (en) | Method and system for automatic anomaly detection in data | |
CN107544832A (zh) | 一种虚拟机进程的监控方法、装置和系统 | |
WO2016150468A1 (en) | Building and applying operational experiences for cm operations | |
CN113448812A (zh) | 微服务场景下的监控告警方法及装置 | |
US10574552B2 (en) | Operation of data network | |
CN114579296A (zh) | 一种服务器闲置算力调度方法、装置及电子设备 | |
CN110138638B (zh) | 一种网络流量的处理方法及装置 | |
CN115794479B (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN117369941A (zh) | Pod调度方法和系统 | |
WO2016127622A1 (zh) | 一种业务劣化监测方法和装置 | |
CN108289035B (zh) | 一种直观的网络及业务系统运行状态展现方法及系统 | |
CN113282557A (zh) | 一种基于Spring框架的大数据日志分析的方法和系统 | |
CN113177060A (zh) | 一种管理sql语句的方法、装置及设备 | |
CN107479977B (zh) | 一种确定设备性能的方法和设备 | |
US20150120940A1 (en) | Apparatus and method for changing resource using pattern information, and recording medium using the same | |
Tong et al. | Service reliability oriented modeling for the failure of cloud data center | |
JP2011114822A (ja) | ネットワーク管理装置およびネットワーク管理方法 | |
CN115396319B (zh) | 数据流分片方法、装置、设备及存储介质 |
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 |