一种基于请求处理模拟的系统软硬件拓扑的评估算法及系统技术方案

技术编号:24497446 阅读:24 留言:0更新日期:2020-06-13 03:36
一种基于请求处理模拟的系统软硬件拓扑的评估算法及系统。本发明专利技术公开了一种计算机系统的软硬件拓扑结构的评估算法及系统,涉及系统请求处理过程的模拟以及系统软硬件拓扑结构对请求处理的影响机制的建模,通过模拟系统处理请求的过程,统计并估计系统在采用某种软硬件拓扑结构时,其处理请求所表现出来的系统吞吐量上的各种指标。

An evaluation algorithm and system of system hardware and software topology based on request processing simulation

【技术实现步骤摘要】
一种基于请求处理模拟的系统软硬件拓扑的评估算法及系统
本专利技术涉及计算机系统技术,具体涉及一种基于请求处理模拟的系统软硬件拓扑的评估算法及系统。
技术介绍
如今的像数据中心这种大型的计算机系统,尽管为满足不断增长的请求处理需求做出了巨大贡献,但是其往往在网络利用率、故障恢复能力、增量可扩展性等方面远未达到其理想的性能。因此,也就涌现出不少新的数据中心网络拓扑架构,比如基于扩展器的数据中心拓扑(expander-baseddatacentertopology)和叶脊网络拓扑(leaf-spinetopology),以及与它们相关的网络拓扑优化方法。基于扩展器的数据中心拓扑有一个名为“扩展图”的无向图,使用该拓扑结构的数据中心可以被增量扩充到任意大小而且可以保证其高性能;而叶脊拓扑结构则通过在传统的三层网络结构上增加一层平行于主干纵向网络结构的横向网络结构,以在这层横向结构上增加相应的交换网络,实现传统三层网络结构无法实现的高扩展性和性能。传统的用于评估一类网络拓扑结构的效果的方法,通常是基于一些基准测试程序,对系统的硬件资源的网络拓扑结构所能带来的性能进行评估。基准测试程序通过模拟(或真实的运行)各种运算任务和数据传输任务,对系统施加指定的测试压力,测试者就可通过观察系统在各种测试压力下的反映,来评估系统的各方面的性能,包括一类新的网络拓扑结构究竟能够给系统的性能带来怎样的提升。传统的运行基准测试程序对网络拓扑结构进行效果评估的方法,由于需要真实地搭建出一个满足指定网络拓扑结构的计算机系统才能进行效果评估,需要耗费大量的资源和时间在真实系统的搭建上,这种时间和资源的高耗费,往往不利于网络拓扑结构的快速迭代。且由于通用的基准测试程序常常因更新缓慢和种类稀少而不能很好地模拟当下真实系统中所运行软件带来的压力分布,使用其测试得出高性能的系统,未必能够在部署真实的软件和接收真实的请求后仍可以达到测试中的高性能。这两个缺点,使得这种传统方法难以利用于现实运行的系统的拓扑结构更新所带来的效果评估。
技术实现思路
本专利技术的目:本专利技术意在解决传统的利用基准测试程序进行网络拓扑评估的方法在资源与时间上的高耗费,提出了一种计算机系统的软硬件拓扑结构的评估方法,涉及系统请求处理过程的模拟以及系统软硬件拓扑结构对请求处理的影响机制的建模,通过模拟系统处理请求的过程,统计并估计系统在采用某种软硬件拓扑结构时,其处理请求所表现出来的系统吞吐量上的各种指标。技术方案:一种基于请求处理模拟的系统软硬件拓扑评估算法,通过模拟系统处理请求的过程,得到系统吞吐量指标;根据系统吞吐量指标,得到系统当前采用的软硬件拓扑结构的评估结果。进一步的,以请求分布信息、系统的硬件资源拓扑图、系统的软件资源图、软件部署信息和请求对应的软件资源调用概率信息为输入,以系统每秒处理请求数目、平均响应时间和请求并发数为输出;具体包括以下步骤:步骤1:初始化变量;所述变量包括请求、available、processingList、waitingList、processedNumber、requestNumber、requestList、time、totalResponseTime;available表示可用硬件资源向量;processingList表示盛放所需硬件资源已分配完全的请求列表,初始值为空列表;waitingList表示盛放所需硬件资源未分配完全的请求列表,初始值为空列表;processedNumber表示当前系统已处理的请求数目,初始值为0;requestNumber表示记录当前时间步所需申请的各类请求的数目,初始值为0;requestList表示盛放当前时间步新生成的请求列表,初始值为空列表;time表示系统运行时间,初始值为0;totalResponseTime表示系统当前处理的所有请求的响应时间总和,初始值为0;所述请求包括以下属性:req.startTime、req.softwareRscList和req.hardwareRscList;req.startTime表示请求被系统接收的时间;req.sofiwareRscList表示盛放该请求被处理时需要调用的软件资源列表;req.hardwareRscList表示盛放该请求申请到的硬件资源列表;步骤2:检查processingList中是否存在待处理的请求,若不存在待处理的请求,则执行步骤3;若存在待处理的请求,则判断请求中的req.hardwareRscList中是否存在占用到期的硬件资源,若存在占用到期的硬件资源,则释放该硬件资源至available上,并从processingList上删除req.hardwareRscList中所有硬件资源被释放的请求,执行步骤3;若不存在占用到期的硬件资源,则执行步骤3;步骤3:processedNumber=processedNumber+1totalResponseTime=totalResponseTime+(time-req.startTime);步骤4:根据请求分布信息,随机取样生成本周期需处理的各种类别请求的数目:步骤5:针对每种类别请求的数目,根据请求对应的软件资源调用概率信息和软件资源图,对应生成指定数目的新请求,并将新请求随机插入requestList中;步骤6:判断waitingList中是否为空,若为空,则执行步骤7,否则,对waitinRList中的请求分配硬件资源,并将分配成功的请求放入processingList中,将分配不成功的请求继续留在waitingList中等待下次分配;步骤7:对requestList中的新请求分配硬件资源,将分配成功的新请求从requestList中剔除并放入processingList,将分配不成功的请求从requestList中剔除并放入waitingList;步骤8:维护循环步数和运行时间:n=n+1,time=time+stepSize,timeSize表示每个时间步的步长;若n<N,N为算法迭代次数,返回步骤2,否则表示达到循环次数,执行步骤9;步骤9:统计得到每秒请求处理数目、平均响应时间和负载量:concurrency=avarageResponseTime×transactionPerSecond。进一步的,所述请求分布信息包括各种类别请求生成数目所服从正态分布的参数,所述参数包括请求每步生成数目的均值和请求每步生成数目的方差。进一步的,所述软件资源调用概率信息为P=(p1,...,pm),其中,m为请求的类别数目,为第k类请求对应的软件资源调用概率向量,其中表示处理第k类请求时,软件资源图S中编号为i的软件资源被调用概率;h=|VS|+|ES|表示软件资源图S中软件资源的数目。进一步的,所述软件资源图包括软件资源拓扑图和软件资源的硬件资源占用信息本文档来自技高网
...

【技术保护点】
1.一种基于请求处理模拟的系统软硬件拓扑评估算法,其特征在于:包括以下步骤:/n通过模拟系统处理请求的过程,得到系统吞吐量指标;/n根据系统吞吐量指标,得到系统当前采用的软硬件拓扑结构的评估结果。/n

【技术特征摘要】
1.一种基于请求处理模拟的系统软硬件拓扑评估算法,其特征在于:包括以下步骤:
通过模拟系统处理请求的过程,得到系统吞吐量指标;
根据系统吞吐量指标,得到系统当前采用的软硬件拓扑结构的评估结果。


2.根据权利要求1所述的一种基于请求处理模拟的系统软硬件拓扑评估算法,其特征在于:所述通过模拟系统处理请求的过程,得到系统吞吐量指标的步骤为:
以请求分布信息、系统的硬件资源拓扑图、系统的软件资源图、软件部署信息和请求对应的软件资源调用概率信息为输入,以系统每秒处理请求数目、平均响应时间和请求并发数为输出;具体包括以下步骤:
步骤1:初始化变量;所述变量包括请求、available、processingList、waitingList、processedNumber、requestNumber、requestList、time、totalResponseTime;
available表示可用硬件资源向量;
processingList表示盛放所需硬件资源已分配完全的请求列表,初始值为空列表;
waitingList表示盛放所需硬件资源未分配完全的请求列表,初始值为空列表;
processedNumber表示当前系统已处理的请求数目,初始值为0;
requestNumber表示记录当前时间步所需申请的各类请求的数目,初始值为0;
requestList表示盛放当前时间步新生成的请求列表,初始值为空列表;
time表示系统运行时间,初始值为0;
totalResponseTime表示系统当前处理的所有请求的响应时间总和,初始值为0;
所述请求包括以下属性:req.startTime、req.softwareRscList和req.hardwareRscList;
req.startTime表示请求被系统接收的时间;
req.softwareRscList表示盛放该请求被处理时需要调用的软件资源列表;
req.hardwareRscList表示盛放该请求申请到的硬件资源列表;
步骤2:检查processingList中是否存在待处理的请求,若不存在待处理的请求,则执行步骤3;若存在待处理的请求,则判断请求中的req.hardwareRscList中是否存在占用到期的硬件资源,若存在占用到期的硬件资源,则释放该硬件资源至available上,并从processingList上删除req.hardwareRscList中所有硬件资源被释放的请求,执行步骤3;若不存在占用到期的硬件资源,则执行步骤3;
步骤3:processedNumber=processedNumber+1
totalResponseTime=totalResponseTime+(time-req.startTime);
步骤4:根据请求分布信息,随机取样生成本周期需处理的各种类别请求的数目:
步骤5:针对每种类别请求的数目,根据请求对应的软件资源调用概率信息和软件资源图,对应生成指定数目的新请求,并将新请求随机插入requestList中;
步骤6:判断waitingList中是否为空,若为空,则执行步骤7,否则,对waitingList中的请求分配硬件资源,并将分配成功的请求放入processingList中,将分配不成功的请求继续留在waitingList中等待下次分配;
步骤7:对requestList中的新请求分配硬件资源,将分配成功的新请求从requestList中剔除并放入processingList,将分配不成功的请求从requestList中剔除并放入waitingList;
步骤8:维护循环步数和运行时间:n=n+1,time=time+stepSize,timeSize表示每个时间步的步长;若n<N,N为算法迭代次数,返回步骤2,否则表示达到循环次数,执行步骤9;
步骤9:统计得到每秒请求处理数目、平均响应时间和负载量:






comcurrency=avarageResponseTime×transactionPerSecond。


3.根据权利要求2所述的一种基于请求处理模拟的系统软硬件拓扑评估算法,其特征在于:所述请求分布信息包括各种类别请求生成数目所服从正态分布的参数,所述参数包括请求每步生成数目的均值和请求每步生成数目的方差。


4.根据权利要求2所述的一种基于请求处理模拟的系统软硬件拓扑评估算法,其特征在于:所述软件资...

【专利技术属性】
技术研发人员:储诚贵董清泉
申请(专利权)人:国网甘肃省电力公司信息通信公司全球能源互联网研究院有限公司国网信息通信产业集团有限公司南瑞集团有限公司
类型:发明
国别省市:甘肃;62

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1