一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统.pdf

上传人:a**** 文档编号:633517 上传时间:2018-02-28 格式:PDF 页数:18 大小:3.18MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410415351.9

申请日:

2014.08.20

公开号:

CN104298617A

公开日:

2015.01.21

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 12/08申请日:20140820|||公开

IPC分类号:

G06F12/08

主分类号:

G06F12/08

申请人:

深圳大学

发明人:

罗秋明; 蔡晔; 周远远; 冯禹洪

地址:

518060 广东省深圳市南山区南海大道3688号

优先权:

专利代理机构:

深圳市恒申知识产权事务所(普通合伙) 44312

代理人:

陈健

PDF下载: PDF下载
内容摘要

本发明适用于计算机技术领域,提供了一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统,NUMA平台中非核部件数据流缓冲管理的优化方法包括以下步骤:步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;步骤B、提取处理器非核部件不同数据流的负载特征;步骤C、资源池的缓冲项根据所述负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。所述的NUMA平台中非核部件数据流缓冲管理的优化方法采用动态管理缓冲项的机制,能有效地提高非核部件数据流缓冲部件中的缓冲项的使用效率,减少数据流的停顿周期。

权利要求书

1.  一种NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,包括以下步骤:
步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;
步骤B、提取处理器非核部件不同数据流的负载特征;
步骤C、资源池的缓冲项根据所述步骤B中的负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。

2.
  根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,步骤B中所述负载特征提取包含数据到达的数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。

3.
  根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,所述步骤C中动态管理的策略为:缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。

4.
  根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。

5.
  根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,所述动态管理的策略分配缓冲项的组织方法为做标签分类方法,所述做标签分类方法具体包括以下步骤:
步骤C101、当相应的非核部件接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;
步骤C102、将相同标记或归类的缓冲项进行排队,等待接受处理;
步骤C103、数据请求或答复处理结束后,清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。

6.
  一种NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,包括资源池建立模块、数据流队列负载特征提取模块和资源池缓冲项动态分配和回收模块;
所述资源池建立模块用于建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;
所述数据流队列负载特征提取模块用于提取处理器非核部件数据流的负载特征;
所述资源池缓冲项动态分配和回收模块中资源池的缓冲项根据负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。

7.
  根据权利要求6所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,所述数据流队列负载特征提取模块提取的参数包括:数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。

8.
  根据权利要求6所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,所述资源池缓冲项动态分配和回收模块中动态管理的策略为:缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。

9.
  根据权利要求6所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。

10.
  根据权利要求6所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,当资源池缓冲项动态分配和回收模块接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时所述做标签单元将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;并将相同标记或归类的缓冲项进行排队,等待接受处理;当数据请求或答复处理结束后,所述做标签单元清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。

说明书

一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统
技术领域
本发明属于计算机技术领域,尤其涉及一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统。
背景技术
NUMA(Non-Uniform Memory Access,非均匀内存访问)架构已经出现了快30年,目前已经被广大厂商采用,并且成为了商用服务器的主流架构。在NUMA架构中虽然所有的处理器共享内存空间,但是本地节点访问本地内存的延迟时间要少于访问远程内存,所以传统的研究方向主要集中在应用程序的线程绑定和数据映射问题上,或是通过启发式搜索的方法、或是机器学习的方法,来减少远程访问,通过最大化本地访问的方法来提高程序的性能。但是,随着硬件结构的不断进步与发展,在NUMA平台上又出现了许多新的研究问题。
在研究时,选取了Intel Westmere NUMA平台,对其Uncore(非核部件)子系统的结构和数据流进行了详细的分析,并使用了NPB(NAS Parallel Benchmark,美国国家科学院并行基准测试程序)和STREAM两种不同的基准测试程序和一系列不同的软件配置,测试了非核部件子系统中GQ(Global Queue,全局队列)和QHL(QuickPath Home Logic,快速通道宿主逻辑)部件的数据流。我们发现GQ和QHL部件中的数据流存在严重的不均衡和拥塞问题,在很多时候,GQ和QHL中的某一条队列因为请求压力大而溢出,但是此时其它队列请求压力小,还有空闲的Entries(缓冲项)未被使用,这样Entries的利用率比较低,而且会造成队列停顿等待的情况出现。
发明内容
本发明所要解决的技术问题在于提供一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统,旨在解决NUMA平台下数据流缓冲项的利用率低的问题。
本发明是这样实现的,一种NUMA平台中非核部件数据流缓冲管理的优化方法,包括以下步骤:
步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;
步骤B、提取处理器非核部件不同数据流的负载特征;
步骤C、资源池的缓冲项根据所述步骤B中的负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。
进一步地,步骤B中所述负载特征提取包含数据到达的数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。
进一步地,所述步骤C中动态管理的策略为:缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。
进一步地,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。
进一步地,所述动态管理的策略分配缓冲项的组织方法为做标签分类方法,所述做标签分类方法具体包括以下步骤:
步骤C101、当相应的非核部件接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时将相应的缓冲项进行标记或 归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;
步骤C102、将相同标记或归类的缓冲项进行排队,等待接受处理;
步骤C103、数据请求或答复处理结束后,清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。
本发明还提供一种NUMA平台中非核部件数据流缓冲管理的优化系统,包括资源池建立模块、数据流队列负载特征提取模块和资源池缓冲项动态分配和回收模块;
所述资源池建立模块用于建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;
所述数据流队列负载特征提取模块用于提取处理器非核部件数据流队列的负载特征;
所述资源池缓冲项动态分配和回收模块中资源池的缓冲项根据负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。
进一步地,所述数据流队列负载特征提取模块提取的参数包括:数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。
进一步地,所述资源池缓冲项动态分配和回收模块中动态管理的策略为:缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。
进一步地,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。
进一步地,当资源池缓冲项动态分配和回收模块接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时所述做标签 单元将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;并将相同标记或归类的缓冲项进行排队,等待接受处理;当数据请求或答复处理结束后,所述做标签单元清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。
本发明与现有技术相比,所述的NUMA平台中非核部件数据流缓冲管理的优化方法采用动态管理非核部件部件中的缓冲项的机制,能有效地提高缓冲项的使用效率,和减少非核部件数据流的停顿周期。
附图说明
图1是Intel Westmere处理器的NUMA平台及其非核部件的结构示意图;
图2是Intel Westmere处理器的NUMA平台访存示意图;
图3是Intel Westmere处理器非核部件部分的详细结构示意图;
图4是Intel处理器中GQ组件中三条队列固定管理缓冲项的机制的示意图;
图5是Intel处理器中QHL组件中三条队列固定管理缓冲项的机制的示意图;
图6是Intel处理器中GQ组件中三条队列动态管理缓冲项的机制的示意图;
图7是Intel处理器中QHL组件中三条队列动态管理缓冲项的机制的示意图;
图8是NUMA平台下的非核部件数据流的优化方法的流程图;
图9是请求压力大时基于固定管理缓冲项的机制(FEM)和动态管理缓冲项的机制(DEM)停顿时间的对比图;
图10是有突发情况下基于固定管理缓冲项的机制(FEM)和动态管理缓冲项的机制(DEM)的平均停顿时间的对比图;
图11是提高请求的完成时间的示意图;
图12是NUMA平台下的非核部件数据流的优化系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1是基于Intel Westmere处理器的NUMA系统,Uncore(非核部件)是一个由Intel公司创造的专用名词,用来描述处理器中不属于Core(核)部分的子系统。Core部分包含了处理器中的指令执行部件,其中有算术逻辑单元(Arithmetic and Logic Unit,ALU)、浮点运算单元(Floating Point Unit,FPU),L1缓存和L2缓存。非核部件部分包含LLC、高速互联总线、内存控制器等不属于Core的组件。在图1用虚线标明的部分就属于非核部件子系统。
在整个NUMA系统中,非核部件扮演了重要的角色,它连接着处理器的核、LLC、本地MCs和高速互联总线。由于它所处的特殊位置使得它对系统的整体性能尤为关键。如果数据流在这里发生了拥塞或者不均衡,将会造成很大的影响。在Intel NUMA平台中,Intel用GQ(Global Queue,全局队列)来处理来自Cores、LLC、QPI(QuickPath Interconnects,快速通道连接器总线)和QMC(QuickPath Memory Controllers,快速通道内存控制器总线)的数据流。
Intel Westmere处理器的NUMA平台使用的是两颗四核Intel Xeon E5620处理器,处理器内部每个核Cores0~3拥有私有的L1缓存和L2缓存,四个核共享大小为12MB的LLC。Intel使用GQ来处理来自Cores、LLC、QMC和QPI的请求和应答。两个QPI互联接口分别用于与另一颗处理器互联,且与IO总线互联。每个QMC包含四个DDR3-1066通道,每个通道连接DDR3内存。当处理器核发出本地访问的时候,需要经过本地GQ处理然后发往本地LLC或者进而发往本地内存;当处理器核发出远程访问的时候,需要经过本地GQ处理后再发给QPI高速互联网络,接着到达远程处理器中的GQ处理进而发往远程LLC或者远程内存,如图2所示。
如图3所示,显示了Intel Westmere处理器非核部件部分的详细结构。GQ 是其中核心部件,它被用来处理本地处理器核发出的Cache行请求、经QPI发来的远程访问请求和I/O请求。GQ包含三条队列,一条是写队列(Write Tracker,WT),有16个Entries(缓冲项);一条是对端探测队列(Peer Probe Tracker,PPT),有12个Entries;一条是读队列(Read Tracker,RT),有32个Entries。与GQ一样,QHL也有三个队列,分别对应本地队列(Local Tracker)、远程队列(Remote Tracker)和输入输出队列(IOH Tracker,即IOH队列),相应的Entries的数量分别是24、16和24。
图4和图5是Intel对Entries的静态分配管理的示意图。Cores,LLC,QPI和QHL产生数据请求和数据应答给GQ,不同的数据访问类型的数据请求或者应答将会通过不同的队列存储到空闲Entries中,读数据请求或者应答将会通过读队列来完成,写数据请求或者应答将会通过写队列来完成。对于FEM(Fixed Entries Management,固定管理缓冲项机制),所有的Entries会根据队列的类型被分成三部分,其中读队列中有32个Entries,写队列中包含了16个Entries,远程队列包含12个Entries。因此,不同数据访问类型的数据请求或者应答只能使用相应类型队列中的Entries。例如,属于读数据类型的顾客只能占用存储在读队列32个Entries中的一个。所有存储在Entries的顾客将会依据先进先出(FIFO)原则依次获得相对应服务台的服务。如果某个队列中的空闲Entries被使用完,那么新到达的数据请求或者应答就得等待,同时产生该数据请求的部件也要等待,直到有新的空闲Entries可以使用为止,即使另外两个队列可能有空闲Entries,也需要等待本队列有空闲Entries才可以使用。我们称这种方法为FEM。
图6和图7所示是Intel对缓冲项的动态分配管理的示意图。动态管理缓冲项机制(Dynamic Entries Management,DEM)具体指放入到资源池中的缓冲项进行动态抽取及分配,即本发明所采用的方法。三条队列中的所有的缓冲项使用资源池的方式进行管理,每当有新的顾客到达时,就从资源池中取出一个Entries分配给该顾客使用,当资源池中所有的缓冲项都使用完时,三条队列才会产生停顿时间。
如图8所示,一种NUMA平台中非核部件数据流缓冲管理的优化方法,包括以下步骤:
步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理。如Intel NUMA平台中的GQ组件和QHL组件的前端缓冲部件等。所述资源池是指NUMA平台下的处理器非核部件数据流缓冲部件中的不同数据流队列的缓冲项被进行管理,而不是像Intel NUMA处理器目前仍采用不同数据流对象分配固定数量的数据项。
步骤B、提取NUMA平台下处理器非核部件不同数据流的负载特征。NUMA平台下处理器非核部件不同数据流队列的负载特征提取时可以是离线方式用likwid等性能剖析工具对非核部件不同数据流队列的负载进行测试,也可以是在线方式在处理器硬件内部获取。以获得不同数据流队列中数据流负载压力特征,为后面对不同数据流队列分配缓冲项作参考。
步骤C、资源池的缓冲项根据步骤B中的负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。
步骤B中所述负载特征提取包含数据到达时的数据类型、到达时间间隔和处理所需的时间,所述数据类型(如呈指数分布等)、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征,为后面对不同数据流队列分配缓冲项作参考。
所述步骤C中动态管理的策略为:缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。动态管理的策略包括按比例部分固定分配部分动态分配和全都动态分配这两种方法,在使用时这两种方法可以相互结合使用。动态分配采用做标签的分类方法进行操作时具体包括以下步骤:步骤C101、当相应的非核部件接收到数据请求或答复 时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时将相应的缓冲项进行标记或归类,来自同一数据流队列的缓冲项所做的标记或归类相同;步骤C102、将相同标记或归类的缓冲项进行排队,等待接受处理;步骤C103、数据请求或答复处理结束后,清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。
具体地,首先,我们将非核部件的某个数据流缓冲或者转发组件中的各个数据流队列的缓冲项(比如Intel的Entries)动态管理,形成一个缓冲项的资源池,然后采用相关技术提取非核部件不同数据流队列的负载特征,例如可以通过非核部件中的性能计数器进行统计分析,最后按步骤B中获得的统计信息,对资源池中的缓冲项采用运动管理的策略进行动态分配。例如,按步骤B中获得的不同队列统计信息,根据不同队列缓冲项的需求再进行动态分配相应数目的缓冲项,如对于容易满的队列分配多些缓冲项,也可以采用其他策略,动态分配的缓冲项用标签进行组织分类,以便请求获得正确处理。为了保证数据请求或应答能获得正确处理,当一个新的数据请求或应答到来时,资源池中的一个空闲缓冲项将会被分配给该请求或应答并且必须标记这个缓冲项是从哪个队列中过来的。然后,拥有相同标记的缓冲项将会依据先进先出(FIFO)或乱序的原则获得处理。处理完以后,最后,被标记了的数据项必须清除标记并放回到资源池中,另外也可以采用部分缓冲项固定分配,剩下的缓冲项采用动态分配的策略。
如图12所示,为NUMA平台中非核部件数据流缓冲管理的优化系统的结构示意图,该优化系统包括资源池建立模块、数据流队列负载特征提取模块和资源池缓冲项动态分配和回收模块。所述资源池建立模块用于建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池,所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理。所述数据流队列负载特征提取模块用于提取处理器非核部件不同数据流的负载特征。所述资源池缓 冲项动态分配和回收模块中资源池的缓冲项根据所述负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。
所述数据流队列负载特征提取模块提取的参数包括:数据流请求达到的数据类型、到达时间间隔和处理所需的时间。所述数据类型、到达时间间隔和处理所需时间表征不同数据流队列中数据流负载压力的特征。
所述资源池缓冲项动态分配和回收模块至少包括部分按比例固定分配和部分动态分配单元中的一个单元和做标签单元。
当资源池缓冲项动态分配和回收模块接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时所述做标签单元将相应的缓冲项进行标记或归类,来自同一数据流队列的缓冲项所做的标记或归类相同;并将相同标记或归类的缓冲项进行排队,等待接受处理。当数据请求或答复处理结束后,所述做标签单元清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。
以下是在Matlab中使用M/M/3排队系统来模拟经过GQ或QHL的数据流,分别用FEM和DEM(Dynamic Entries Management,动态管理缓冲项机制)进行模拟的实验结果。实验采用所有缓冲项全部动态分配策略,M/M/3排队系统是一个顾客从服务台(Service Desk)获取服务的过程的模型,其中两个“M”表示的是顾客到达间隔和所需要的服务时间都是指数分布的(无记忆,随机性,或者说马尔可夫性),而“3”指的是有3条服务线。我们把非核部件缓冲部件的数据请求和数据应答称为一个新顾客的到来,使用M/M/3排队系统来模拟经过GQ和QHL的数据流,这意味着到达的间隔时间是指数分布的,我们假设每个顾客获得服务的时间是呈指数分布的,我们创建一个参数1(即Parameter1,值为1/λ)来表示顾客请求到达的平均间隔时间,参数1的值越大,顾客的请求压力越大。因此,我们可以通过设置参数1的值来调整顾客的请求压力。
为了对FEM和DEM这两种算法做更全面的对比,我们模拟了请求队列平缓到达和有突发到达两种不同的情形。下面将对这两种不同的情况分别进行仿 真并分析结果。
对于平缓的请求序列:
我们使用了两组参数来模拟队列的压力,一组参数表示请求压力小,每条队列都没有发生满的情形;另外一组参数表示请求压力大,有队列发生了满的情形,具体参数值如表1和表2所示。由于假定顾客是按照泊松过程到达,因此到达间隔时间都是指数分布,而且服务台每次一个接一个的服务,每次服务的时间长度也是一个指数分布。所以可以用参数1和参数2来分别生成客户到达时间间隔和每个客户所需的服务时长。
表1:请求压力小情形下的参数

 参数1参数2顾客数量队列10.50.6200队列20.50.6120队列30.50.680

表2:请求压力大情形下的参数
 参数1参数2顾客数量队列10.90.6200队列20.90.6120队列30.90.680

实验结果表明在请求压力较小的情况下,无论是固定管理缓冲项或者是动态管理缓冲项,都没有发生拥塞,也没有产生停顿周期,两种算法在此时性能是一样的。
图9显示的是压力大的情况下三条队列分别在FEM算法和DEM算法下平均停顿时间的对比实验结果。对于三条队列,DEM算法相比FEM算法将平均停顿时间减少了约60%。
对于有突发的请求序列:
调整参数1,选取某一范围内的请求,将参数1增大,以使得单位时间内到 达的请求数增多。表3即是选取的参数值,括号中的数值表示为了模拟突发所选取的某一范围内的请求的参数1的值。
表3:有突发请求的参数
 参数1参数2顾客数量队列10.9(10)0.6200队列20.9(10)0.6120队列30.9(10)0.680

图10显示的是在有突发请求的情况下基于FEM算法和DEM算法的平均停顿时间的对比,DEM算法将平均等待时间减少了20%~30%左右。
DEM算法在一种情况下会提高请求的完成时间:假设两个连续的请求Rk和Rk+1的理论到达时间为Tk和Tk+1,在Tk时刻Rk请求到达,但是队列中的n个Entries都已经被使用,那么请求Rk发生了停顿,它必须得等到有新的空闲的Entries才能进入队列,如图11所示。如果对于请求Rk的停顿时间为t,也就是说再经过t个时钟周期才会有新的空闲的Entries,则请求Rk+1的实际到达时间是Tk+1+t。如果此时队列中的所有请求都已经完成了,也即是服务台此时处于空闲状态,可以假设服务台空闲的时间为d。以上分析为FEM算法下的队列,对于DEM算法,如果有空闲的Entries可以满足请求Rk的需要,那么请求Rk就不会停顿,从而直接进入队列进行排队,并且请求Rk+1也会按照理论时间到达,此时服务台一直处于忙碌状态,没有空闲,因而请求Rk+1的完成时间将会提高d个时钟周期。
由此可以看出,本发明的动态管理Entries的机制算法比现有技术的固定管理Entries的机制算法有明显的优势,能显著减少队列的停顿时间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统.pdf_第1页
第1页 / 共18页
一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统.pdf_第2页
第2页 / 共18页
一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统.pdf(18页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104298617A43申请公布日20150121CN104298617A21申请号201410415351922申请日20140820G06F12/0820060171申请人深圳大学地址518060广东省深圳市南山区南海大道3688号72发明人罗秋明蔡晔周远远冯禹洪74专利代理机构深圳市恒申知识产权事务所普通合伙44312代理人陈健54发明名称一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统57摘要本发明适用于计算机技术领域,提供了一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统,NUMA平台中非核部件数据流缓冲管理的优化方法包括以下步骤步骤A、建立NUMA。

2、平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;步骤B、提取处理器非核部件不同数据流的负载特征;步骤C、资源池的缓冲项根据所述负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。所述的NUMA平台中非核部件数据流缓冲管理的优化方法采用动态管理缓冲项的机制,能有效地提高非核部件数据流缓冲部件中的缓冲项的使用效率,减少数据流的停顿周期。51INTCL权利要求书2页说明书7页附图8页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图8页10申请公布号CN104298617ACN104。

3、298617A1/2页21一种NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,包括以下步骤步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;步骤B、提取处理器非核部件不同数据流的负载特征;步骤C、资源池的缓冲项根据所述步骤B中的负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。2根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,步骤B中所述负载特征提取包含数据到达的数据类。

4、型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。3根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,所述步骤C中动态管理的策略为缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。4根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。5根据权利要求1所述的NUMA平台中。

5、非核部件数据流缓冲管理的优化方法,其特征在于,所述动态管理的策略分配缓冲项的组织方法为做标签分类方法,所述做标签分类方法具体包括以下步骤步骤C101、当相应的非核部件接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;步骤C102、将相同标记或归类的缓冲项进行排队,等待接受处理;步骤C103、数据请求或答复处理结束后,清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。6一种NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,包括资源池建立。

6、模块、数据流队列负载特征提取模块和资源池缓冲项动态分配和回收模块;所述资源池建立模块用于建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;所述数据流队列负载特征提取模块用于提取处理器非核部件数据流的负载特征;所述资源池缓冲项动态分配和回收模块中资源池的缓冲项根据负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。7根据权利要求6所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,所述数据流队列负载特征提取模块。

7、提取的参数包括数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流权利要求书CN104298617A2/2页3负载压力的特征。8根据权利要求6所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,所述资源池缓冲项动态分配和回收模块中动态管理的策略为缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。9根据权利要求6所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,所述缓冲项动态管理的分配采用全部参与动。

8、态分配和部分固定部分动态分配这两种方法相结合的方式。10根据权利要求6所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,当资源池缓冲项动态分配和回收模块接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时所述做标签单元将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;并将相同标记或归类的缓冲项进行排队,等待接受处理;当数据请求或答复处理结束后,所述做标签单元清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。权利要求书CN104298617A1/7页4一种NUMA平台中非核部件数据。

9、流缓冲管理的优化方法及系统技术领域0001本发明属于计算机技术领域,尤其涉及一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统。背景技术0002NUMANONUNIFORMMEMORYACCESS,非均匀内存访问架构已经出现了快30年,目前已经被广大厂商采用,并且成为了商用服务器的主流架构。在NUMA架构中虽然所有的处理器共享内存空间,但是本地节点访问本地内存的延迟时间要少于访问远程内存,所以传统的研究方向主要集中在应用程序的线程绑定和数据映射问题上,或是通过启发式搜索的方法、或是机器学习的方法,来减少远程访问,通过最大化本地访问的方法来提高程序的性能。但是,随着硬件结构的不断进步与发展。

10、,在NUMA平台上又出现了许多新的研究问题。0003在研究时,选取了INTELWESTMERENUMA平台,对其UNCORE非核部件子系统的结构和数据流进行了详细的分析,并使用了NPBNASPARALLELBENCHMARK,美国国家科学院并行基准测试程序和STREAM两种不同的基准测试程序和一系列不同的软件配置,测试了非核部件子系统中GQGLOBALQUEUE,全局队列和QHLQUICKPATHHOMELOGIC,快速通道宿主逻辑部件的数据流。我们发现GQ和QHL部件中的数据流存在严重的不均衡和拥塞问题,在很多时候,GQ和QHL中的某一条队列因为请求压力大而溢出,但是此时其它队列请求压力小,。

11、还有空闲的ENTRIES缓冲项未被使用,这样ENTRIES的利用率比较低,而且会造成队列停顿等待的情况出现。发明内容0004本发明所要解决的技术问题在于提供一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统,旨在解决NUMA平台下数据流缓冲项的利用率低的问题。0005本发明是这样实现的,一种NUMA平台中非核部件数据流缓冲管理的优化方法,包括以下步骤0006步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;0007步骤B、提取处理。

12、器非核部件不同数据流的负载特征;0008步骤C、资源池的缓冲项根据所述步骤B中的负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。0009进一步地,步骤B中所述负载特征提取包含数据到达的数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。0010进一步地,所述步骤C中动态管理的策略为缓冲项的分配根据所述负载特征的说明书CN104298617A2/7页5参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。0011进一步地。

13、,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。0012进一步地,所述动态管理的策略分配缓冲项的组织方法为做标签分类方法,所述做标签分类方法具体包括以下步骤0013步骤C101、当相应的非核部件接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;0014步骤C102、将相同标记或归类的缓冲项进行排队,等待接受处理;0015步骤C103、数据请求或答复处理结束后,清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动。

14、态分配。0016本发明还提供一种NUMA平台中非核部件数据流缓冲管理的优化系统,包括资源池建立模块、数据流队列负载特征提取模块和资源池缓冲项动态分配和回收模块;0017所述资源池建立模块用于建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;0018所述数据流队列负载特征提取模块用于提取处理器非核部件数据流队列的负载特征;0019所述资源池缓冲项动态分配和回收模块中资源池的缓冲项根据负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后。

15、进行回收。0020进一步地,所述数据流队列负载特征提取模块提取的参数包括数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。0021进一步地,所述资源池缓冲项动态分配和回收模块中动态管理的策略为缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。0022进一步地,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。0023进一步地,当资源池缓冲项动态分配和回收模块接收到数据请。

16、求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时所述做标签单元将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;并将相同标记或归类的缓冲项进行排队,等待接受处理;当数据请求或答复处理结束后,所述做标签单元清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。0024本发明与现有技术相比,所述的NUMA平台中非核部件数据流缓冲管理的优化方法采用动态管理非核部件部件中的缓冲项的机制,能有效地提高缓冲项的使用效率,和减少非核部件数据流的停顿周期。说明书CN104298617A3/7页6附图说明0025图1是INT。

17、ELWESTMERE处理器的NUMA平台及其非核部件的结构示意图;0026图2是INTELWESTMERE处理器的NUMA平台访存示意图;0027图3是INTELWESTMERE处理器非核部件部分的详细结构示意图;0028图4是INTEL处理器中GQ组件中三条队列固定管理缓冲项的机制的示意图;0029图5是INTEL处理器中QHL组件中三条队列固定管理缓冲项的机制的示意图;0030图6是INTEL处理器中GQ组件中三条队列动态管理缓冲项的机制的示意图;0031图7是INTEL处理器中QHL组件中三条队列动态管理缓冲项的机制的示意图;0032图8是NUMA平台下的非核部件数据流的优化方法的流程图。

18、;0033图9是请求压力大时基于固定管理缓冲项的机制FEM和动态管理缓冲项的机制DEM停顿时间的对比图;0034图10是有突发情况下基于固定管理缓冲项的机制FEM和动态管理缓冲项的机制DEM的平均停顿时间的对比图;0035图11是提高请求的完成时间的示意图;0036图12是NUMA平台下的非核部件数据流的优化系统的结构示意图。具体实施方式0037为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。0038图1是基于INTELWESTMERE处理器的NUMA系统,UNCORE非核。

19、部件是一个由INTEL公司创造的专用名词,用来描述处理器中不属于CORE核部分的子系统。CORE部分包含了处理器中的指令执行部件,其中有算术逻辑单元ARITHMETICANDLOGICUNIT,ALU、浮点运算单元FLOATINGPOINTUNIT,FPU,L1缓存和L2缓存。非核部件部分包含LLC、高速互联总线、内存控制器等不属于CORE的组件。在图1用虚线标明的部分就属于非核部件子系统。0039在整个NUMA系统中,非核部件扮演了重要的角色,它连接着处理器的核、LLC、本地MCS和高速互联总线。由于它所处的特殊位置使得它对系统的整体性能尤为关键。如果数据流在这里发生了拥塞或者不均衡,将会造。

20、成很大的影响。在INTELNUMA平台中,INTEL用GQGLOBALQUEUE,全局队列来处理来自CORES、LLC、QPIQUICKPATHINTERCONNECTS,快速通道连接器总线和QMCQUICKPATHMEMORYCONTROLLERS,快速通道内存控制器总线的数据流。0040INTELWESTMERE处理器的NUMA平台使用的是两颗四核INTELXEONE5620处理器,处理器内部每个核CORES03拥有私有的L1缓存和L2缓存,四个核共享大小为12MB的LLC。INTEL使用GQ来处理来自CORES、LLC、QMC和QPI的请求和应答。两个QPI互联接口分别用于与另一颗处理器。

21、互联,且与IO总线互联。每个QMC包含四个DDR31066通道,每个通道连接DDR3内存。当处理器核发出本地访问的时候,需要经过本地GQ处理然后发往本地LLC或者进而发往本地内存;当处理器核发出远程访问的时候,需要经过本地GQ处说明书CN104298617A4/7页7理后再发给QPI高速互联网络,接着到达远程处理器中的GQ处理进而发往远程LLC或者远程内存,如图2所示。0041如图3所示,显示了INTELWESTMERE处理器非核部件部分的详细结构。GQ是其中核心部件,它被用来处理本地处理器核发出的CACHE行请求、经QPI发来的远程访问请求和I/O请求。GQ包含三条队列,一条是写队列WRIT。

22、ETRACKER,WT,有16个ENTRIES缓冲项;一条是对端探测队列PEERPROBETRACKER,PPT,有12个ENTRIES;一条是读队列READTRACKER,RT,有32个ENTRIES。与GQ一样,QHL也有三个队列,分别对应本地队列LOCALTRACKER、远程队列REMOTETRACKER和输入输出队列IOHTRACKER,即IOH队列,相应的ENTRIES的数量分别是24、16和24。0042图4和图5是INTEL对ENTRIES的静态分配管理的示意图。CORES,LLC,QPI和QHL产生数据请求和数据应答给GQ,不同的数据访问类型的数据请求或者应答将会通过不同的队列。

23、存储到空闲ENTRIES中,读数据请求或者应答将会通过读队列来完成,写数据请求或者应答将会通过写队列来完成。对于FEMFIXEDENTRIESMANAGEMENT,固定管理缓冲项机制,所有的ENTRIES会根据队列的类型被分成三部分,其中读队列中有32个ENTRIES,写队列中包含了16个ENTRIES,远程队列包含12个ENTRIES。因此,不同数据访问类型的数据请求或者应答只能使用相应类型队列中的ENTRIES。例如,属于读数据类型的顾客只能占用存储在读队列32个ENTRIES中的一个。所有存储在ENTRIES的顾客将会依据先进先出FIFO原则依次获得相对应服务台的服务。如果某个队列中的空。

24、闲ENTRIES被使用完,那么新到达的数据请求或者应答就得等待,同时产生该数据请求的部件也要等待,直到有新的空闲ENTRIES可以使用为止,即使另外两个队列可能有空闲ENTRIES,也需要等待本队列有空闲ENTRIES才可以使用。我们称这种方法为FEM。0043图6和图7所示是INTEL对缓冲项的动态分配管理的示意图。动态管理缓冲项机制DYNAMICENTRIESMANAGEMENT,DEM具体指放入到资源池中的缓冲项进行动态抽取及分配,即本发明所采用的方法。三条队列中的所有的缓冲项使用资源池的方式进行管理,每当有新的顾客到达时,就从资源池中取出一个ENTRIES分配给该顾客使用,当资源池中所。

25、有的缓冲项都使用完时,三条队列才会产生停顿时间。0044如图8所示,一种NUMA平台中非核部件数据流缓冲管理的优化方法,包括以下步骤0045步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理。如INTELNUMA平台中的GQ组件和QHL组件的前端缓冲部件等。所述资源池是指NUMA平台下的处理器非核部件数据流缓冲部件中的不同数据流队列的缓冲项被进行管理,而不是像INTELNUMA处理器目前仍采用不同数据流对象分配固定数量的数据项。0046步。

26、骤B、提取NUMA平台下处理器非核部件不同数据流的负载特征。NUMA平台下处理器非核部件不同数据流队列的负载特征提取时可以是离线方式用LIKWID等性能剖析工具对非核部件不同数据流队列的负载进行测试,也可以是在线方式在处理器硬件内部获取。以获得不同数据流队列中数据流负载压力特征,为后面对不同数据流队列分配缓冲项作参考。说明书CN104298617A5/7页80047步骤C、资源池的缓冲项根据步骤B中的负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。0048步骤B中所述负载特征提取包含数据到达时的数据类型、到达时间间隔和处理所需的时间,所述数据类型如呈指数分布等、到达时。

27、间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征,为后面对不同数据流队列分配缓冲项作参考。0049所述步骤C中动态管理的策略为缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项资源。动态管理的策略包括按比例部分固定分配部分动态分配和全都动态分配这两种方法,在使用时这两种方法可以相互结合使用。动态分配采用做标签的分类方法进行操作时具体包括以下步骤步骤C101、当相应的非核部件接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时将相应的缓冲项进行标。

28、记或归类,来自同一数据流队列的缓冲项所做的标记或归类相同;步骤C102、将相同标记或归类的缓冲项进行排队,等待接受处理;步骤C103、数据请求或答复处理结束后,清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。0050具体地,首先,我们将非核部件的某个数据流缓冲或者转发组件中的各个数据流队列的缓冲项比如INTEL的ENTRIES动态管理,形成一个缓冲项的资源池,然后采用相关技术提取非核部件不同数据流队列的负载特征,例如可以通过非核部件中的性能计数器进行统计分析,最后按步骤B中获得的统计信息,对资源池中的缓冲项采用运动管理的策略进行动态分配。例如,按步骤B中。

29、获得的不同队列统计信息,根据不同队列缓冲项的需求再进行动态分配相应数目的缓冲项,如对于容易满的队列分配多些缓冲项,也可以采用其他策略,动态分配的缓冲项用标签进行组织分类,以便请求获得正确处理。为了保证数据请求或应答能获得正确处理,当一个新的数据请求或应答到来时,资源池中的一个空闲缓冲项将会被分配给该请求或应答并且必须标记这个缓冲项是从哪个队列中过来的。然后,拥有相同标记的缓冲项将会依据先进先出FIFO或乱序的原则获得处理。处理完以后,最后,被标记了的数据项必须清除标记并放回到资源池中,另外也可以采用部分缓冲项固定分配,剩下的缓冲项采用动态分配的策略。0051如图12所示,为NUMA平台中非核部。

30、件数据流缓冲管理的优化系统的结构示意图,该优化系统包括资源池建立模块、数据流队列负载特征提取模块和资源池缓冲项动态分配和回收模块。所述资源池建立模块用于建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池,所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理。所述数据流队列负载特征提取模块用于提取处理器非核部件不同数据流的负载特征。所述资源池缓冲项动态分配和回收模块中资源池的缓冲项根据所述负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。0052所述数据流队列负载特征提取模块提。

31、取的参数包括数据流请求达到的数据类型、到达时间间隔和处理所需的时间。所述数据类型、到达时间间隔和处理所需时间表征不同数据流队列中数据流负载压力的特征。0053所述资源池缓冲项动态分配和回收模块至少包括部分按比例固定分配和部分动说明书CN104298617A6/7页9态分配单元中的一个单元和做标签单元。0054当资源池缓冲项动态分配和回收模块接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时所述做标签单元将相应的缓冲项进行标记或归类,来自同一数据流队列的缓冲项所做的标记或归类相同;并将相同标记或归类的缓冲项进行排队,等待接受处理。当数据请求或答复处理结束后,所述做。

32、标签单元清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。0055以下是在MATLAB中使用M/M/3排队系统来模拟经过GQ或QHL的数据流,分别用FEM和DEMDYNAMICENTRIESMANAGEMENT,动态管理缓冲项机制进行模拟的实验结果。实验采用所有缓冲项全部动态分配策略,M/M/3排队系统是一个顾客从服务台SERVICEDESK获取服务的过程的模型,其中两个“M”表示的是顾客到达间隔和所需要的服务时间都是指数分布的无记忆,随机性,或者说马尔可夫性,而“3”指的是有3条服务线。我们把非核部件缓冲部件的数据请求和数据应答称为一个新顾客的到来,使用。

33、M/M/3排队系统来模拟经过GQ和QHL的数据流,这意味着到达的间隔时间是指数分布的,我们假设每个顾客获得服务的时间是呈指数分布的,我们创建一个参数1即PARAMETER1,值为1/来表示顾客请求到达的平均间隔时间,参数1的值越大,顾客的请求压力越大。因此,我们可以通过设置参数1的值来调整顾客的请求压力。0056为了对FEM和DEM这两种算法做更全面的对比,我们模拟了请求队列平缓到达和有突发到达两种不同的情形。下面将对这两种不同的情况分别进行仿真并分析结果。0057对于平缓的请求序列0058我们使用了两组参数来模拟队列的压力,一组参数表示请求压力小,每条队列都没有发生满的情形;另外一组参数表示。

34、请求压力大,有队列发生了满的情形,具体参数值如表1和表2所示。由于假定顾客是按照泊松过程到达,因此到达间隔时间都是指数分布,而且服务台每次一个接一个的服务,每次服务的时间长度也是一个指数分布。所以可以用参数1和参数2来分别生成客户到达时间间隔和每个客户所需的服务时长。0059表1请求压力小情形下的参数0060参数1参数2顾客数量队列10506200队列20506120队列30506800061表2请求压力大情形下的参数0062参数1参数2顾客数量队列10906200队列20906120说明书CN104298617A7/7页10队列30906800063实验结果表明在请求压力较小的情况下,无论是。

35、固定管理缓冲项或者是动态管理缓冲项,都没有发生拥塞,也没有产生停顿周期,两种算法在此时性能是一样的。0064图9显示的是压力大的情况下三条队列分别在FEM算法和DEM算法下平均停顿时间的对比实验结果。对于三条队列,DEM算法相比FEM算法将平均停顿时间减少了约60。0065对于有突发的请求序列0066调整参数1,选取某一范围内的请求,将参数1增大,以使得单位时间内到达的请求数增多。表3即是选取的参数值,括号中的数值表示为了模拟突发所选取的某一范围内的请求的参数1的值。0067表3有突发请求的参数0068参数1参数2顾客数量队列1091006200队列2091006120队列3091006800。

36、069图10显示的是在有突发请求的情况下基于FEM算法和DEM算法的平均停顿时间的对比,DEM算法将平均等待时间减少了2030左右。0070DEM算法在一种情况下会提高请求的完成时间假设两个连续的请求RK和RK1的理论到达时间为TK和TK1,在TK时刻RK请求到达,但是队列中的N个ENTRIES都已经被使用,那么请求RK发生了停顿,它必须得等到有新的空闲的ENTRIES才能进入队列,如图11所示。如果对于请求RK的停顿时间为T,也就是说再经过T个时钟周期才会有新的空闲的ENTRIES,则请求RK1的实际到达时间是TK1T。如果此时队列中的所有请求都已经完成了,也即是服务台此时处于空闲状态,可以。

37、假设服务台空闲的时间为D。以上分析为FEM算法下的队列,对于DEM算法,如果有空闲的ENTRIES可以满足请求RK的需要,那么请求RK就不会停顿,从而直接进入队列进行排队,并且请求RK1也会按照理论时间到达,此时服务台一直处于忙碌状态,没有空闲,因而请求RK1的完成时间将会提高D个时钟周期。0071由此可以看出,本发明的动态管理ENTRIES的机制算法比现有技术的固定管理ENTRIES的机制算法有明显的优势,能显著减少队列的停顿时间。0072以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。说明书CN104298617A101/8页11图1图2说明书附图CN104298617A112/8页12图3图4说明书附图CN104298617A123/8页13图5图6说明书附图CN104298617A134/8页14图7说明书附图CN104298617A145/8页15图8说明书附图CN104298617A156/8页16图9说明书附图CN104298617A167/8页17图10图11说明书附图CN104298617A178/8页18图12说明书附图CN104298617A18。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1