CN104298617B - 一种numa平台中非核部件数据流缓冲管理的优化方法及系统 - Google Patents
一种numa平台中非核部件数据流缓冲管理的优化方法及系统 Download PDFInfo
- Publication number
- CN104298617B CN104298617B CN201410415351.9A CN201410415351A CN104298617B CN 104298617 B CN104298617 B CN 104298617B CN 201410415351 A CN201410415351 A CN 201410415351A CN 104298617 B CN104298617 B CN 104298617B
- Authority
- CN
- China
- Prior art keywords
- cache entry
- data
- resource pool
- request
- data stream
- 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.)
- Active
Links
Abstract
本发明适用于计算机技术领域,提供了一种NUMA平台中非核部件数据流缓冲管理的优化方法及系统,NUMA平台中非核部件数据流缓冲管理的优化方法包括以下步骤:步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;步骤B、提取处理器非核部件不同数据流的负载特征;步骤C、资源池的缓冲项根据所述负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收。所述的NUMA平台中非核部件数据流缓冲管理的优化方法采用动态管理缓冲项的机制,能有效地提高非核部件数据流缓冲部件中的缓冲项的使用效率,减少数据流的停顿周期。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种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;一条是读队列(ReadTracker,RT),有32个Entries。与GQ一样,QHL也有三个队列,分别对应本地队列(LocalTracker)、远程队列(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 | 顾客数量 | |
队列1 | 0.5 | 0.6 | 200 |
队列2 | 0.5 | 0.6 | 120 |
队列3 | 0.5 | 0.6 | 80 |
表2:请求压力大情形下的参数
参数1 | 参数2 | 顾客数量 | |
队列1 | 0.9 | 0.6 | 200 |
队列2 | 0.9 | 0.6 | 120 |
队列3 | 0.9 | 0.6 | 80 |
实验结果表明在请求压力较小的情况下,无论是固定管理缓冲项或者是动态管理缓冲项,都没有发生拥塞,也没有产生停顿周期,两种算法在此时性能是一样的。
图9显示的是压力大的情况下三条队列分别在FEM算法和DEM算法下平均停顿时间的对比实验结果。对于三条队列,DEM算法相比FEM算法将平均停顿时间减少了约60%。
对于有突发的请求序列:
调整参数1,选取某一范围内的请求,将参数1增大,以使得单位时间内到达的请求数增多。表3即是选取的参数值,括号中的数值表示为了模拟突发所选取的某一范围内的请求的参数1的值。
表3:有突发请求的参数
参数1 | 参数2 | 顾客数量 | |
队列1 | 0.9(10) | 0.6 | 200 |
队列2 | 0.9(10) | 0.6 | 120 |
队列3 | 0.9(10) | 0.6 | 80 |
图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的机制算法有明显的优势,能显著减少队列的停顿时间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,包括以下步骤:
步骤A、建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;
步骤B、提取处理器非核部件不同数据流的负载特征;
步骤C、资源池的缓冲项根据所述步骤B中的负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收;
其中,所述步骤C中动态管理的策略为:缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项。
2.根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,步骤B中所述负载特征提取包含数据到达的数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。
3.根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。
4.根据权利要求1所述的NUMA平台中非核部件数据流缓冲管理的优化方法,其特征在于,所述动态管理的策略分配缓冲项的组织方法为做标签分类方法,所述做标签分类方法具体包括以下步骤:
步骤C101、当相应的非核部件接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;
步骤C102、将相同标记或归类的缓冲项进行排队,等待接受处理;
步骤C103、数据请求或答复处理结束后,清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。
5.一种NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,包括资源池建立模块、数据流队列负载特征提取模块和资源池缓冲项动态分配和回收模块;
所述资源池建立模块用于建立NUMA平台下的处理器非核部件数据流缓冲部件中缓冲项的资源池;所述缓冲部件用于暂存处理器非核部件中等待处理的数据流中的数据请求或应答,所述资源池用于对缓冲部件中的不同数据流队列的缓冲项进行动态管理;
所述数据流队列负载特征提取模块用于提取处理器非核部件数据流的负载特征;
所述资源池缓冲项动态分配和回收模块中资源池的缓冲项根据负载特征采用动态管理的策略进行动态分配,并在所述缓冲项使用结束后进行回收;
其中,所述资源池缓冲项动态分配和回收模块中动态管理的策略为:缓冲项的分配根据所述负载特征的参数,并按照数据流请求的达到密度的变化而调整,请求密集程度高的数据流将获得较多的缓冲项,请求密集程度小的数据流将获得较少的缓冲项。
6.根据权利要求5所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,所述数据流队列负载特征提取模块提取的参数包括:数据类型、到达时间间隔和处理所需的时间,所述数据类型、到达时间间隔和处理所需的时间表征不同数据流队列中数据流负载压力的特征。
7.根据权利要求5所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,所述缓冲项动态管理的分配采用全部参与动态分配和部分固定部分动态分配这两种方法相结合的方式。
8.根据权利要求5所述的NUMA平台中非核部件数据流缓冲管理的优化系统,其特征在于,当资源池缓冲项动态分配和回收模块接收到数据请求或答复时,从所述资源池中取出一个缓冲项对数据请求或答复进行缓冲,同时做标签单元将相应的缓冲项进行标记或归类,其中来自同一数据流队列的缓冲项所做的标记或归类相同;并将相同标记或归类的缓冲项进行排队,等待接受处理;当数据请求或答复处理结束后,所述做标签单元清除缓冲项上所做的标记,并将清除标记后的缓冲项重新放入所述资源池中,以便下一次动态分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410415351.9A CN104298617B (zh) | 2014-08-20 | 2014-08-20 | 一种numa平台中非核部件数据流缓冲管理的优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410415351.9A CN104298617B (zh) | 2014-08-20 | 2014-08-20 | 一种numa平台中非核部件数据流缓冲管理的优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104298617A CN104298617A (zh) | 2015-01-21 |
CN104298617B true CN104298617B (zh) | 2017-12-08 |
Family
ID=52318350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410415351.9A Active CN104298617B (zh) | 2014-08-20 | 2014-08-20 | 一种numa平台中非核部件数据流缓冲管理的优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298617B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871336B (zh) * | 2019-01-14 | 2021-02-02 | 珠海金山网络游戏科技有限公司 | 一种动态缓存调整方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1130644C (zh) * | 1996-09-16 | 2003-12-10 | 英特尔公司 | 一种在具有多系统总线的计算机系统中保持存储器相关性的系统和方法 |
CN1514973A (zh) * | 2001-06-29 | 2004-07-21 | 英特尔公司 | 用于多个读取请求的存储器控制 |
CN1595361A (zh) * | 2003-08-29 | 2005-03-16 | 微软公司 | 使用进程调度来提高数据吞吐量的系统和方法 |
CN101853208A (zh) * | 2009-03-31 | 2010-10-06 | 英特尔公司 | 基于文件级启发式规则来执行缓存的方法和系统 |
US8347035B2 (en) * | 2008-12-18 | 2013-01-01 | Intel Corporation | Posting weakly ordered transactions |
CN103827842A (zh) * | 2011-09-29 | 2014-05-28 | 英特尔公司 | 向控制器存储器空间写入消息 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070005899A1 (en) * | 2005-06-30 | 2007-01-04 | Sistla Krishnakanth V | Processing multicore evictions in a CMP multiprocessor |
-
2014
- 2014-08-20 CN CN201410415351.9A patent/CN104298617B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1130644C (zh) * | 1996-09-16 | 2003-12-10 | 英特尔公司 | 一种在具有多系统总线的计算机系统中保持存储器相关性的系统和方法 |
CN1514973A (zh) * | 2001-06-29 | 2004-07-21 | 英特尔公司 | 用于多个读取请求的存储器控制 |
CN1595361A (zh) * | 2003-08-29 | 2005-03-16 | 微软公司 | 使用进程调度来提高数据吞吐量的系统和方法 |
US8347035B2 (en) * | 2008-12-18 | 2013-01-01 | Intel Corporation | Posting weakly ordered transactions |
CN101853208A (zh) * | 2009-03-31 | 2010-10-06 | 英特尔公司 | 基于文件级启发式规则来执行缓存的方法和系统 |
CN103827842A (zh) * | 2011-09-29 | 2014-05-28 | 英特尔公司 | 向控制器存储器空间写入消息 |
Non-Patent Citations (1)
Title |
---|
统一并行体系结构实验平台研制;蔡晔,周春云,罗秋明;《实验技术与管理》;20130228;第30卷(第2013年第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104298617A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
Cheung et al. | A large-scale spiking neural network accelerator for FPGA systems | |
Hu et al. | Time-and cost-efficient task scheduling across geo-distributed data centers | |
Venkataraman et al. | The power of choice in {Data-Aware} cluster scheduling | |
CN107025139A (zh) | 一种基于云计算的高性能计算调度框架 | |
CN103297499B (zh) | 一种基于云平台的调度方法及系统 | |
CN107967180B (zh) | 基于numa虚拟化环境下资源全局亲和度网络优化方法和系统 | |
CN108475349A (zh) | 用于稳健的大规模机器学习的系统和方法 | |
CN104821887A (zh) | 通过使用具有不同延迟的存储器来进行分组处理的设备和方法 | |
CN108416433A (zh) | 一种基于异步事件的神经网络异构加速方法和系统 | |
US20080270653A1 (en) | Intelligent resource management in multiprocessor computer systems | |
CN110413776A (zh) | 一种基于cpu-gpu协同并行的文本主题模型lda高性能计算方法 | |
CN108199985A (zh) | GPGPU中基于全局节点信息的NoC仲裁方法 | |
CN108021429A (zh) | 一种基于numa架构的虚拟机内存及网卡资源亲和度计算方法 | |
CN103345429A (zh) | 基于片上ram的高并发访存加速方法、加速器及cpu | |
CN116263701A (zh) | 算力网络任务调度方法、装置、计算机设备及存储介质 | |
CN115150471B (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN103488699A (zh) | 基于内存数据网格的数据处理装置和方法 | |
Ataie et al. | Modeling and evaluation of dispatching policies in IaaS cloud data centers using SANs | |
Luan et al. | SCHED²: Scheduling Deep Learning Training via Deep Reinforcement Learning | |
CN104298617B (zh) | 一种numa平台中非核部件数据流缓冲管理的优化方法及系统 | |
CN109814927A (zh) | 一种机器学习推理协处理器 | |
CN103116527B (zh) | 一种基于网络控制器的超大规模栅栏同步方法 | |
Yang et al. | SwitchAgg: A further step towards in-network computing | |
Birke et al. | Meeting latency target in transient burst: A case on spark streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |