基于Laguerre 前向神经网络的信息服务性能建模方法

2021-03-23 07:56:52樊志强
计算机与现代化 2021年3期
关键词:检索架构建模

宋 鑫,樊志强,2

(1.华北计算技术研究所,北京 100083; 2.军事科学院,北京 100091)

0 引 言

系统架构是大型、复杂信息系统的设计和蓝图,处于系统生命周期的早期,依据系统架构开展仿真验证,可以预先估计所建设的系统能否满足用户的预期或关注点,从而对设计方案进行决策[1-2]。

随着服务化技术的发展,面向服务的架构(SOA)成为系统架构设计的一种主流架构。SOA架构将系统按照实际业务拆分成大小合适、独立部署的服务模块,每个服务模块之间相互独立,通过在这些服务模块之间定义良好的接口和协议来组织系统架构[3-4]。

SOA架构在信息系统中也得到了广泛的应用,把信息系统拆分成实现不同子功能的信息服务模块,通过模块之间的协作实现规划的系统功能。SOA架构是一种基于服务组件的模型,在采用SOA架构的信息系统架构设计过程中,组件是以信息服务的形式提供给架构师和开发者。因此对信息服务性能的建模是SOA架构信息系统仿真的关键,决定了架构仿真的准确性、可信性。

本文以信息服务的性能建模为研究目标,旨在以信息从产生到被使用过程中经历的不同生命周期为依据,按照服务的功能对其进行3个层次的分类,并对每个类别进行定义,分析影响该类服务性能属性的因素。并进一步提出基于Laguerre前向神经网络的信息服务性能建模方法。并且以信息检索服务为例,通过实验验证所提出的6个影响因素的正确性和必要性以及信息服务性能建模方法的可行性。

1 相关工作

对于信息服务性能建模的研究可按照信息服务系统开发前和开发后分为2类,第一类是在开发前就可以进行的基于架构的仿真,第二类是在开发后依据服务运行时数据进行的服务性能预测,如表1所示。

表1 信息服务性能建模相关工作

针对以上研究中存在的问题,本文提出一种基于信息活动类别的性能建模方法,以期能够在架构设计阶段对还未进行开发的服务进行性能仿真分析,对于预测的性能属性给出相关配置下的准确数值,进而支持包含该服务的系统架构仿真。

2 信息服务性能建模方法

由于信息服务的功能不同,影响其性能的因素有很大差别,为了实现支持SOA架构的信息服务性能建模方法,本文基于信息生命周期理论,分析信息处理过程,对信息服务进行3个层次的分类,最终得到25个细分类别以及每个类别的定义和影响其性能属性的因素。并且提出基于 Laguerre前向神经网络的性能建模方法,以实现利用同类型服务运行时的数据对新服务运行时性能属性的预测。

2.1 信息服务分类

面向服务是一种设计范式,用于创建单独形成的解决方案逻辑单元,以便能够集中地、重复地使用它们,以支持基于SOA和面向服务计算的具体战略目标的实现[16]。信息系统是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、存储、更新和维护,支持决策、控制和运作的集成化系统[17]。信息服务分类以信息为主导,结合面向服务的设计理念,基于信息活动过程[18]对信息服务进行分类。从信息生产和信息消费2个角度出发,分3层逐级细化,其中信息生产细分为14类,如表2所示,信息消费细分为11类,如表3所示。

表2 信息生产服务分类

表3 信息消费服务分类

针对信息生产的14个细分类别给出具体说明如下:

1)源信息创建。通过人工方式,对信息生产节点进行观察记录以获得原始信息。

2)源数据记录。通过自动化方式,对信息生产节点进行实时监控和记录。

3)数据库提取。从已有信息数据库获取信息。

4)数据上传。数据上传的目的是将收集到的数据上传到上级节点。

5)信息转换。信息转换将多源异构数据转换成统一的结构化格式。

6)数据清洗。数据清洗是发现并纠正数据中可识别错误的一道程序,包括检查数据一致性,处理无效值和缺失值等。

7)信息集成。信息集成是把不同来源、格式、特点性质的信息数据在逻辑上或物理上有机的集中。

8)信息编目。信息编目对信息进行分类,组织成统一的信息目录,以方便信息的共享访问。

9)数据准备。准备好信息资源向众多受众中的一个或多个发布。

10)信息分发。收集和整理好的信息数据由系统统一进行分配,主动发布到有相关需求的用户,(对应于用户的订阅)。

11)信息保存。为了确保信息的长期访问,将信息按照一定的格式和顺序存储在特定的载体中。

12)信息备份。信息备份是指为防止系统数据丢失,而将全部或部分数据从应用主机的硬盘或阵列复制到其它的存储介质的过程。

13)信息恢复。信息恢复是指当计算机存储介质损坏或文件丢失的情况下,通过一定的方法和手段将数据重新找回,使信息得以再生的技术。

14)信息迁移。信息迁移是为了符合存储环境,或者确保数据不受硬件或软件过时的影响,将数据迁移到不同的格式和存储介质的过程。

针对信息收集的11个细分类别给出说明如下:

1)信息检索。使用者通过(按属性)关键字查找或按目录逐级查找的方式检索所需信息的过程。

2)信息浏览。信息浏览是指提供文字、图像及其他信息的浏览功能,并且让用户能与这些信息进行交互操作。

3)信息挖掘。以大量数据样本为基础,通过算法发现隐藏于数据集中的规律和信息,得到数据(集)的内在特征,并以此为依据进行有目的的信息提取。

4)信息订阅。信息订阅是指用户根据需求,向系统订阅感兴趣的信息,之后系统会通过内部的推送机制,将用户关心的最新信息及时主动地推送给用户。

5)信息访问。数据访问是使用者实现对数据表的增、删、改、查等操作。

6)信息下载。使用者从服务节点将数据下载到本地的过程。

7)信息分析。信息分析是为了提取有用信息和形成结论而采用统计分析方法对收集来的大量数据进行分析,将它们加以汇总、理解并消化的过程。

8)信息评估。信息评估是对大量相关信息进行质量评估、相关性评估和适用性评估,然后经过优化选择和比较评价,形成能满足需求的信息集合的过程。

9)信息展示。采用列表、图文(诸如柱状图、饼状图、曲线图)等方式对使用者关心的内容进行展示。

10)辅助决策。辅助决策是指以形成决策参考方案和应对突发事件的快速反应为目的,为决策者提供确定问题,挑选和评价方案等功能。

11)模型构建。利用信息数据建立数学模型或过程模型等。

信息活动分类的目的是便于针对每个细分类别,研究影响其性能属性的因素,并对每一类信息服务模型进行性能建模,以实现对信息服务性能属性的精准预测,进而支持面向服务架构的性能可信仿真。

2.2 基于 Laguerre FNN的性能建模方法

信息服务的性能属性主要包括服务在系统中运行时的响应时间、吞吐量以及资源利用率。以2.1节中总结的信息服务类别为基础,总结出影响信息服务性能属性的4大类因素,如图1所示。具体到每一个细分类别,应在4大类因素的引导下进行细化或增改。

图1 信息服务性能属性影响因素

其中,信息和设备相关的因素几乎影响每一个细分类别,信息相关的因素包含待处理的数据大小、数据格式等;设备相关的因素包含设备类型、硬件属性等;另外,协议相关的因素主要影响传输相关服务,包括数据传输协议、数据交换协议等;方法相关的因素包括服务采用的算法和工具等,主要影响采用特定算法或工具(编译器等)的服务性能。

在图1提出的性能属性模型的基础上,要建立影响因素和性能属性的关系,实际上是在做函数拟合,利用神经网络做函数拟合已经被证明是有效的,深度神经网络理论上可以拟合任何复杂的函数关系[19-21]。

冉均均等[22]提出了一种改进的Chebyshev 神经网络,通过实验验证了拟合精度比最小二乘法以及以往的前向神经网络拟合方法都要高。肖秀春等[23]提出了基于梯度下降法的Chebyshev前向神经网络网络参数训练算法,该方法能够有效地调整网络参数,使之以较高的精度逼近具有复杂模式的样本数据集。

由于正交多项式的正交属性,保证了每个激励函数的独立性,因此在训练神经网络模型时有利于降低隐藏层数量和提升训练速度。但是Chebyshev正交多项式只在[-1,1]之间存在两两正交关系,而实际处理数据的范围可能较大;因此本文采用在[-,+]上两两正交的Laguerre 正交多项式[24]作为激励函数,并且将文献[23]提出的从x到y的曲线拟合拓展到多输入的函数拟合;即在传统的神经网络中采用Laguerre 正交多项式作为隐含层的激活函数,Laguerre 正交多项式递推关系如式(1):

(1)

在构建具体神经网络时,神经网络输入层的维度应与影响因素的个数相同。第1层隐含层采用Laguerre 正交多项式作为激活函数;第2层隐含层采用ReLU作为激活函数。整个神经网络的结构示意图如图2所示。

图2 基于Laguerre多项式的前向神经网络

图2中,输入向量x∈Rm,m等于影响因素数量;w1、w2、w3分别是隐含层1、隐含层2和输出层的权重矩阵。隐含层1神经元的输出为Pj(w1jx),其中j表示隐含层1中的第j个神经元,w1j为权重矩阵中对应的第j列。最终实现对输入的输出为:

Q(x)=w3max(0,w2P(x))

(2)

其中,P(x)∈Rn为神经网络隐含层1的输出向量,定义为:

P(x)=[P1(w11x)P2(w12x) ...Pn(w1nx)]T

(3)

Pi对应第i个Laguerre 正交多项式,由输入x经过网络后的实际输出Q(x)与期望输出y,采用均方差计算Laguerre前向神经网络的目标函数为:

(4)

其中,M为批次训练中每个批次的样本数。以图2的网络结构为基础,基于目标函数E采用均梯度下降的方法学习各层参数。3.2节中的实验验证了该方法在进行函数拟合时优于传统的神经网络和采用Chebyshev正交多项式作为隐含层的神经网络。

3 实验验证

3.1 信息检索服务性能模型

为了验证本文所提方法的有效性,选取25个信息服务类别中的信息检索服务,以其为例,明确影响信息检索服务所需机器周期数的6个因素。虽然每个服务类别的影响因素不尽相同,但本节选取的6个因素涵盖了信息相关、方法相关、设备相关的因素,具有一定的代表性。

信息检索服务采用SQL Server作为数据库管理系统(DBMS),以单次检索需要执行的机器周期数为预测目标,分析在不同硬件配置和检索条件下影响所需机器周期数的因素。目前只考虑单个服务在一台服务器上独立工作的情况,即没有分布式应用以及其他服务的影响。总结影响信息检索服务的因素包括服务器的CPU基准速度、CPU最大线程数、硬盘顺序读取速度、硬盘顺序写入速度以及检索比例、数据库规模共6个因素,如图3所示。

图3 信息检索服务影响因素

其中CPU基准速度、硬盘顺序读取速度、硬盘顺序写入速度影响单次检索的执行速度。数据库规模用数据库中全部数据的总行数表示。另外,为了衡量单次检索的复杂度,引入检索比例的概念,即单次检索涉及的行数的平均值占数据库总行数的比例。因为估计一次检索需要的CPU指令数和硬盘读写次数是较难的,所以采用检索比例来代替它们度量单次检索的复杂度。该比例可以通过在检索服务开发之前通过建立小规模的模拟数据,执行模拟检索进行估计,在第3.2节的实验中就是这样获得检索比例数据的。

信息检索服务的响应时间以ms为单位,CPU基准速度以GHz为单位,硬盘读写速度以MB/s为单位,采用2.2节中的Laguerre 前向神经网络做函数拟合训练,输入层采用6个维度对应6个影响因素作为输入。

3.2 实验

为了验证本文提出的信息服务性能建模方法的正确性和其采用的Laguerre 前向神经网络算法的有效性,采用Pytorch机器学习库分别进行影响因素的消融实验和改进的神经网络算法与传统算法的对比实验。

实验数据采用列车时刻检索服务、邮编检索服务和经纬度检索服务进行训练,基于6个因素构建不同的运行环境和数据检索要求。另外,采用军事术语检索服务构建测试集。机器周期数根据服务进程在每个时刻的CPU利用率和当前时刻CPU频率计算,满足式(5):

Mc=∑Ri×Fi

(5)

其中,Ri是每个时刻进程的CPU利用率,Fi是每个时刻的CPU频率,对服务运行时的所有时刻的CPU利用率和频率的乘积求和,即得到该次服务执行的机器周期数的估计值。

最终获得本地运行时数据共21376条作为训练和验证数据,随机取其中20%数据作为验证集。

实验数据给出了6个影响因素运行时的值和在相应环境下运行一次信息检索服务需要执行的机器周期数。实验目标是实现机器周期数的准确预测。实验过程中不同的网络结构采用相同神经单元数量的隐含层、学习率和批次大小。模型最好的训练结果的平均预测误差可以达到0.93%,即所有误差的绝对值均值占所有实际响应时间均值的比例。

3.2.1 影响因素的消融实验

为了验证本文提出的性能模型的正确性,在6个影响因素中分别剔除1个因素,即输入层神经元数量为5,与完整利用6个影响因素做预测进行对比实验。采用预测结果均方误差(单位为兆)作为衡量标准。训练集的机器周期均值为65.75 兆。对比实验结果如表4所示。

表4 影响因素消融实验结果

表4中每行分别表示采用全部6个影响因素和分别剔除CPU基准速度、硬盘顺序读取速度、硬盘顺序写入速度、CPU最大线程数、检索比例、数据库规模时得到的验证集和测试集预测误差。

从表4的实验数据中可以看出(值越小说明预测精度越高),数据库规模对预测结果的影响最大,在不考虑数据库规模时测试集误差达到15.63 兆,基本无法实现准确的预测。另外2个对预测结果有显著影响的因素是CPU基准速度和检索比例,测试集误差分别达到了5.01 兆和4.25 兆,明显高于采用全部6个影响因素的测试集误差1.59 兆。

实验结果表明去除任何一个因素的预测结果都不如6个影响因素全部采用时的预测表现的好,验证了本文提出的6个影响因素在进行检索服务响应时间预测时都是必要且有帮助的。

3.2.2 收敛速度对比实验

在其他参数相同时,分别对Laguerre前向神经网络和传统神经网络CNN在验证集的的收敛速度进行对比,结果如图4和图5所示。

图4 Laguerre 前向神经网络迭代80次的结果

图5 传统神经网络CNN迭代80次的结果

通过对比实验容易看出,在同样10次迭代以后,Laguerre 前向神经网络的误差已经达到1.80 兆,低于传统神经网络的2.40 兆。并且在20次迭代后,Laguerre 前向神经网络的误差已经趋于平稳,基本达到了最小值;而传统神经网络在50次迭代后才能趋于平稳。

由以上分析容易看出Laguerre前向神经网络相对于传统神经网络CNN具有更快的收敛速度,在同样的迭代次数下能得到更好的预测精度。

4 结束语

以支持基于架构的信息服务系统建模为目标,本文提出了3个层次的信息服务分类和基于Laguerre 前向神经网络的信息服务性能建模方法,以二者为基础,采用信息检索服务为案例,阐述并验证了方法的实用效果。后续工作,将继续完善其他类别服务的影响因素。并以响应周期数为基础,研究在多个服务同时运行时,即存在资源争夺的情况下各服务的性能指标的预测方法。

猜你喜欢
检索架构建模
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
汽车工程(2021年12期)2021-03-08 02:34:30
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
2019年第4-6期便捷检索目录
基于PSS/E的风电场建模与动态分析
电子制作(2018年17期)2018-09-28 01:56:44
不对称半桥变换器的建模与仿真
LSN DCI EVPN VxLAN组网架构研究及实现
电信科学(2017年6期)2017-07-01 15:45:17
专利检索中“语义”的表现
专利代理(2016年1期)2016-05-17 06:14:36
一种基于FPGA+ARM架构的μPMU实现
三元组辐射场的建模与仿真