CN116244082A - 面向数字工厂的设备优化方法及系统 - Google Patents
面向数字工厂的设备优化方法及系统 Download PDFInfo
- Publication number
- CN116244082A CN116244082A CN202310244212.3A CN202310244212A CN116244082A CN 116244082 A CN116244082 A CN 116244082A CN 202310244212 A CN202310244212 A CN 202310244212A CN 116244082 A CN116244082 A CN 116244082A
- Authority
- CN
- China
- Prior art keywords
- computing nodes
- tasks
- task
- computing
- performance
- 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.)
- Pending
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/5038—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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种面向数字工厂的设备优化方法,包括:云服务器获取到多个计算节点的性能参数,所述性能参数包括精度、速率、能耗、时延和饱和度,所述计算节点为数字工厂的分布式数据处理节点;将所述多个计算节点进行哈希运算后,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,并分配初始计算任务至对应的计算节点;基于所述多个计算节点的性能参数,对所述多个计算节点分配的初始任务进行调整;所述多个计算节点处理所述调整后的计算任务。
Description
技术领域
本发明属于信息技术领域,具体地,涉及一种面向数字工厂的设备优化的方法及系统。
背景技术
对于数字工厂,德国工程师协会的定义是:数字工厂(DF)是由数字化模型、方法和工具构成的综合网络,包含仿真和3D虚拟现实可视化,通过连续的没有中断的数据管理集成在一起。数字工厂集成了产品、过程和工厂模型数据库,通过先进的可视化、仿真和文档管理,以提高产品的质量和生产过程所涉及的质量和动态性能。
在国内,对于数字工厂接受度最高的定义是:数字工厂是在计算机虚拟环境中,对整个生产过程进行仿真、评估和优化,并进一步扩展到整个产品生命周期的新型生产组织方式。是现代数字制造技术与计算机仿真技术相结合的产物,主要作为沟通产品设计和产品制造之间的桥梁。从定义中可以得出一个结论,数字工厂的本质是实现信息的集成。
目前,数字工厂的任务由不同的设备进行处理,而不同设备之间缺乏必要的互联互通,使得每一个单独的任务由单独的一组设备运行,形成了一个个的“信息孤岛”,缺乏全面的具备大数据量处理能力的统筹系统,此外,在一组设备运行一个特定任务时,通常也只是将任务均分处理,没有考虑到任务的实际性能需求情况和设备的实际性能,造成部分业务处理达不到相应的要求。
发明内容
本发明提供了一种面向数字工厂的设备优化的方法及系统,有效解决了现有技术中信息孤岛及任务处理不达标的问题,提升了不同设备处理的效率,增强了任务处理匹配度。
为了实现上述目的,本发明提供了一种面向数字工厂的设备优化方法,包括:
云服务器获取到多个计算节点的性能参数,所述性能参数包括精度、速率、能耗、时延和饱和度,所述计算节点为数字工厂的分布式数据处理节点;
将所述多个计算节点进行哈希运算后,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,并分配初始计算任务至对应的计算节点;
基于所述多个计算节点的性能参数,对所述多个计算节点分配的初始任务进行调整;
所述多个计算节点处理所述调整后的计算任务。
可选地,基于所述多个计算节点的性能参数,对所述多个计算节点分配的初始任务进行调整,包括:
计算每一所述计算节点的性能参数综合得分;
基于所述综合得分,重新分配所述多个计算节点中的任务数量,其中,根据如下公式计算每一所述计算节点的性能参数综合得分:
F(en)=∫(|en2-1|+H0)den
其中,S为综合得分,P表示精度值、V表示速率值、en表示瞬时能耗值、C表示饱和度值、T表示时延值,H0为自定义常数,F(en)为综合能耗,λ1,λ2,λ3为自定义校正因子,分别为精度均值、速率均值、能耗均值、饱和度均值和时延均值。
可选地,所述重新分配所述多个计算节点中的任务数量,包括:
所述多个计算节点按照所述对应的综合得分,设置任务分配量,其中,所述多个计算节点的数量为N,N为正整数;
所述云服务器基于每一所述计算节点对应的任务分配量,将初始任务按所述任务分配量分为N份任务,其中,每一份所述任务的数量小于等于所述对应的任务分配量;
所述云服务器将上述N份任务重新分配给对应的N个计算节点中。
可选地,基于所述多个计算节点的性能参数,对所述多个计算节点分配的初始任务进行调整,包括:
依次对每一所述计算节点的每一性能参数进行评分;
依次对每一所述初始任务进行性能要求评估,获取每一所述初始任务的性能最低阈值;
基于所述性能参数评分和所述性能最低阈值,针对性地对所述多个计算节点分配的初始任务进行调整,以使所述计算节点满足所述调整后的对应任务的性能最低阈值。
可选地,基于所述性能参数评分和所述性能最低阈值,针对性地对所述多个计算节点分配的初始任务进行调整,包括:
若所述性能参数为精度,则基于所述性能参数评分,将所述多个计算节点的性能对应的类型分为高精度、中精度和低精度,基于任一初始任务的性能最低阈值,判断完成所述初始任务所需性能对应的类型,并将所述初始任务分配到对应性能类型的计算节点中,所述多个计算节点在接收到对应的初始任务后,调整自身的任务总数,以保持负载均衡。
可选地,所述多个计算节点在接收到对应的初始任务后,调整自身的任务总数,以保持负载均衡,包括:
所述多个计算节点依次在接收到对应的初始任务后,将高精度的任务设置为高优先级,将中精度的任务设置为中优先级,并将低精度的任务设置为低优先级;
所述多个计算节点依次判断自身饱和度,若任一计算节点的饱和度超过预警阈值,则该计算节点将低优先级的任务分发给所述哈希环上其余计算节点中,以实现负载平衡。
可选地,该计算节点将低优先级的任务分发给所述哈希环上其余计算节点中,包括:
所述计算节点基于如下分配公式发送至所述哈希环上其余计算节点:
f(i)=Ri-ΔR;
其中,ΔR为任务变化量,Pi为第i个计算节点的精度值,P为精度均值,Ri为第i个计算节点的初始任务量,f(i)为第i个计算节点的调整后的任务量,δ为自定义常数;
则第i个计算节点基于f(i)的值,将超出了f(i)的低优先级的任务分配给其余计算节点,以使所述其余计算节点根据上述公式再进行低优先级任务的再分配。
可选地,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,包括:
虚拟一个环,在环上构造一个0~232-1的哈希值空间;
以多个计算节点的IP值来计算哈希值,并映射到所述哈希环上,其中,整个空间按顺时针方向组织,且0和232-1在零点中方向重合。
可选地,所述计算节点为所述数字工厂的ERP管理节点。
本发明实施例还提供了一种面向数字工厂的设备优化系统,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述的方法。
本发明实施例的方法及系统具有下列优点:
本发明实施例中,云服务器作为数字工厂的调度核心服务器,负责统管整个数字工厂的所有任务的计算节点分配,云服务器将所有计算节点进行哈希运算后,设置哈希环,并预先采用均分的方式进行任务分配,并在分配过程中,基于任务的性能要求以及设备本身的性能参数,进行实时的任务分配调整,使得任务处理具备针对性和定制化,提升了任务处理的效率,也增强了任务处理的匹配度。
附图说明
图1是本发明实施例中面向数字工厂的设备优化的方法流程图;
图2为一个实施例中哈希环的结构示意图;
图3为一个实施例中基于综合得分进行初始任务再分配的示意图;
图4为一个实施例中基于精度进行任务分配的示意图;
图5是本发明实施例中面向数字工厂的设备优化的系统架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1是本发明实施例中面向数字工厂的设备优化的方法流程图,如图1所示,本发明实施例包括:
S101、云服务器获取到多个计算节点的性能参数,所述性能参数包括精度、速率、能耗、时延和饱和度,所述计算节点为数字工厂的分布式数据处理节点;
云服务器是数字工厂的控制核心,在数字工厂中,云服务器可以是私有云,作为数字工厂的“大脑”,其对数字工厂的所有任务均享有分配权,同时也具备调度各个计算节点的能力。
计算节点是数字工厂中各个执行任务的计算机/处理器/终端的简称,其是分布式的数据处理节点,例如数字工厂的具备控制功能的智能终端、各类管控设备等,都具备计算能力,其可以处理大部分的通用任务(非专项任务),则此类设备可以由云服务器进行任务分配,并进行实时处理。
在本发明实施例中,性能参数包括精度、速率、能耗、时延和饱和度,其中,精度指任务输出与预期结果的匹配程度,可以是图像分类任务中的准确率、精确率、召回率、F1值等,也可以是目标检测任务中的mAP,或是语义分割任务中的平均交并比等。对于一些半监督学习问题或无监督学习问题,一般采用一致性指标或相似度指标来衡量任务输出是否符合预期。通常这些精度值越高,任务的能力越强,要求的设备处理性能越强。速率表示一个任务处理的速率,其等于单位时间处理的具体任务量,速率越快,证明其单位时间内的处理能力越强。能耗是指该设备具体的能源利用率和情况,对于一些端侧设备或loT(Internetof Things,物联网)设备而言,计算资源和电源资源紧缺,所以能耗的评估非常重要。在底层软硬件相同的情况下,任务的复杂度是影响能耗的主要因素。时延是指多个任务同时处理的时候所占用的时间,时延较低则同时处理任务的性能强,反之则较高。饱和度是指目前的任务占用资源与最大容量的比值,最大容量越大则饱和度越低。
S102、将所述多个计算节点进行哈希运算后,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,并分配初始计算任务至对应的计算节点;
一致性哈希用来表示数据通过哈希算法确定其位置分布的一种过程。使用数据id的哈希值可以唯一确定数据的位置。这一由哈希值到位置的映射通常被称为“环”(ring),即哈希环。
对id取模是最简单的hash过程。比如,如果所有id是数字的形式,且目前有两台机器用来容纳数据,将数据按奇数偶数分配到两台不同的机器上。假设id中奇数偶数分布较为平均,且每个id对应的数据块大小接近,该数据将会在两台机器上均匀分布。
由于数据一般是文本命信息而不是数字,比如说文件路径或urls。先使用合适的hash算法将文本转化为数字是非常合理的想法。以MD5为例,’mom.jpg’的hash值是‘4559a12e3e8da7c2186250c2f292e3af’,‘dad.png’的hash值是‘096edcc4107e9e18d6a03a43b3853bea’.将这两个值取模(对2取模)。可以将mom.jpg放在偶数机器,dad.png放在奇数机器。另一个使用hash算法的好处在于,hash值的结果可以均匀分布,这意味着计算节点的id将会均匀的分布,无需担心id值自身的分布问题。这样,任务可以均匀分布给哈希环中的计算节点,从而在一定程度上实现了负载均衡和任务统一调度。
如图2所示,图2构建了一个典型的哈希环,其是虚拟一个环的概念,在环上构造一个0~232-1的哈希值空间,并将N台计算节点(为方便理解,设置5台计算节点,分别命名为A,B,C’,D,E节点)计算Hash值,映射到这个环上,整个空间按顺时针方向组织,0和232-1在零点中方向重合。此时,可以用计算节点的IP或者主机名作为关键字来计算hash值,从而确定其在哈希环上的位置。此时,将不同初始任务的ID进行哈希运算,从而可以得出具体的任务ID的哈希值,该哈希值可以与哈希环中的计算节点的哈希值进行匹配,从而确定哪一个任务对应于哪一个计算节点去完成。假设有100个任务,这样经过哈希运算之后,其中的20个任务由A计算节点完成,23个任务由其中的B计算节点完成,以此类推,可以实现任务与计算节点的均衡设置。
S103、基于所述多个计算节点的性能参数,对所述多个计算节点分配的初始任务进行调整;
在本发明实施例中,S102虽然解决了负载均衡和统一调度的问题,但是无法实现任务和计算节点的匹配,例如任务a需要的运算速率不能低于200MB/S,但是分配到的A计算节点由于性能老旧,只能提供100MB/S的运算速率,这样在具体的任务处理当中会出现卡机甚至宕机的情况,体验很不好,因此还需要进行第二次分配,也就是性能参数与任务执行的适配过程。
该过程具体又可以分为两种模式,第一种是基于综合得分进行分配的模式,第二种是针对每一任务对于不同性能的特殊要求,对设备不同性能进行划分,从而确定该任务是需要哪一类的设备来支持。
第一种分配模式,具体包括如下步骤:
计算每一所述计算节点的性能参数综合得分;
基于所述综合得分,重新分配所述多个计算节点中的任务数量,其中,根据如下公式计算每一所述计算节点的性能参数综合得分:
F(en)=∫(|en2-1|+H0)den
其中,S为综合得分,P表示精度值、V表示速率值、en表示瞬时能耗值、C表示饱和度值、T表示时延值,H0为自定义常数,F(en)为综合能耗,λ1,λ2,λ3为自定义校正因子,分别为精度均值、速率均值、能耗均值、饱和度均值和时延均值。
针对每一个计算节点,其精度、速率、能耗、饱和度和时延都是不同的,通常而言,处理器性能越强的计算节点,其精度和速率越强,但能耗高;而内存越大的计算节点,其饱和度越低,单位时间内的处理量越大。因此,第一种模式中,可以对每一计算节点综合得出一个分数,并对该分数进行排序,即可确定哪一些计算节点综合得分高,哪一些计算节点得分低,从而通过一定规则重新分配该计算节点的任务数量。
其中,该规则可以是性能越优的,分配越多,即“多劳多得法”,例如A,B,C’,D,E五个节点中,综合得分依次是A>B>C’>D>E,那么在任务分配时,A的任务比B多,B的任务比C’多,以此类推。
具体地,该规则表述如下:
所述多个计算节点按照所述对应的综合得分,设置任务分配量,其中,所述多个计算节点的数量为N,N为正整数(例如上述示例提到的5个计算节点);
所述云服务器基于每一所述计算节点对应的任务分配量,将初始任务按所述任务分配量分为N份任务,其中,每一份所述任务的数量小于等于所述对应的任务分配量;(例如,A,B,C’,D,E 5个计算节点,预先设置的任务分配量为30,25,20,15,10,加起来是100,即理想情况下,A,B,C’,D,E的最大任务处理量总和是100,而实际的任务数量是80,其小于100,则按照5个计算节点的任务分配比例是3:2.5:2:1.5:1,实际的任务总数80,依次分配给A,B,C’,D,E的任务比例是24:20:16:12:8)
所述云服务器将上述N份任务重新分配给对应的N个计算节点中。
如图3所示,图3是基于综合得分进行初始任务再分配的示意图。从图3所知,A,B,C’,D,E5个节点,初始是均分任务,每个节点都是16个,再后续的分配中,A节点需要增加8个,B节点需要增加4个,C’节点需要不变,D节点需要减少至12个,其有4个任务会分配给B节点,E节点需要减少至8个,其有8个任务需要分配给A节点。
第二种分配模式,具体包括如下方法:
依次对每一所述计算节点的每一性能参数进行评分;与前述方法不同的是,该模式下,分别对计算节点的精度、速率、时延、能耗和饱和度进行评分,以精度为例,多个计算节点的精度不同,以所有计算节点中的最高精度的评分设置为满分,其他精度依次排序并打分,打分方式可以是精度值/最高精度*100的方式进行评分。其他参数的评分方式与此相同,需要说明的是,速率越高,评分越高,时延越低,评分越高,饱和度越低,评分越高,能耗越低,评分越高。
依次对每一所述初始任务进行性能要求评估,获取每一所述初始任务的性能最低阈值;在对计算节点的每一个基本性能参数进行评分之后,即可得出该计算节点5个维度的分值,此时,还需要对每一个初始任务也进行性能要求评估,评估主要也集中在上述5个维度进行评估,获取到每一个初始任务的最低阈值。在本发明实施例中,每一个任务对各个维度的性能要求都不同,例如数字工厂的ERP业务,对于处理速率要求高,要求高于200MB/S,对于时延的要求高,要求低于1ms/S,对于饱和度和能耗则要求低,则可获取该任务对于每一个维度的具体性能最低阈值.
基于所述性能参数评分和所述性能最低阈值,针对性地对所述多个计算节点分配的初始任务进行调整,以使所述计算节点满足所述调整后的对应任务的性能最低阈值。在本发明实施例中,获取到了不同计算节点的性能评分,同时也获取到了初始任务的性能最低阈值,则需要将初始任务和计算节点进行一个适配,以满足该计算节点能满足其初始任务的最低性能阈值的要求。以精度为例:
若所述性能参数为精度,则基于所述性能参数评分,将所述多个计算节点的性能对应的类型分为高精度、中精度和低精度,基于任一初始任务的性能最低阈值,判断完成所述初始任务所需性能对应的类型,并将所述初始任务分配到对应性能类型的计算节点中,所述多个计算节点在接收到对应的初始任务后,调整自身的任务总数,以保持负载均衡。
假设,某一初始任务是对图像进行处理,其对处理精度的要求比较高,则该任务需要由高精度的计算节点来完成,而中精度和低精度的计算节点则不满足其要求,因此,对于该初始任务而言,倘若第一次分配给到的计算节点是中精度或低精度,则还需要将该初始任务调整到高精度的计算节点来完成,因此,就需要云服务器进行此次调度,此外,在调度完之后,该计算节点由于其高精度的特性,会有越来越多的高精度任务需要它来完成,一定程度上会造成其饱和度直线上升,因此,该计算节点需要将自身饱和度通过心跳包的形式上报,以便云服务器将该计算节点其他的业务分配给其他计算节点来完成,来实现负载均衡。
图4是第二种分配模式下基于精度进行任务分配的示意图,如图4所示,假设有10个任务,其中3个需要高精度(其性能最低阈值超过了中精度的范围),4个需要中精度(其性能最低阈值在中精度的范围内),3个需要低精度,而A,B,C’,D,E5个计算节点中,A,B是高精度类型,C’,D是中精度,E是低精度,则优先A,B分配该3个高精度的任务,具体分配方式可以是A分配2个,B分配1个,或A分配1个,B分配2个,C’,D分配其中的4个中精度任务并进行处理,E分配剩下的3个低精度任务进行处理。
同理,如果是速率、时延、饱和度或能耗,也可以设置设备类型,如高速率,中速率,低速率,高时延、中时延、低时延等,这样,同样一个节点,既可以是高精度类型,也可以是低速率类型,那么在该节点的任务处理中,优先分配高精度和低速率的多个任务。
此外,所述多个计算节点在接收到对应的初始任务后,调整自身的任务总数,以保持负载均衡,具体可以包括:
所述多个计算节点依次在接收到对应的初始任务后,将高精度的任务设置为高优先级,将中精度的任务设置为中优先级,并将低精度的任务设置为低优先级;
所述多个计算节点依次判断自身饱和度,若任一计算节点的饱和度超过预警阈值,则该计算节点将低优先级的任务分发给所述哈希环上其余计算节点中,以实现负载平衡。
其中,该计算节点将低优先级的任务分发给所述哈希环上其余计算节点中,具体可以为:
所述计算节点基于如下分配公式发送至所述哈希环上其余计算节点:
f(i)=Ri-ΔR;
则第i个计算节点基于f(i)的值,将超出了f(i)的低优先级的任务分配给其余计算节点,以使所述其余计算节点根据上述公式再进行低优先级任务的再分配。
S104、所述多个计算节点处理所述调整后的计算任务。
可选地,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,包括:
虚拟一个环,在环上构造一个0~232-1的哈希值空间;
以多个计算节点的IP值来计算哈希值,并映射到所述哈希环上,其中,整个空间按顺时针方向组织,且0和232-1在零点中方向重合。
可选地,所述计算节点为所述数字工厂的ERP管理节点。
本发明实施例还提供了一种面向数字工厂的设备优化系统,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述的方法。
本发明实施例的方法及系统具有下列优点:
本发明实施例中,云服务器作为数字工厂的调度核心服务器,负责统管整个数字工厂的所有任务的计算节点分配,云服务器将所有计算节点进行哈希运算后,设置哈希环,并预先采用均分的方式进行任务分配,并在分配过程中,基于任务的性能要求以及设备本身的性能参数,进行实时的任务分配调整,使得任务处理具备针对性和定制化,提升了任务处理的效率,也增强了任务处理的匹配度。
图5是本发明实施例中,面向数字工厂的设备优化系统架构图,如图5所示,该系统包括:
获取模块,用于获取到多个计算节点的性能参数,所述性能参数包括精度、速率、能耗、时延和饱和度,所述计算节点为数字工厂的分布式数据处理节点;
云服务器是数字工厂的控制核心,在数字工厂中,云服务器可以是私有云,作为数字工厂的“大脑”,其对数字工厂的所有任务均享有分配权,同时也具备调度各个计算节点的能力。
计算节点是数字工厂中各个执行任务的计算机/处理器/终端的简称,其是分布式的数据处理节点,例如数字工厂的具备控制功能的智能终端、各类管控设备等,都具备计算能力,其可以处理大部分的通用任务(非专项任务),则此类设备可以由云服务器进行任务分配,并进行实时处理。
在本发明实施例中,性能参数包括精度、速率、能耗、时延和饱和度,其中,精度指任务输出与预期结果的匹配程度,可以是图像分类任务中的准确率、精确率、召回率、F1值等,也可以是目标检测任务中的mAP,或是语义分割任务中的平均交并比等。对于一些半监督学习问题或无监督学习问题,一般采用一致性指标或相似度指标来衡量任务输出是否符合预期。通常这些精度值越高,任务的能力越强,要求的设备处理性能越强。速率表示一个任务处理的速率,其等于单位时间处理的具体任务量,速率越快,证明其单位时间内的处理能力越强。能耗是指该设备具体的能源利用率和情况,对于一些端侧设备或loT(Internetof Things,物联网)设备而言,计算资源和电源资源紧缺,所以能耗的评估非常重要。在底层软硬件相同的情况下,任务的复杂度是影响能耗的主要因素。时延是指多个任务同时处理的时候所占用的时间,时延较低则同时处理任务的性能强,反之则较高。饱和度是指目前的任务占用资源与最大容量的比值,最大容量越大则饱和度越低。
运算模块,用于将所述多个计算节点进行哈希运算后,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,并分配初始计算任务至对应的计算节点;
一致性哈希用来表示数据通过哈希算法确定其位置分布的一种过程。使用数据id的哈希值可以唯一确定数据的位置。这一由哈希值到位置的映射通常被称为“环”(ring),即哈希环。
对id取模是最简单的hash过程。比如,如果所有id是数字的形式,且目前有两台机器用来容纳数据,将数据按奇数偶数分配到两台不同的机器上。假设id中奇数偶数分布较为平均,且每个id对应的数据块大小接近,该数据将会在两台机器上均匀分布。
由于数据一般是文本命信息而不是数字,比如说文件路径或urls。先使用合适的hash算法将文本转化为数字是非常合理的想法。以MD5为例,’mom.jpg’的hash值是‘4559a12e3e8da7c2186250c2f292e3af’,‘dad.png’的hash值是‘096edcc4107e9e18d6a03a43b3853bea’.将这两个值取模(对2取模)。可以将mom.jpg放在偶数机器,dad.png放在奇数机器。另一个使用hash算法的好处在于,hash值的结果可以均匀分布,这意味着计算节点的id将会均匀的分布,无需担心id值自身的分布问题。这样,任务可以均匀分布给哈希环中的计算节点,从而在一定程度上实现了负载均衡和任务统一调度。
如图2所示,图2构建了一个典型的哈希环,其是虚拟一个环的概念,在环上构造一个0~232-1的哈希值空间,并将N台计算节点(为方便理解,设置5台计算节点,分别命名为A,B,C’,D,E节点)计算Hash值,映射到这个环上,整个空间按顺时针方向组织,0和232-1在零点中方向重合。此时,可以用计算节点的IP或者主机名作为关键字来计算hash值,从而确定其在哈希环上的位置。此时,将不同初始任务的ID进行哈希运算,从而可以得出具体的任务ID的哈希值,该哈希值可以与哈希环中的计算节点的哈希值进行匹配,从而确定哪一个任务对应于哪一个计算节点去完成。假设有100个任务,这样经过哈希运算之后,其中的20个任务由A计算节点完成,23个任务由其中的B计算节点完成,以此类推,可以实现任务与计算节点的均衡设置。
分配任务模块,用于基于所述多个计算节点的性能参数,对所述多个计算节点分配的初始任务进行调整;
在本发明实施例中,S102虽然解决了负载均衡和统一调度的问题,但是无法实现任务和计算节点的匹配,例如任务a需要的运算速率不能低于200MB/S,但是分配到的A计算节点由于性能老旧,只能提供100MB/S的运算速率,这样在具体的任务处理当中会出现卡机甚至宕机的情况,体验很不好,因此还需要进行第二次分配,也就是性能参数与任务执行的适配过程。
该过程具体又可以分为两种模式,第一种是基于综合得分进行分配的模式,第二种是针对每一任务对于不同性能的特殊要求,对设备不同性能进行划分,从而确定该任务是需要哪一类的设备来支持。
第一种分配模式,具体包括如下步骤:
计算每一所述计算节点的性能参数综合得分;
基于所述综合得分,重新分配所述多个计算节点中的任务数量,其中,根据如下公式计算每一所述计算节点的性能参数综合得分:
F(en)=∫(|en2-1|+H0)den
其中,S为综合得分,P表示精度值、V表示速率值、en表示瞬时能耗值、C表示饱和度值、T表示时延值,H0为自定义常数,F(en)为综合能耗,λ1,λ2,λ3为自定义校正因子,分别为精度均值、速率均值、能耗均值、饱和度均值和时延均值。
针对每一个计算节点,其精度、速率、能耗、饱和度和时延都是不同的,通常而言,处理器性能越强的计算节点,其精度和速率越强,但能耗高;而内存越大的计算节点,其饱和度越低,单位时间内的处理量越大。因此,第一种模式中,可以对每一计算节点综合得出一个分数,并对该分数进行排序,即可确定哪一些计算节点综合得分高,哪一些计算节点得分低,从而通过一定规则重新分配该计算节点的任务数量。
其中,该规则可以是性能越优的,分配越多,即“多劳多得法”,例如A,B,C’,D,E五个节点中,综合得分依次是A>B>C’>D>E,那么在任务分配时,A的任务比B多,B的任务比C’多,以此类推。
具体地,该规则表述如下:
所述多个计算节点按照所述对应的综合得分,设置任务分配量,其中,所述多个计算节点的数量为N,N为正整数(例如上述示例提到的5个计算节点);
所述云服务器基于每一所述计算节点对应的任务分配量,将初始任务按所述任务分配量分为N份任务,其中,每一份所述任务的数量小于等于所述对应的任务分配量;(例如,A,B,C’,D,E 5个计算节点,预先设置的任务分配量为30,25,20,15,10,加起来是100,即理想情况下,A,B,C’,D,E的最大任务处理量总和是100,而实际的任务数量是80,其小于100,则按照5个计算节点的任务分配比例是3:2.5:2:1.5:1,实际的任务总数80,依次分配给A,B,C’,D,E的任务比例是24:20:16:12:8)
所述云服务器将上述N份任务重新分配给对应的N个计算节点中。
如图3所示,图3是基于综合得分进行初始任务再分配的示意图。从图3所知,A,B,C’,D,E5个节点,初始是均分任务,每个节点都是16个,再后续的分配中,A节点需要增加8个,B节点需要增加4个,C’节点需要不变,D节点需要减少至12个,其有4个任务会分配给B节点,E节点需要减少至8个,其有8个任务需要分配给A节点。
第二种分配模式,具体包括如下方法:
依次对每一所述计算节点的每一性能参数进行评分;与前述方法不同的是,该模式下,分别对计算节点的精度、速率、时延、能耗和饱和度进行评分,以精度为例,多个计算节点的精度不同,以所有计算节点中的最高精度的评分设置为满分,其他精度依次排序并打分,打分方式可以是精度值/最高精度*100的方式进行评分。其他参数的评分方式与此相同,需要说明的是,速率越高,评分越高,时延越低,评分越高,饱和度越低,评分越高,能耗越低,评分越高。
依次对每一所述初始任务进行性能要求评估,获取每一所述初始任务的性能最低阈值;在对计算节点的每一个基本性能参数进行评分之后,即可得出该计算节点5个维度的分值,此时,还需要对每一个初始任务也进行性能要求评估,评估主要也集中在上述5个维度进行评估,获取到每一个初始任务的最低阈值。在本发明实施例中,每一个任务对各个维度的性能要求都不同,例如数字工厂的ERP业务,对于处理速率要求高,要求高于200MB/S,对于时延的要求高,要求低于1ms/S,对于饱和度和能耗则要求低,则可获取该任务对于每一个维度的具体性能最低阈值.
基于所述性能参数评分和所述性能最低阈值,针对性地对所述多个计算节点分配的初始任务进行调整,以使所述计算节点满足所述调整后的对应任务的性能最低阈值。在本发明实施例中,获取到了不同计算节点的性能评分,同时也获取到了初始任务的性能最低阈值,则需要将初始任务和计算节点进行一个适配,以满足该计算节点能满足其初始任务的最低性能阈值的要求。以精度为例:
若所述性能参数为精度,则基于所述性能参数评分,将所述多个计算节点的性能对应的类型分为高精度、中精度和低精度,基于任一初始任务的性能最低阈值,判断完成所述初始任务所需性能对应的类型,并将所述初始任务分配到对应性能类型的计算节点中,所述多个计算节点在接收到对应的初始任务后,调整自身的任务总数,以保持负载均衡。
假设,某一初始任务是对图像进行处理,其对处理精度的要求比较高,则该任务需要由高精度的计算节点来完成,而中精度和低精度的计算节点则不满足其要求,因此,对于该初始任务而言,倘若第一次分配给到的计算节点是中精度或低精度,则还需要将该初始任务调整到高精度的计算节点来完成,因此,就需要云服务器进行此次调度,此外,在调度完之后,该计算节点由于其高精度的特性,会有越来越多的高精度任务需要它来完成,一定程度上会造成其饱和度直线上升,因此,该计算节点需要将自身饱和度通过心跳包的形式上报,以便云服务器将该计算节点其他的业务分配给其他计算节点来完成,来实现负载均衡。
图4是第二种分配模式下基于精度进行任务分配的示意图,如图4所示,假设有10个任务,其中3个需要高精度(其性能最低阈值超过了中精度的范围),4个需要中精度(其性能最低阈值在中精度的范围内),3个需要低精度,而A,B,C’,D,E5个计算节点中,A,B是高精度类型,C’,D是中精度,E是低精度,则优先A,B分配该3个高精度的任务,具体分配方式可以是A2个,B1个,或A1个,B2个,C’,D分配其中的4个中精度任务并进行处理(例如可以平分),E分配剩下的3个低精度任务进行处理。
同理,如果是速率、时延、饱和度或能耗,也可以设置设备类型,如高速率,中速率,低速率,高时延、中时延、低时延等,这样,同样一个节点,既可以是高精度类型,也可以是低速率类型,那么在该节点的任务处理中,优先分配高精度和低速率的多个任务。
此外,所述多个计算节点在接收到对应的初始任务后,调整自身的任务总数,以保持负载均衡,具体可以包括:
所述多个计算节点依次在接收到对应的初始任务后,将高精度的任务设置为高优先级,将中精度的任务设置为中优先级,并将低精度的任务设置为低优先级;
所述多个计算节点依次判断自身饱和度,若任一计算节点的饱和度超过预警阈值,则该计算节点将低优先级的任务分发给所述哈希环上其余计算节点中,以实现负载平衡。
其中,该计算节点将低优先级的任务分发给所述哈希环上其余计算节点中,具体可以为:
所述计算节点基于如下分配公式发送至所述哈希环上其余计算节点:
f(i)=Ri-ΔR;
其中,ΔR为任务变化量,Pi为第i个计算节点的精度值,P为精度均值,Ri为第i个计算节点的初始任务量,f(i)为第i个计算节点的调整后的任务量,δ为自定义常数;
则第i个计算节点基于f(i)的值,将超出了f(i)的低优先级的任务分配给其余计算节点,以使所述其余计算节点根据上述公式再进行低优先级任务的再分配。
处理模块,用于处理所述调整后的计算任务。
可选地,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,包括:
虚拟一个环,在环上构造一个0~232-1的哈希值空间;
以多个计算节点的IP值来计算哈希值,并映射到所述哈希环上,其中,整个空间按顺时针方向组织,且0和232-1在零点中方向重合。
可选地,所述计算节点为所述数字工厂的ERP管理节点。
本发明实施例还提供了一种面向数字工厂的设备优化系统,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述的方法。
本发明实施例的方法及系统具有下列优点:
本发明实施例中,云服务器作为数字工厂的调度核心服务器,负责统管整个数字工厂的所有任务的计算节点分配,云服务器将所有计算节点进行哈希运算后,设置哈希环,并预先采用均分的方式进行任务分配,并在分配过程中,基于任务的性能要求以及设备本身的性能参数,进行实时的任务分配调整,使得任务处理具备针对性和定制化,提升了任务处理的效率,也增强了任务处理的匹配度。
本发明实施例还提供了一种面向数字工厂的设备优化系统,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述的方法。在实际应用中,系统还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出系统、处理器、控制器、存储器等,而所有可以实现本申请实施例的大数据管理方法的系统都在本申请的保护范围之内。
存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read至only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read至only memory,CD至ROM),该存储器用于相关指令及数据。
输入系统用于输入数据和/或信号,以及输出系统用于输出数据和/或信号。输出系统和输入系统可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。处理器还可以包括一个或多个专用处理器,专用处理器可以包括GPU、FPGA等,用于进行加速处理。
存储器用于存储网络设备的程序代码和数据。
处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程系统。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read至onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种面向数字工厂的设备优化方法,其特征在于,包括:
云服务器获取到多个计算节点的性能参数,所述性能参数包括精度、速率、能耗、时延和饱和度,所述计算节点为数字工厂的分布式数据处理节点;
将所述多个计算节点进行哈希运算后,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,并分配初始计算任务至对应的计算节点;
基于所述多个计算节点的性能参数,对所述多个计算节点分配的初始任务进行调整;
所述多个计算节点处理所述调整后的计算任务。
3.根据权利要求2所述的方法,其特征在于,所述重新分配所述多个计算节点中的任务数量,包括:
所述多个计算节点按照所述对应的综合得分,设置任务分配量,其中,所述多个计算节点的数量为N,N为正整数;
所述云服务器基于每一所述计算节点对应的任务分配量,将初始任务按所述任务分配量分为N份任务,其中,每一份所述任务的数量小于等于所述对应的任务分配量;
所述云服务器将上述N份任务重新分配给对应的N个计算节点中。
4.根据权利要求1所述的方法,其特征在于,基于所述多个计算节点的性能参数,对所述多个计算节点分配的初始任务进行调整,包括:
依次对每一所述计算节点的每一性能参数进行评分;
依次对每一所述初始任务进行性能要求评估,获取每一所述初始任务的性能最低阈值;
基于所述性能参数评分和所述性能最低阈值,针对性地对所述多个计算节点分配的初始任务进行调整,以使所述计算节点满足所述调整后的对应任务的性能最低阈值。
5.根据权利要求4所述的方法,其特征在于,基于所述性能参数评分和所述性能最低阈值,针对性地对所述多个计算节点分配的初始任务进行调整,包括:
若所述性能参数为精度,则基于所述性能参数评分,将所述多个计算节点的性能对应的类型分为高精度、中精度和低精度,基于任一初始任务的性能最低阈值,判断完成所述初始任务所需性能对应的类型,并将所述初始任务分配到对应性能类型的计算节点中,所述多个计算节点在接收到对应的初始任务后,调整自身的任务总数,以保持负载均衡。
6.根据权利要求5所述的方法,其特征在于,所述多个计算节点在接收到对应的初始任务后,调整自身的任务总数,以保持负载均衡,包括:
所述多个计算节点依次在接收到对应的初始任务后,将高精度的任务设置为高优先级,将中精度的任务设置为中优先级,并将低精度的任务设置为低优先级;
所述多个计算节点依次判断自身饱和度,若任一计算节点的饱和度超过预警阈值,则该计算节点将低优先级的任务分发给所述哈希环上其余计算节点中,以实现负载平衡。
8.根据权利要求1所述的方法,其特征在于,建立哈希环,并将所述多个计算节点分别分布在所述哈希环上,包括:
虚拟一个环,在环上构造一个0~232-1的哈希值空间;
以多个计算节点的IP值来计算哈希值,并映射到所述哈希环上,其中,整个空间按顺时针方向组织,且0和232-1在零点中方向重合。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述计算节点为所述数字工厂的ERP管理节点。
10.一种面向数字工厂的设备优化系统,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现权利要求1-9任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310244212.3A CN116244082A (zh) | 2023-03-14 | 2023-03-14 | 面向数字工厂的设备优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310244212.3A CN116244082A (zh) | 2023-03-14 | 2023-03-14 | 面向数字工厂的设备优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116244082A true CN116244082A (zh) | 2023-06-09 |
Family
ID=86633057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310244212.3A Pending CN116244082A (zh) | 2023-03-14 | 2023-03-14 | 面向数字工厂的设备优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244082A (zh) |
-
2023
- 2023-03-14 CN CN202310244212.3A patent/CN116244082A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
US20140280021A1 (en) | System and Method for Distributed SQL Join Processing in Shared-Nothing Relational Database Clusters Using Stationary Tables | |
CN110798517B (zh) | 去中心化集群负载均衡方法、系统、移动终端及存储介质 | |
CN107450855B (zh) | 一种用于分布式存储的模型可变的数据分布方法及系统 | |
CN103701635B (zh) | 一种在线配置Hadoop参数的方法和装置 | |
CN103607424B (zh) | 一种服务器连接方法及服务器系统 | |
CN108519917A (zh) | 一种资源池分配方法和装置 | |
CN108804383B (zh) | 基于度量空间的支撑点并行枚举方法及装置 | |
JP2018515844A (ja) | データ処理方法及びシステム | |
CN113630383B (zh) | 一种边云协同的方法及装置 | |
US9749219B2 (en) | Method of optimizing routing in a cluster comprising static communication links and computer program implementing that method | |
CN116700920A (zh) | 云原生混合部署集群资源调度方法及装置 | |
CN105282045B (zh) | 一种基于一致性哈希算法的分布式计算和储存方法 | |
WO2021115082A1 (zh) | 作业调度方法以及作业调度装置 | |
CN108540407A (zh) | 一种大数据平台中Spark Streaming接收器动态配置方法及装置 | |
CN116244082A (zh) | 面向数字工厂的设备优化方法及系统 | |
CN114579311B (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN110728118A (zh) | 跨数据平台的数据处理方法、装置、设备及存储介质 | |
CN115801896A (zh) | 算力网络节点分配方法、装置、电子设备及存储介质 | |
CN115543582A (zh) | 超算算力网络统一调度方法、系统及设备 | |
US9203733B2 (en) | Method of pseudo-dynamic routing in a cluster comprising static communication links and computer program implementing that method | |
CN115544697A (zh) | 宽带节点位置规划方法、装置、设备及存储介质 | |
CN114945024A (zh) | 基于长短期记忆网络的服务器负载均衡优化方法 | |
CN107341057A (zh) | 一种数据处理方法及装置 | |
CN111628901B (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 |