CN113132482A - 一种基于强化学习的分布式消息系统参数自适应优化方法 - Google Patents
一种基于强化学习的分布式消息系统参数自适应优化方法 Download PDFInfo
- Publication number
- CN113132482A CN113132482A CN202110417493.9A CN202110417493A CN113132482A CN 113132482 A CN113132482 A CN 113132482A CN 202110417493 A CN202110417493 A CN 202110417493A CN 113132482 A CN113132482 A CN 113132482A
- Authority
- CN
- China
- Prior art keywords
- parameter
- parameters
- current
- value
- sample data
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于强化学习的分布式消息系统参数自适应优化方法,属于分布式计算体系与架构技术领域;本发明所针对的场景是当下AIoT网络环境中的消息传递场景,该场景的特点是大量的终端之间会进行海量的消息互传,且每个终端传输的消息的容量和传输的频次多变。本发明所针对的参数是一些影响分布式消息系统性能的关键参数,而这些参数通常直接采用默认参数配置可能导致在该场景下达不到最优的集群吞吐量性能。因此在有限的硬件环境下,采用一种基于策略梯度的强化学习的的强化学习方法进行参数的自适应优化,从而使得优化后的分布式消息中间件能适应AIoT网络环境中不同的消息传递的场景,提升分布式消息系统的性能。
Description
技术领域
本发明属于分布式计算体系与架构技术领域,具体涉及一种基于强化学习的分布式消息系统参数自适应优化方法。
背景技术
随着5G的商业化应用和人能智能技术的发展,传统物联网(IoT)已经无法满足传统企业对业务扩展的需求,而AI技术和边缘环境的发展,使得两种技术结合并应用于智能物联网(AIoT)的应用场景越来越常见。
随着AIoT的应用领域逐渐的推广,例如无人机、无人驾驶、智能终端协作和智慧城市等领域,这些应用场景有个共同的特点,就是大量的终端之间会进行海量的消息互传,且每个终端传输的消息的容量和传输的频次多变。
其次,由于这些终端之间通常是一种分散的计算架构,其缺乏一种较好的集中管理消息传递的机制。
AIoT所处的网络环境中通常需要依赖一种处理机制以提供一种延迟较小的实时数据传递能力,尤其是当有大量的实时消息产生,分布式消息中间件可以减轻消息传输过程中存在的消息丢失和网络拥塞问题。
西安电子科技大学申请的专利“分布式消息中间件性能预测与建模方法”(申请号:CN201710553030.9申请日期:2017.07.07公开号:CN107360026A公开日:2017-11-17)公开了一种分布式消息中间件性能预测与建模方法,解决现有中间件预测没有考虑特征取值、无法基于特征对中间件性能有效预测的问题,该方法通过特征筛选、正交实验设计、中间件性能测试、实验结果预处理、训练预测模型、预测模型验证得到了准确的分布式消息中间件的性能预测模型,并实现了准确预测,可用于分布式消息中间件的吞吐量性能预测领域。该方法的不足是正交试验过程太过复杂,且未能提出一种分布式中间件的特征(参数)自适应优化的方法提升分布式消息中间件的性能。
而传统的消息中间件中存在数十个可调的参数,因此如何根据当前的网络环境状态,如终端个数的变化、消息大小和消息发送频次等自适应的优化消息中间件的参数的能力成为了一个新的热点,本专利主要就着重解决AIoT应用场景中的分布式消息系统性能优化问题。
发明内容
发明目的:在于克服上述背景技术的不足,提供一种基于强化学习的分布式消息系统参数自适应优化方法。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于强化学习的分布式消息系统参数自适应优化方法,包括如下步骤:
步骤1:根据消息中间件的官方配置文档获取消息中间件中对性能影响定义为高的n个参数;
步骤2:生成训练样本数据集Ts;
步骤3:使用一位有效编码(One-hot encoding)对训练样本数据集Ts进行预处理,处理的结果使得离散型和连续型参数的取值类型统一转换为数值型,形成标准训练样本数据集St;
步骤4:对标准训练样本数据集St进行降维;如利用主成分分析方法中的特征值分解协方差法或者奇异值分解协方差法;
步骤5:利用Lasso回归算法对标准训练样本数据集St进行迭代计算,获得n个参数的权重集合Ws,然后根据权重集合Ws对n个参数进行进一步筛选出一个初始关键参数集合Kp;
步骤6:根据筛选得到的初始关键参数集合Kp及其权重建立初步的性能预测模型。根据消息中间件的官方配置文档获取初始关键参数集合Kp中参数之间具有相关性的部分参数集合Cp,在部分参数集合Cp中比较具有相关性的参数之间的权重大小,删除权重值小的参数,建立最终的性能预测模型,其最终关键参数集合为Kx;
步骤7:利用最终的性能预测模型中的最终关键参数集合Kx构建一个基于策略梯度的强化学习方法的参数优化模型;
步骤8:对步骤7中建立的参数优化模型进行迭代训练并输出调优结果,该结果给出了当前环境下的优化参数配置。
进一步地,所述的步骤2具体包括:对n个参数进行取值,因为消息中间件的每个参数都有其默认值,并且n个参数的取值可以分为离散型和连续型,离散型参数例如分类参数和离散数值型参数,连续型参数例如连续数值型参数,所以结合分布式消息系统当前的硬件环境,在参数的合理取值范围内,分别选取一个大于和小于默认值的参数数值,小于默认值的取值设为K0,默认值设为K1,大于默认值的取值设为K2,选取的参数数值根据该参数的特性要具有代表性意义;部分离散型参数只有两种取值;将n个参数取值集合{K0,K1,K2}组合生成训练样本数据集,此时的训练样本数据集为3n个。
进一步地,所述的步骤4具体包括如下步骤:
步骤4.1)输入样本数据集X={X1,X2,X3,…,Xn},X是一个n×3n矩阵,其中每列X1~Xn代表各个参数在标准训练样本数据集St中的取值集合,每行X(i)表示标准训练样本数据集St中的第i个样本数据集合;
步骤4.2)对X去中心化处理;使得X中的每一个参数值减去该参数三种样本取值的平均值;
步骤4.3)计算标准训练样本数据集矩阵的协方差XXT/n;其中T表示矩阵的转置;
步骤4.4)求协方差XXT/n的特征向量和特征值;
步骤4.5)选择特征值中最大的k个特征值,将其对应的k个特征向量分别作为行向量组成特征向量矩阵Q;
步骤4.6)计算Y=QX,则降维后的训练样本数据集即为Y,共包含最大的k个特征值所对应的k个最终训练样本向量集合Ft。
进一步地,所述的步骤5具体包括如下步骤:
步骤5.1)将k个最终训练样本集合Ft的参数数据在本专利场景下的分布式消息系统中配置并运行,测试并获取分布式消息系统运行的实际吞吐量y;
步骤5.2)将样本数据与吞吐量结合,构建一组由自变量最终训练样本集合Ft中的参数取值和因变量实际吞吐量y构成的训练数据对<Ft,y>;
步骤5.3)将性能预测模型设为fθ(x)=α0+α1x1+α2x2+...+αnxn,权重α的损失函数为k表示k个最终训练样本向量集合Ft,α为当前每个特征的权重,x(i)表示第i个最终样本数据集合,fα(x(i))表示第i个最终样本数据集合的预测吞吐量,y(i)表示第i个最终样本数据集合的实际吞吐量,λ为正则化参数;
步骤5.4)将正则化参数λ设为一个大于等于100的固定值,通过梯度下降的方法求解J(α),当J(α)的值达到最小或者达到指定的迭代次数时,输出得到各个参数的最终权重αx得到权重集合Ws;
步骤5.5)若权重集合Ws中至少有一个参数权重的绝对值|αx (i)|≥15,则去除权重绝对值|αx (i)|<15的参数得到筛选后的nx个关键参数生成初始关键参数集合Kp;若没有参数的权重绝对值|αx (i)|≥15,则权重结果不准确,返回步骤2重新生成训练样本数据集。
进一步地,所述的步骤7具体包括如下步骤:
步骤7.1)将已经转换为数值型的最终关键参数集合Kx的取值范围映射为深度强化学习中的状态空间,当前状态S是当前关键参数设定下所测量到的系统吞吐量大小Tr;设定的动作A为各个关键参数取值的增大、不变或减小;设定的奖励R为执行动作A之后当前状态即当前系统吞吐量的大小Tr与上一步系统吞吐量的大小Tr′的比值当该比值大于1时则设置奖励为1,比值小于1时则设置奖励为-1,其他情况设置为0;
步骤7.2)初始化当前评价(Critic)网络函数Q(S,A|ω))并设定其网络参数为ω、当前策略(Actor)网络函数μ(S|θ)并设定其网络参数为θ、Critic目标网络Q′(S,A|ω')其网络参数为ω′和Actor目标网络μ′(S|θ')并设定其网络参数为θ′,S表示当前状态,A表示当前状态下采取的动作;四个网络(Q,μ,Q′,μ′)都属于神经网络,Actor网络输入是当前的状态、奖励和下一步的状态,输出是下一步应当执行的动作,Critic网络对Actor网络输出的下一步动作进行评判,并输出评判结果;根据两个当前网络对两个目标网络进行软更新;初始化以下一些参数为合适的值,其中包括:软更新系数τ、衰退因子γ、经验回放池表D、批量梯度下降的样本数m、Critic目标网络迭代频率C、最大迭代次数F和当前迭代次数t,此处t初始值为0;初始化随机噪音函数
进一步地,所述的步骤8具体包括如下步骤:
步骤8.1)将最终关键参数集合Kx中的关键参数默认值在AIoT网络环境中的分布式消息系统中配置运行,获得分布式消息系统当前的吞吐量,将其设为状态序列的初始状态S0并得到它的特征向量φ(S0);
步骤8.3)执行动作At,即根据At改变当前参数配置,得到新的状态St+1,根据新的状态St+1和前一步状态St得到执行动作At而获得的当前奖励Rt,观察新的状态St+1,得到其特征向量φ(St+1);
步骤8.4)将四元组{φ(St),At,Rt,φ(St+1)}存入到经验回放池表D;
步骤8.5)根据奖励判断当前状态,如果奖励为1,则将当前状态更新为St+1,t更新为t+1,否则当前状态不变;
步骤8.6)从经验回放池表D中随机采集批量梯度下降的样本数m个,分别为{φ(Sj),Aj,Rj,φ(Sj+1)},j∈m,φ(Sj)表示m个随机采集批量梯度下降的样本中第j个批量梯度下降的样本的特征向量,Aj表示其采取的动作,Rj表示执行动作Aj获得的奖励,φ(Sj+1)表示执行动作Aj后下一步的状态的特征向量;设置当前的Critic目标网络值为yj=Rj+γQ′(φ(Sj+1),πθ′(φ(Sj+1))|ω′),πθ′(φ(Sj+1))表示Critic目标网络对φ(Sj+1)执行的策略。
步骤8.9)当t%C=1时(此处%是取余计算),更新Critic目标网络的参数ω′和Actor目标网络的参数θ′:ω′←τω+(1-τ)ω′,θ′←τθ+(1-τ)θ′;
步骤8.10)如果达到最大迭代次数F,则迭代停止;否则转到步骤8.2);
步骤8.11)迭代完毕后,输出最终动作AF中参数的配置数据,该数据是当前环境下的优化参数配置。
发明原理:为了应对不同的消息传输场景需要对消息中间件的参数进行自适应优化,本发明应对的是AIoT的网络环境中存在的大量终端之间进行海量消息传输的场景,传统的消息中间件都是应用于终端与数据中心之间的消息传输,针对AIoT的网络环境中海量消息互传的消息中间件的研究不足,因此本发明通过一种算法对分布式消息系统进行数据样本采集和性能建模,在不增加额外分布式节点的情况下,通过强化学习的方法迭代计算不同参数配置下的系统性能变化,以达到优化消息中间件的关键参数配置优化系统的吞吐量,提高系统性能。
有益效果:与现有技术相比,本发明所针对的场景是当下AIoT网络环境中的消息传递场景,该场景的特点是大量的终端之间会进行海量的消息互传,且每个终端传输的消息的容量和传输的频次多变。本算法所针对的参数是一些影响分布式消息系统性能的关键参数,而这些参数通常直接采用默认参数配置而导致性能达不到最优。在有限的硬件环境下,采用一种基于强化学习中基于策略梯度的强化学习的的方法进行参数的自适应优化,从而使得优化后的消息中间件能自动适应AIoT边缘环境中不同的消息互传的场景,提升分布式消息系统的性能。
附图说明
图1表示基于策略梯度的强化学习的分布式消息系统参数优化流程图;
图2表示基于策略梯度的强化学习的实现框架。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
一种基于策略梯度的强化学习方法,包括如下具体步骤:
步骤1:获取当前分布式消息系统的消息中间件中可能影响性能的n个参数;
步骤2:生成训练样本数据集Ts;对n个参数进行取值,因为消息中间件的每个参数取值都有其默认值,n个参数取值类型分为离散型和连续型,离散型参数例如分类参数和离散数值型参数,连续型参数例如连续数值型参数,所以结合分布式消息系统当前的硬件环境在参数的合理取值范围内,分别选取一个大于和小于默认值的参数值,小于默认值的取值设为K0,默认值设为K1,大于默认值的取值设为K2,选取的参数值根据该参数的特性要具有代表性意义。部分离散型参数只有两种取值。将n个参数取值集合{K0,K1,K2}组合生成初始的训练样本数据集,初始的训练样本数据集为3n个。
步骤3:使用一位有效编码(One-hot encoding)对训练样本数据集Ts进行预处理,处理的结果使得离散型和连续型参数统一转换为数值型,形成标准训练样本数据集St;
步骤4:对标准训练样本数据集St进行降维。如利用主成分分析方法中的特征值分解协方差法或奇异值分别协方差法。具体方案如下:
步骤4.1)输入标准训练样本数据集X={X1,X2,X3,…,Xn},X是一个n×3n矩阵,其中每列X1~Xn代表各个参数在标准训练样本数据集St中的取值集合,每行X(i)表示标准训练样本数据集St中的第i个样本数据集合;
步骤4.2)对X去中心化处理。使得X中的每一个参数值减去该参数三种样本取值的平均值;
步骤4.3)计算X的协方差XXT/n;其中T为转置;
步骤4.4)求协方差XXT/n的特征向量和特征值;
步骤4.5)选择特征值中最大的k个特征值,将其对应的k个特征向量分别作为行向量组成特征向量矩阵Q;
步骤4.6)计算Y=QX,则降维后的样本数据集即为Y,共包含最大的k个特征值所对应的k个最终训练样本集合Ft。
步骤5:利用Lasso回归算法对标准训练样本数据集St进行迭代计算,获得n个参数的权重集合Ws,然后根据权重集合Ws对n个参数进行进一步筛选出一个初始关键参数集合Kp;
具体方案如下:
步骤5.1)将k个最终训练样本集合Ft的参数数据在本发明场景下的分布式消息系统中配置并运行,测试并获取分布式消息系统运行的实际吞吐量y;
步骤5.2)将样本数据与吞吐量结合,构建一组由自变量最终训练样本集合Ft中的参数取值和因变量实际吞吐量y构成的训练数据对<Ft,y>;
步骤5.3)将性能预测模型设为fθ(x)=α0+α1x1+α2x2+...+αnxn,权重α的损失函数为k表示k个最终训练样本集合Ft,α为当前每个特征的权重,x(i)表示第i个最终样本数据集合,fα(x(i))表示第i个最终样本数据集合的预测吞吐量,y(i)表示第i个最终样本数据集合的实际吞吐量,λ为正则化参数;
步骤5.4)将正则化参数λ设为一个大于等于100的固定值,通过梯度下降的方法求解J(α),当J(α)的值达到最小时或者达到指定的迭代次数时,输出得到各个参数的最终权重αx得到权重集合Ws;
步骤5.5)若权重集合Ws中至少有一个参数权重的绝对值|αx (i)|≥15,则去除权重绝对值|αx (i)|<15的参数得到筛选后的nx个关键参数;若没有参数的权重绝对值|αx (i)|≥15,则权重计算结果不准确,返回步骤2重新生成训练样本数据集。
步骤6:根据筛选得到的初始关键参数集合Kp及其权重建立初步的性能预测模型。根据消息中间件的官方配置文档获取关键参数集合Kp中参数之间具有相关性的部分参数集合Cp,在部分参数集合Cp中比较具有相关性的参数之间的权重大小,删除权重值小的参数,建立最终的性能预测模型,其最终关键参数集合为Kx。
步骤7:利用最终的性能预测模型中的最终关键参数集合Kx构建基于策略梯度的强化学习的参数优化模型。
具体方案包括:
步骤7.1)将已经转换为数值型的最终关键参数集合Kx的取值范围映射为深度强化学习中的状态空间,当前状态S是当前关键参数设定下所测量到的系统吞吐量大小Tr;设定的动作A为各个关键参数取值的增大、不变或减小;设定的奖励R为执行动作A之后当前状态即当前系统吞吐量的大小Tr与上一步系统吞吐量的大小Tr′的比值当该比值大于1时则设置奖励为1,比值小于1时则设置奖励为-1,其他情况设置为0;
步骤7.2)初始化当前评价(Critic)网络函数Q(S,A|ω))并设定其网络参数为ω、当前策略(Actor)网络函数μ(S|θ)并设定其网络参数为θ、Critic目标网络Q′(S,A|ω')其网络参数为ω′和Actor目标网络μ′(S|θ')并设定其网络参数为θ′,S表示当前状态,A表示当前状态下采取的动作;四个网络(Q,μ,Q′,μ′)都属于神经网络,Actor网络输入是当前的状态、奖励和下一步的状态,输出是下一步应当执行的动作,Critic网络对Actor网络输出的下一步动作进行评判,并输出评判结果;根据两个当前网络对两个目标网络进行软更新;初始化以下一些参数为合适的值,其中包括:软更新系数τ、衰退因子γ、经验回放池表D、批量梯度下降的样本数m、Critic目标网络迭代频率C、最大迭代次数F和当前迭代次数t,此处t初始值为0;初始化随机噪音函数
步骤8:对步骤7的参数优化模型进行迭代训练并输出调优结果,该结果给出了当前环境下的优化参数配置。
具体方案包括:
步骤8.1)将最终关键参数集合Kx以默认值在AIoT网络环境中的分布式消息系统中配置运行,获得分布式消息系统当前的吞吐量,将其设为状态序列的初始状态S0并得到它的特征向量φ(S0);
步骤8.3)执行动作At,即根据At改变当前参数配置,得到新的状态St+1,根据新的状态St+1和前一步状态St得到执行动作At而获得的当前奖励Rt,观察新的状态St+1,得到其特征向量φ(St+1);
步骤8.4)将四元组{φ(St),At,Rt,φ(St+1)}存入到经验回放池表D;
步骤8.5)根据奖励判断当前状态,如果奖励为1,则将当前状态更新为St+1,t更新为t+1,否则当前状态不变;
步骤8.6)从经验回放池表D中随机采集批量梯度下降的样本数m个,分别为{φ(Sj),Aj,Rj,φ(Sj+1)},j∈m,φ(Sj)表示m个随机采集批量梯度下降的样本中第j个批量梯度下降的样本的特征向量,Aj表示其采取的动作,Rj表示执行动作Aj获得的奖励,φ(Sj+1)表示执行动作Aj后下一步的状态的特征向量;设置当前的Critic目标网络值为yj=Rj+γQ′(φ(Sj+1),πθ′(φ(Sj+1))|ω′),πθ′(φ(Sj+1))表示Critic目标网络对φ(Sj+1)执行的策略。
步骤8.9)当t%C=1时(此处%是取余计算),更新Critic目标网络的参数ω′和Actor目标网络的参数θ′:ω′←τω+(1-τ)ω′,θ′←τθ+(1-τ)θ′;
步骤8.10)如果达到最大迭代次数F,则迭代停止;否则转到步骤8.3);
步骤8.11)迭代完毕后,输出最终动作AF中参数的配置数据,该数据是当前环境下的优化参数配置。
实施例
设置当前分布式消息系统规模是64个终端产生大小服从正态分布的矩阵消息,消息大小的均值为512KB,标准差为100,消息频次为每秒发送2条消息;影响当前分布式消息系统性能的22个参数如表1参数描述表所示;
S1:生成训练样本数据集;对影响分布式消息系统性能的22个参数进行取值如表2参数取值表所示;组合生成训练样本数据集,共有322个训练样本数据集;
S2:对训练样本数据集的数据进行预处理。通过一位有效编码使得22个参数中的分类参数如compression.type变成数值型变量,形成标准样本数据集;
S3:对标准样本数据集进行降维。通过主成分分析法对322个训练样本进行降维,输入样本数据集X={X1,X2,X3,…,X22},进行中心化处理之后计算协方差XXT/22,用特征值分解法求协方差的特征值和特征向量,将特征值从大到小排序,筛选其中最大的80个特征值,将其对应的80个特征向量分别作为行向量组成特征向量矩阵Q。计算求得Y=QX,Y即为得到的80个最终训练样本集合;
S4:将80个最终训练样本集合在分布式消息系统中配置运行得到对应配置的吞吐量;将样本数据与吞吐量结合,构建一组由自变量最终训练样本集合中的参数和因变量吞吐量构成的训练数据对;
S5:将性能预测模型设为fθ(x)=α0+α1x1+α2x2+...+α22x22,损失函数为λ设为100。利用梯度下降的方法求解,当J(α)的值达到最小或者达到指定的迭代次数时,输出得到即各个参数的最终权重;
S6:去除权重绝对值小于15的参数得到筛选关键参数,如表3参数权重表所示;
S7:利用性能预测模型中的关键参数构建基于策略梯度的强化学习的的参数优化模型。
具体方案:
1)将已经转换为数值型的关键参数的取值范围映射为深度强化学习中的状态空间,当前状态是当前关键参数配置下系统的吞吐量。设定的动作A为各个关键参数取值的增大、不变或减小。设定的奖励R为执行动作A之后当前系统的吞吐量大小与上一步系统的吞吐量大小的比值,比值大于1则设置奖励为1,比值小于1则设置奖励为-1,其他情况设置为0;
2)初始化评价(Critic)网络Q(s,a|ω))、策略(Actor)网络μ(s|θ)、Critic目标网络Q(s,a|ω')和Actor目标网络μ(s|θ'),初始化软更新系数τ=0.01、衰退因子γ=0.95、经验回放池表D为1000、批量梯度下降的样本数m=32、目标Q网络迭代频率C=100、最大迭代次数T=1000和当前迭代次数t=0。初始化随机噪音函数
S8:对S7中的参数优化模型进行迭代训练并输出调优结果,得到当前环境下的参数优化配置结果。
具体方案:
1)将关键参数默认值在AIoT的分布式消息系统中配置运行,设为状态序列的初始状态S0并得到它的特征向量φ(S0);
3)执行动作At,即根据At改变当前参数数值,得到新的状态St+!,根据新的状态St+1和前一步状态St得到执行动作At获得的奖励Rt,观察新的状态St+1,得到其特征向量φ(St+1);
4)将四元组{φ(St),At,Rt,φ(St+1)}存入到经验回放池表D;
5)根据奖励判断当前状态,如果奖励为1,则将当前状态更新为St+1,t更新为t+1,否则当前状态不变;
6)从经验回放池表D中随机采样32个,分别为{φ(Sj),Aj,Rj,φ(Sj+1)},j=1,2,…,32,设置当前Critic网络值为yj=Rj+γQ′(φ(Sj′),πθ′(φ(Sj′))|ω′);
9)当前迭代次数t%100=1时,软更新Critic目标网络和Actor目标网络的参数:ω′←τω+(1-τ)ω′,θ′←τθ+(1-τ)θ′;
10)如果达到迭代次数1000,则迭代停止;否则转到步骤2);
11)迭代完毕后,输出最终动作AF中参数的配置情况,即为性能优化后的配置,如表4参数最终配置表所示。
表1参数描述
表2参数取值
表3参数权重
参数名称 | 权重 |
bThreads | 15.03 |
cType | 70.35 |
nNThreads | 23.74 |
nIThreads | 25.16 |
mMBytes | 60.35 |
qMRequests | 124.32 |
nRFetchers | -24.59 |
sRBBytes | 70.42 |
sSBBytes | 120.35 |
sRMBytes | 54.36 |
acks | 43.58 |
bMemory | 73.66 |
bSize | -170.95 |
lMs | 34.32 |
表4参数最终配置
Claims (6)
1.一种分布式消息系统参数自适应优化方法,其特征在于:包括如下步骤:
步骤1:根据消息中间件的官方配置文档获取消息中间件中影响性能的n个参数;
步骤2:生成训练样本数据集Ts;
步骤3:使用一位有效编码对训练样本数据集Ts进行预处理,处理的结果使得离散型和连续型参数的取值类型统一转换为数值型,形成标准训练样本数据集St;
步骤4:对标准训练样本数据集St进行降维;
步骤5:利用Lasso回归算法对标准训练样本数据集St进行迭代计算,获得n个参数的权重集合Ws,然后根据权重集合Ws对n个参数进行进一步筛选出一个关键参数集合Kp;
步骤6:根据筛选得到的关键参数集合Kp及其权重建立初步的性能预测模型;根据消息中间件的官方配置文档获取关键参数集合Kp中参数之间具有相关性的参数集合Cp,在参数集合Cp中比较具有相关性的参数之间的权重大小,删除权重值小的参数,建立最终的性能预测模型,其最终关键参数集合为Kx;
步骤7:利用最终的性能预测模型中的最终关键参数集合Kx构建一个基于策略梯度的强化学习方法的参数优化模型;
步骤8:对步骤7的参数优化模型进行迭代训练并输出调优结果,该结果给出了当前环境下的优化参数配置。
2.根据权利要求1所述的一种分布式消息系统参数自适应优化方法,其特征在于:所述的步骤2具体包括:对n个参数进行取值,结合分布式消息系统当前的硬件环境在参数的合理取值范围内,分别选取一个大于和小于默认值的参数数值,小于默认值的取值设为K0,默认值设为K1,大于默认值的取值设为K2,部分离散型参数只有两种取值;将n个参数取值集合{K0,K1,K2}组合生成初始的训练样本数据集,初始的训练样本数据集为3n个。
3.根据权利要求2所述的一种分布式消息系统参数自适应优化方法,其特征在于:所述的步骤4具体包括如下步骤:
步骤4.1)输入标准训练样本数据集X={X1,X2,X3,…,Xn},X是一个n×3n矩阵,其中每列X1~Xn代表各个参数在标准训练样本数据集St中的取值集合,每行X(i)表示标准训练样本数据集St中的第i个样本数据集合;
步骤4.2)对X去中心化处理,使得X中的每一个参数值减去该参数三种样本取值的平均值;
步骤4.3)计算X的协方差XXT/n;其中T为转置;
步骤4.4)求协方差XXT/n的特征向量和特征值;
步骤4.5)选择特征值中中最大的k个特征值,将其对应的k个特征向量分别作为行向量组成特征向量矩阵Q;
步骤4.6)计算Y=QX,则降维后的样本数据集即为Y,共包含最大的k个特征值所对应的k个最终训练样本集合Ft。
4.根据权利要求3所述的一种分布式消息系统参数自适应优化方法,其特征在于:所述的步骤5具体包括如下步骤:
步骤5.1)根据k个最终训练样本集合Ft的参数数据在本专利场景下的分布式消息系统中配置并运行,测试并获取分布式消息系统运行的实际吞吐量y;
步骤5.2)将样本数据与吞吐量结合,构建一组由自变量最终训练样本集合Ft中的参数和因变量实际吞吐量y构成的训练数据对<Ft,y>;
步骤5.3)将性能预测模型设为fθ(x)=α0+α1x1+α2x2+...+αnxn,权重α的损失函数为k表示k个最终训练样本集合Ft,α表示当前每个特征的权重,x(i)表示第i个最终样本数据集合,fα(x(i))表示第i个最终样本数据集合的预测吞吐量,y(i)表示第i个最终样本数据集合的实际吞吐量,λ为正则化参数;
步骤5.4)将正则化参数λ设为一个大于等于100的固定值,通过梯度下降的方法求解J(α),当J(α)的值达到最小或者达到指定的迭代次数时,输出得到各个参数的最终权重αx得到权重集合Ws;
步骤5.5)若权重集合Ws中至少有一个参数权重的绝对值|αx (i)|≥15,则去除权重绝对值|αx (i)|<15的参数得到筛选后的nx个关键参数得到关键参数集合Kp;若没有参数的权重绝对值|αx (i)|≥15,则权重计算结果不准确,返回步骤2重新生成训练样本数据集。
5.根据权利要求4所述的一种分布式消息系统参数自适应优化方法,其特征在于:所述的步骤7具体包括如下步骤:
步骤7.1)将已经转换为数值型的最终关键参数集合Kx的取值范围映射为深度强化学习中的状态空间,当前状态S是当前关键参数设定下所测量到的系统吞吐量大小Tr;设定的动作A为各个关键参数取值的增大、不变或减小;设定的奖励R为执行动作A之后当前状态即当前系统吞吐量的大小Tr与上一步系统吞吐量的大小Tr′的比值当该比值大于1时则设置奖励为1,比值小于1时则设置奖励为-1,其他情况设置为0;
步骤7.2)初始化当前评价(Critic)网络函数Q(S,A|ω))并设定其网络参数为ω、当前策略(Actor)网络函数μ(S|θ)并设定其网络参数为θ、Critic目标网络Q′(S,A|ω')其网络参数为ω′和Actor目标网络μ′(S|θ')并设定其网络参数为θ′,S表示当前状态,A表示当前状态下采取的动作;四个网络(Q,μ,Q′,μ′)都属于神经网络,Actor网络输入是当前的状态、奖励和下一步的状态,输出是下一步应当执行的动作,Critic网络对Actor网络输出的下一步动作进行评判,并输出评判结果;根据两个当前网络对两个目标网络进行软更新;初始化以下一些参数为合适的值,其中包括:软更新系数τ、衰退因子γ、经验回放池表D、批量梯度下降的样本数m、Critic目标网络迭代频率C、最大迭代次数F和当前迭代次数t,此处t初始值为0;初始化随机噪音函数
6.根据权利要求5所述的一种分布式消息系统参数自适应优化方法,其特征在于:所述的步骤8具体包括如下步骤:
步骤8.1)将最终关键参数集合Kx内的关键参数以默认值在AIoT网络环境中的分布式消息系统中配置运行,获得分布式消息系统当前的吞吐量,将其设为状态序列的初始状态S0并得到它的特征向量φ(S0);
步骤8.3)执行动作At,即根据At改变当前参数配置,得到新的状态St+1,根据新的状态St+1和前一步状态St得到执行动作At而获得的当前奖励Rt,观察新的状态St+1,得到其特征向量φ(St+1);
步骤8.4)将四元组{φ(St),At,Rt,φ(St+1)}存入到经验回放池表D;
步骤8.5)根据奖励判断当前状态,如果奖励为1,则将当前状态更新为St+1,t更新为t+1,否则当前状态不变;
步骤8.6)从经验回放池表D中随机采集批量梯度下降的样本数m个,分别为{φ(Sj),Aj,Rj,φ(Sj+1)},j∈m,φ(Sj)表示m个随机采集批量梯度下降的样本中第j个批量梯度下降的样本的特征向量,Aj表示其采取的动作,Rj表示执行动作Aj获得的奖励,φ(Sj+1)表示执行动作Aj后下一步的状态的特征向量;设置当前的Critic目标网络值为yj=Rj+γQ′(φ(Sj+1),πθ′(φ(Sj+1))|ω′),πθ′(φ(Sj+1))表示Critic目标网络对φ(Sj+1)执行的策略;
步骤8.9)当t%C=1时(此处%是取余计算),更新Critic目标网络的参数ω′和Actor目标网络的参数θ′:ω′←τω+(1-τ)ω′,θ′←τθ+(1-τ)θ′;
步骤8.10)如果达到最大迭代次数F,则迭代停止;否则转到步骤8.2);
步骤8.11)迭代完毕后,输出最终动作AF中参数的配置数据,该数据是当前环境下的优化参数配置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110394730 | 2021-04-13 | ||
CN2021103947304 | 2021-04-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132482A true CN113132482A (zh) | 2021-07-16 |
CN113132482B CN113132482B (zh) | 2022-10-14 |
Family
ID=76777640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110417493.9A Active CN113132482B (zh) | 2021-04-13 | 2021-04-19 | 一种基于强化学习的分布式消息系统参数自适应优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113132482B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114000A (zh) * | 2022-06-28 | 2022-09-27 | 重庆大学 | 一种边缘计算中多任务并行计算实现方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134697A (zh) * | 2019-05-22 | 2019-08-16 | 南京大学 | 一种面向键值对存储引擎的参数自动调优方法、装置、系统 |
US10699192B1 (en) * | 2019-01-31 | 2020-06-30 | StradVision, Inc. | Method for optimizing hyperparameters of auto-labeling device which auto-labels training images for use in deep learning network to analyze images with high precision, and optimizing device using the same |
US20200272905A1 (en) * | 2019-02-26 | 2020-08-27 | GE Precision Healthcare LLC | Artificial neural network compression via iterative hybrid reinforcement learning approach |
CN111651220A (zh) * | 2020-06-04 | 2020-09-11 | 上海电力大学 | 一种基于深度强化学习的Spark参数自动优化方法及系统 |
CN112231113A (zh) * | 2020-09-18 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种消息传递方法和装置 |
-
2021
- 2021-04-19 CN CN202110417493.9A patent/CN113132482B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10699192B1 (en) * | 2019-01-31 | 2020-06-30 | StradVision, Inc. | Method for optimizing hyperparameters of auto-labeling device which auto-labels training images for use in deep learning network to analyze images with high precision, and optimizing device using the same |
US20200272905A1 (en) * | 2019-02-26 | 2020-08-27 | GE Precision Healthcare LLC | Artificial neural network compression via iterative hybrid reinforcement learning approach |
CN110134697A (zh) * | 2019-05-22 | 2019-08-16 | 南京大学 | 一种面向键值对存储引擎的参数自动调优方法、装置、系统 |
CN111651220A (zh) * | 2020-06-04 | 2020-09-11 | 上海电力大学 | 一种基于深度强化学习的Spark参数自动优化方法及系统 |
CN112231113A (zh) * | 2020-09-18 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种消息传递方法和装置 |
Non-Patent Citations (1)
Title |
---|
刘建伟等: "基于值函数和策略梯度的深度强化学习综述", 《计算机学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114000A (zh) * | 2022-06-28 | 2022-09-27 | 重庆大学 | 一种边缘计算中多任务并行计算实现方法及装置 |
CN115114000B (zh) * | 2022-06-28 | 2024-05-10 | 重庆大学 | 一种边缘计算中多任务并行计算实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113132482B (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113242568A (zh) | 一种不确定网络环境中的任务卸载和资源分配方法 | |
WO2019184836A1 (zh) | 数据分析设备、多模型共决策系统及方法 | |
CN113938488A (zh) | 一种基于动静态加权轮询的负载均衡方法 | |
CN113691594B (zh) | 一种基于二阶导数解决联邦学习中数据不平衡问题的方法 | |
CN114585006B (zh) | 基于深度学习的边缘计算任务卸载和资源分配方法 | |
CN114625506A (zh) | 一种基于自适应协方差矩阵进化策略的边缘云协同任务卸载方法 | |
CN116233026B (zh) | 一种用于数据中心的智能管理方法及系统 | |
CN116340006A (zh) | 一种基于深度学习的算力资源空闲预测方法和存储介质 | |
CN114490065A (zh) | 一种负载预测方法、装置及设备 | |
CN113961204A (zh) | 一种基于多目标强化学习的车联网计算卸载方法及系统 | |
CN113132482B (zh) | 一种基于强化学习的分布式消息系统参数自适应优化方法 | |
CN115578248A (zh) | 一种基于风格引导的泛化增强图像分类算法 | |
CN114781545A (zh) | 一种联邦学习方法及系统 | |
CN115967990A (zh) | 一种基于分类和预测的边端协同业务卸载方法 | |
CN113541985A (zh) | 物联网故障诊断方法、模型的训练方法及相关装置 | |
CN114417739A (zh) | 一种异常工况的工艺参数推荐方法及装置 | |
CN114510871A (zh) | 基于思维进化和lstm的云服务器性能衰退预测方法 | |
CN114546609A (zh) | 一种面向异构集群的dnn推理任务批调度方法 | |
CN113676357A (zh) | 面向电力物联网中边缘数据处理的决策方法及其应用 | |
CN113194031A (zh) | 雾无线接入网内结合干扰抑制的用户聚类方法及系统 | |
CN114449536B (zh) | 一种基于深度强化学习的5g超密集网络多用户接入选择方法 | |
CN116303386A (zh) | 一种基于关系图谱的缺失数据智能插补方法和系统 | |
CN116010832A (zh) | 联邦聚类方法、装置、中心服务器、系统和电子设备 | |
CN116522747A (zh) | 一种两阶段优化的挤压铸造工艺参数优化设计方法 | |
CN114677535A (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 |