首页 > 专利 > 杭州电子科技大学 > 云计算环境下一种高性能大数据分析系统自适应配置方法专利详情

云计算环境下一种高性能大数据分析系统自适应配置方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2018-10-10
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-04-02
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2021-08-10
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2038-10-10
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201811177798.1 申请日 2018-10-10
公开/公告号 CN109445935B 公开/公告日 2021-08-10
授权日 2021-08-10 预估到期日 2038-10-10
申请年 2018年 公开/公告年 2021年
缴费截止日
分类号 G06F9/50G06N3/08 主分类号 G06F9/50
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 2
权利要求数量 3 非专利引证数量 1
引用专利数量 1 被引证专利数量 0
非专利引证 1、2016.06.02闻静.基于CPU利用率预测的虚拟机动态部署方法研究《.中国优秀硕士学位论文全文数据库 信息科技辑》.2016,Sajib Kundu等.Application performancemodeling in a virtualized environment. 《IEEE》.2010,;
引用专利 US2016154676A 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 蒋从锋、葛浙奉、樊甜甜、仇烨亮、万健、张纪林、殷昱煜、任祖杰 第一发明人 蒋从锋
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 8
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
浙江千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明公开了一种云计算环境下一种高性能的大数据分析系统自适应配置方法。本发明应用深度神经网络模型来自适应配置云环境下大数据分析系统的资源。通过识别大数据分析系统的任务负载特征和平台性能特性,动态自适应的对大数据分析系统进行资源配置和管理。本发明不仅可以满足大数据分析系统对资源的性能要求,自适应的配置系统,实现系统性能随着负载规模自动扩展,提高服务质量,而且可以降低资源使用,节省系统的运行成本。
  • 摘要附图
    云计算环境下一种高性能大数据分析系统自适应配置方法
  • 说明书附图:图1
    云计算环境下一种高性能大数据分析系统自适应配置方法
  • 说明书附图:图2
    云计算环境下一种高性能大数据分析系统自适应配置方法
  • 说明书附图:图3
    云计算环境下一种高性能大数据分析系统自适应配置方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-08-10 授权
2 2019-04-02 实质审查的生效 IPC(主分类): G06F 9/50 专利申请号: 201811177798.1 申请日: 2018.10.10
3 2019-03-08 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.云计算环境下一种高性能的大数据分析系统自适应配置方法,其特征在于该方法包括如下步骤:
步骤1:基于Linux内核操作函数构建实时监控大数据分析系统性能的代理程序,监控吞吐量、任务等待时间、执行时间、任务分布、系统能耗,作为深度神经网络模型的目标输出,以训练深度神经网络模型;
步骤2:建立系统自适应配置的深度神经网络模型,所述深度神经网络模型输入为系统配置参数和待处理数据,输出为系统性能;将系统配置参数和待处理数据信息向量化,输入到深度神经网络模型的输入层;深度神经网络模型向量化输出系统性能;
步骤3:通过监督学习来训练所述深度神经网络模型,具体是:首先固定待处理数据输入参数不变,不断改变系统的配置参数,得到系统性能输出向量,与步骤1中得到的实际系统性能相比较,然后通过反向传播算法不断更新模型参数,得到初始模型;再不断为该深度神经网络模型输入数据,同样用监督学习和反向传播算法来训练该模型,检验该模型的准确性;不断训练深度神经网络模型,直至达到目标要求;
步骤4:根据步骤3中训练所得到的深度神经网络模型,得到系统性能与系统配置和数据输入参数的相关关系,生成映射表,该映射表在实际数据更新并输入计算,依据神经网络模型不断更新的参数,而不断更新此映射表;
步骤5:针对目标大数据分析系统,向深度神经网络模型系统输入待处理数据与目标系统性能,根据系统性能与系统配置参数的映射表,获取系统配置参数,以实现系统自适应配置;
步骤6:在得到稳定的深度神经网络模型后,对深度神经网络模型进行剪枝以进行模型压缩;具体是对模型进行网络剪枝,删减对神经网络模型不重要的参数:首先设置一个权值参数阈值,将每条连接上的权值与阈值相比较,将权值小于阈值的连接进行剪枝,完成全部剪枝后重新训练该神经网络模型,对训练好的模型再剪枝,再重新训练该神经网络模型,直到满足所设定条件;
步骤7:循环执行步骤1至步骤6,直到大数据分析系统终止。

2.根据权利要求1所述的云计算环境下一种高性能的大数据分析系统自适应配置方法,其特征在于:所述的深度神经网络模型中的隐藏层设置为两层,可根据实际需求更改隐藏层层数和神经元节点数量;神经元与神经元之间连接的权值需初始设置,以便训练神经网络模型。

3.根据权利要求1或2所述的云计算环境下一种高性能的大数据分析系统自适应配置方法,其特征在于:网络剪枝得到稀疏连接的神经网络模型后,通过权值共享,生成一张权值码表,里面记录了权值聚类后每一类的平均权值,而每条连接不需要存储具体权值参数,只需存储码本上对应权值的索引;然后对码本上的权值进行量化操作,用8比特长度的存储来表示32比特的精度;最后对量化后的权值进行霍夫曼编码,进一步缩减存储空间;训练压缩后的神经网络模型,只要对码本上的码字进行更新即可,并不断更新步骤4中的映射表。
说明书

技术领域

[0001] 本发明涉及大数据分析系统的自适应配置与系统资源管理与分配的实现方法,尤其在大规模部署虚拟化技术的云环境下,应用深度神经网络技术实现自适应配置系统资源,优化系统性能,提高应用的服务质量。

背景技术

[0002] 近些年来,随着信息与通信技术的进步,人类产生数据的速度越来越快,数据规模也变得越来越大。数据的爆炸式增长对数据处理技术的要求越来越高。因此,目前主要使用基于云计算平台的高性能大数据分析系统进行大数据处理与分析。传统的大数据平台配置方法主要是静态预分配系统资源给所需执行的任务,无法满足大数据处理业务负载及系统资源本身动态变化的情况。另外,由于待处理的数据规模、处理复杂度、业务逻辑的不同,大数据处理分析任务对处理平台的配置要求也不相同。对云计算环境下的大数据处理平台来说,若所分配系统资源过小,可能导致系统任务阻塞,造成服务质量下降;若所分配系统资源过大,则造成系统资源利用率低,浪费系统资源,增加系统运行成本。因此,在云计算环境下,面对不同特征类型的分析负载和数据应用,如何自适应动态构建一个高性能的、可扩展的大数据处理平台是个具有挑战性的问题。
[0003] 神经网络模型是由具有适应性的简单单元组成的广泛并行互连的网络模型,其最基本的组成是神经元模型(简单单元)。深度神经网络模型即具有较深层次的神经网络,具有更多层隐藏层,使用多层非线性处理单元级联进行问题模型特征提取和转换。深度神经网络后继层使用前层的输出作为自己的输入,通过数据转换、数据抽象和数据表达,实现具有可学习历史数据、不需要精确模型等优点,可用于构建复杂系统模型用于模式识别、分类、系统辨识,而不必关心模型具体实现。

发明内容

[0004] 本发明针对现有技术的不足,提供了一种云计算环境下一种高性能大数据分析系统自适应配置方法。
[0005] 本发明的具体步骤是:
[0006] 步骤1:基于Linux sysstat、perfctl及其它Linux内核操作函数构建实时监控大数据分析系统性能的代理程序,监控吞吐量、任务等待时间、执行时间、任务分布、系统能耗,作为深度神经网络模型的目标输出,以训练深度神经网络模型。
[0007] 步骤2:建立系统自适应配置的深度神经网络模型,所述深度神经网络模型输入为系统配置参数和待处理数据,输出为系统性能。将系统配置参数和待处理数据信息向量化,输入到深度神经网络模型的输入层;深度神经网络模型向量化输出系统性能。
[0008] 步骤3:通过监督学习来训练所述深度神经网络模型,具体是:首先固定待处理数据输入参数不变,不断改变系统的配置参数,得到系统性能输出向量,与步骤1中得到的实际系统性能相比较,然后通过反向传播算法不断更新模型参数,得到初始模型;再不断为该深度神经网络模型输入数据,同样用监督学习和反向传播算法来训练该模型,检验该模型的准确性。不断训练深度神经网络模型,直至达到目标要求。
[0009] 步骤4:根据步骤3中训练所得到的深度神经网络模型,得到系统性能与系统配置和数据输入参数的相关关系,生成映射表,该映射表在实际数据更新并输入计算,依据神经网络模型不断更新的参数,而不断更新此映射表。
[0010] 步骤5:针对目标大数据分析系统,向深度神经网络模型系统输入待处理数据与目标系统性能,根据系统性能与系统配置参数的映射表,获取系统配置参数,以实现系统自适应配置。
[0011] 步骤6:在得到稳定的深度神经网络模型后,对深度神经网络模型进行剪枝以进行模型压缩。具体是对模型进行网络剪枝,删减对神经网络模型不重要的参数:首先设置一个权值参数阈值,将每条连接上的权值与阈值相比较,将权值小于阈值的连接进行剪枝,完成全部剪枝后重新训练该神经网络模型,对训练好的模型再剪枝,再重新训练该神经网络模型,直到满足所设定条件。
[0012] 步骤7:循环执行步骤1至步骤6,直到大数据分析系统终止。
[0013] 本发明的有益效果:本发明应用深度神经网络模型来自适应配置云环境下大数据分析系统的资源。通过识别大数据分析系统的任务负载特征和平台性能特性,动态自适应的对大数据分析系统进行资源配置和管理。本发明不仅可以满足大数据分析系统对资源的性能要求,自适应的配置系统,实现系统性能随着负载规模自动扩展,提高服务质量,而且可以降低资源使用,节省系统的运行成本。

实施方案

[0017] 以下结合附图对本发明作进一步说说明。
[0018] 本发明是在云环境下应用深度神经网络,提出一种大数据分析系统的自适应配置方法,主要包括三个组件:实时监控大数据分析系统性能的代理程序,系统自适应配置的深度神经网络模型和深度神经网络模型压缩。
[0019] (1)实时监控大数据分析系统性能的代理程序
[0020] 应用服务器性能检测工具,利用Linux sysstat、perfctl及其它Linux内核操作函数来实时监控大数据分析系统的性能,本发明的监控代理程序主要用来监控吞吐量、任务等待时间、执行时间、任务分布、系统能耗等。
[0021] (2)系统自适应配置的深度神经网络模型
[0022] 本发明的深度神经网络模型的输入为CPU数量、内存容量、JVM配置等系统硬件资源和软件配置,输入还包括系统待处理数据;深度神经网络模型的输出为吞吐量、数据分析执行时间、系统时延、每瓦特性能(能效)等系统性能,模型的输入输出可以动态配置。
[0023] 图1为神经网络层次图。
[0024] 在本发明提出的深度神经网络模型中,根据大数据分析系统性能指标集合进行神经元分类标识并按照一定规则连接起来,神经元按照层来布局,包括输入层、输出层和隐藏层。输入层负责接收系统实时监控数据;输出层负责输出神经网络数据抽象和聚合;输入层和输出层之间为隐藏层,中间的隐藏层的层数和神经元节点根据服务器系统迭代能力和系统负载变化周期联合设置。隐藏层数量越多,节点数目越多,模型提取特征的能力就越强,但随之带来的是计算时间和系统能耗的增加。本发明根据实际要求进行设置隐藏层层数和神经元节点数量,并可动态修改配置。除输入层外,每个神经元都有计算能力,每个节点的输入为前一层所有节点输出与连接上的权值乘积之和,经过每个神经元激励函数非线性转换后作为输出。
[0025] 本发明的神经网络模型由4层神经元组成,其中包括一层输入层、两层隐藏层和一层输出层。为了不失一般性,图1中分别给出了4个输入神经元和4个输出神经元,神经网络的两层隐藏层分别由6个神经元(第一层隐藏层)和5个神经元(第二层隐藏层)组成。
[0026] 本发明的神经网络的输入参数用xi表示,所有的输入量形成一个输入向量 即:
[0027]
[0028] 其中x1,x2…分别表示CPU数量、内存容量等系统配置和待处理数据,总共有n个输入量。
[0029] 神经网络的输出数据用yj表示,所有的神经网络输出形成一个输出向量 即:
[0030]
[0031] 其中y1,y2,…分别表示吞吐量、执行时间等系统性能指标,总共有m个输出量。
[0032] 图1中,同一层的神经元之间没有连接,除输入层外,只有第n层的每个神经元与第n‑1层的所有神经元连接,如第5个神经元与输入层的4个神经元都相连,而且每个连接都有一个权值,分别记为w15、w25、w35、w45,这几个权值的初始值由系统启动时设定,记为超参数。通过系统多次实时计算和分析,即可得到该神经网络最合适的连接权值,确定神经网络中的各项参数。第n层的每个神经元的输入为第n‑1层所有神经元输出与连接权值乘积之和,如第5个神经元的输入为输入层中每个神经元也就是系统配置参数和待处理数据与连接权值的乘积,即
[0033] z5=x1·w15+x2·w25+x3·w35+x4·w45
[0034] 用向量表示为
[0035]
[0036] 本发明中,每个神经元经过激励函数非线性转换后作为输出,本发明使用的激励函数为sigmoid函数。由此可得每个神经元的输出为
[0037]
[0038] 输出层每个神经元的输出为
[0039]
[0040] 其中 为前一层上所有神经元与该神经元连接权值, 为前一层所有神经元输出。
[0041] 本发明使用深度神经网络输入系统初始配置参数和大数据处理系统的性能指标要求等参数,预测输出系统性能,通过迭代训练得到大数据处理系统配置参数和大数据系统性能之间的模型。用监督学习的方式来训练深度神经网络模型,实时监控代理程序中监测到的实际系统性能作为目标输出 即:
[0042]
[0043] 其中t1,t2,…分别表示监控代理程序实时监控到的系统吞吐量、执行时间等系统性能数据,共监控m个系统性能值,与神经网络模型的输出数量一致。
[0044] 在本发明中,比较目标输出和神经网络输出就可以得到目标与实际输出的差值,选择合适的代价函数,通过反向传播算法更新神经元节点连接的参数权值。首先通过不断改变系统配置参数,训练神经网络,不断更新参数,得到初始模型。接着不断改变待处理数据输入,继续训练模型并检验模型的准确性。
[0045] 图2为整个系统的架构图。
[0046] (3)深度神经网络模型压缩方法
[0047] 深度神经网络模型压缩是指利用数据集对已经训练好的深度神经网络模型进行精简操作,进而得到一个轻量且准确率相当的神经网络模型。压缩后的网络模型具有更小的结构和更少的参数,可以降低计算和存储开销。
[0048] 本发明在得到稳定的初始神经网络后,在不影响神经网络模型预测准确率的前提下,通过网络剪枝、权值共享、权值量化、权值参数编码等过程,对深度神经网络模型进行压缩。
[0049] 1)网络剪枝
[0050] 网络剪枝指删减神经网络模型中对输出结果影响不大的连接,即去除那些不重要的连接,进而加快模型的计算速度和减小模型的存储。图3是网络剪枝图。在本发明的神经网络剪枝中,删除那些权值较小的连接,再训练模型,即在得到稳定的深度神经网络模型之后,设定一个特定的权值阈值,删除连接权值比所设定阈值小的连接,得到新的神经网络模型,再训练该模型。重复上述步骤,直至达到神经网络系统迭代时间需求。
[0051] 2)权值共享
[0052] 权值共享让一些连接共享一个权值,以达到缩减参数个数的目的。假设相邻两层神经元是全连接,每层由1000个神经元,那么这两层之间就有1000×1000=100万个权值参数。可以将这100万个权值做聚类,用每一类的均值代替这一类中的每个权值大小,这样同属于一类的很多连接共享相同的权值,假设把100万个权值聚成1000个类,则可以把参数个数从100万减少到1000个。所以模型只要存储码本(聚类后的权值)和每个连接在码本中的索引,极大减少了存储空间。
[0053] 3)权值量化
[0054] 在未进行模型压缩之前,神经网络模型的参数一般都用32比特长度的浮点数表示,在本发明中,不需要这么高的精度来表示一个参数,所以可以通过量化,比如用8比特长度存储0~255来表示32比特所表示的精度,通过降低参数精度来提高计算速度和减少存储空间。
[0055] 4)权值编码
[0056] 本发明用霍夫曼编码对权值参数进行编码,首先对权值共享聚类后每个类中的连接进行计数,并按降序排序,对单个类中连接数最多的类的权值用最少位数来编码,并按此类推,以实现缩减存储空间。
[0057] 本发明方法的具体步骤是:
[0058] 步骤1:应用可实时监控大数据分析系统性能的代理程序,监控吞吐量、任务等待时间、执行时间、任务分布、系统能耗等系统参数。
[0059] 步骤2:建立系统自适应配置的深度神经网络模型,神经网络输入为系统配置参数和待处理数据系统性能需求值,输出为系统性能,包括吞吐量、执行时间等。
[0060] 步骤3:训练深度神经网络模型,首先固定待处理数据输入参数不变,改变系统的配置参数,得到初始模型;再不断为该神经网络模型输入数据,训练该模型,检验该模型的准确性。
[0061] 步骤4:通过神经网络模型得到系统配置参数和系统性能的函数关系,生成一张系统配置参数和在不同负载下与系统性能之间的映射表。
[0062] 步骤5:向系统输入所需分析数据与目标系统性能,根据系统配置参数与系统性能的映射表,获取系统配置参数,以实现系统自适应配置。
[0063] 步骤6:通过模型压缩,减小深度神经网络模型的规模,减少计算量,提高模型计算速度。
[0064] 步骤7:循环执行步骤1至步骤6,直到大数据分析系统终止。
[0065] 下面分别对上述实施步骤进行详细说明。
[0066] (1)步骤1
[0067] 基于Linux sysstat、perfctl及其它Linux内核操作函数构建实时监控大数据分析系统性能的代理程序,监控吞吐量、任务等待时间、执行时间、任务分布、系统能耗等系统性能,作为深度神经网络的目标输出,以训练深度神经网络。
[0068] (2)步骤2
[0069] 建立系统自适应配置的深度神经网络,神经网络输入为系统配置参数和待处理数据,输出为系统性能,包括吞吐量、执行时间等。将系统配置参数和待处理数据信息向量化,输入到深度神经网络的输入层;神经网络向量化输出系统性能。本发明中间的隐藏层设置为两层,可根据实际需求更改隐藏层层数和神经元节点数量。神经元与神经元之间连接的权值需初始设置,以便训练神经网络。
[0070] (3)步骤3
[0071] 为了得到神经网络的每个连接上合适的权值,训练神经网络,以确定网络模型参数。本发明通过监督学习来训练该神经网络,首先固定待处理数据输入参数不变,不断改变系统的配置参数,得到系统性能输出向量 与步骤1中得到的实际系统性能相比较,再通过反向传播算法不断更新模型参数,得到初始模型;再不断为该神经网络模型输入数据,同样用监督学习和反向传播算法来训练该模型,检验该模型的准确性。不断训练神经网络,直至达到目标要求。
[0072] 本发明使用的反向传播算法首先从神经网络的输出层开始,比较输出层神经元的输出yi与目标输出ti得到误差项di,di的计算公式根据不同的激励函数有所不同,本发明用的激励函数为sigmoid,
[0073]
[0074] 所以对于输出层神经元i,
[0075] di=yi·(1‑yi)·(ti‑yi)
[0076] 对于隐藏层神经元i,
[0077] di=ai·(1‑ai)·∑wik·dk
[0078] 其中ai是神经元i的输出值,wik是当前层神经元i到它下一层神经元k的连接的权值,dk是神经元k的误差项。
[0079] 最后,更新每个连接上的权值,
[0080] wji=wji+η·di·aj
[0081] 其中wji是神经元j到神经元i的权值,η是学习速率,根据实际大数据处理平台的性能反馈值进行设置,aj是第j个神经云的输出值。
[0082] 本发明使用的反向传播算法的详细描述如下:
[0083]
[0084]
[0085] (4)步骤4
[0086] 根据步骤3中训练所得到的深度神经网络模型,得到系统性能与系统配置和数据输入参数的相关关系,生成映射表,该映射表在实际数据更新并输入计算,依据神经网络不断更新的参数,而不断更新此映射表。
[0087] (5)步骤5
[0088] 针对目标大数据分析系统,向神经网络模型系统输入待处理数据与目标系统性能,根据系统性能与系统配置参数的映射表,获取系统配置参数,以实现系统自适应配置。
[0089] (6)步骤6
[0090] 在得到稳定的深度神经网络后,为了提升计算速度,减少存储空间,降低系统功耗,减小神经网络规模,对深度神经网络进行剪枝以进行模型压缩。
[0091] 首先对模型进行网络剪枝,删减对神经网络模型不重要的参数,具体步骤为首先设置一个权值参数阈值,将每条连接上的权值与阈值相比较,将权值小于阈值的连接进行剪枝,完成全部剪枝后重新训练该神经网络,对训练好的模型再剪枝,再重新训练该神经网络,直到满足所设定条件。
[0092] 以下为网络剪枝算法描述。
[0093]
[0094]
[0095] 网络剪枝得到稀疏连接的神经网络后,通过权值共享,生成一张权值码表,里面记录了权值聚类后每一类的平均权值,而每条连接不需要存储具体权值参数,只需存储码本上对应权值的索引。然后对码本上的权值进行量化操作,用8比特长度的存储来表示32比特的精度。最后对量化后的权值进行霍夫曼编码,进一步缩减存储空间。训练压缩后的神经网络模型,只要对码本上的码字进行更新即可,并不断更新步骤4中的映射表。
[0096] (7)步骤7
[0097] 循环执行步骤1至步骤6,直到大数据分析系统终止。

附图说明

[0014] 图1为神经网络层次图。
[0015] 图2为整个系统的架构图。
[0016] 图3为网络剪枝图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号