当前位置: 首页 > 专利查询>英特尔公司专利>正文

测量非均匀存储器访问(NUMA)系统内按节点的带宽技术方案

技术编号:22472346 阅读:21 留言:0更新日期:2019-11-06 13:20
一种计算系统包括多个节点,所述多个节点包括第一节点,所述第一节点包括至少一个核、存储器控制器、节点追踪寄存器(MSR)、以及包括多个计数器的监控计数器阵列。所述存储器控制器将访问节点追踪MSR的多个位,以确定将被追踪的节点子集,其中所述节点子集包括第一节点和第二节点。所述存储器控制器此外将分配所述多个计数器中的第一计数器以追踪由第一节点发送到本地系统存储器的存储器请求;以及分配所述多个计数器中的第二计数器以追踪与由第一节点发送到第二节点的存储器请求相关联的存储器响应。

Measuring the bandwidth by node in a non-uniform memory access (NUMA) system

【技术实现步骤摘要】
【国外来华专利技术】测量非均匀存储器访问(NUMA)系统内按节点的带宽本公开内容涉及存储器管理的领域,并且具体地涉及NUMA系统内按节点的带宽的测量。
技术介绍
计算系统、诸如服务器越来越多地是基于NUMA的,其意味着处理节点可以跨多个节点以非均匀的方式向存储器分配,其中每个节点包括(多个)处理核、高速缓存子系统和存储器。附图说明图1A是根据本公开内容的实施例的非均匀存储器访问(NUMA)系统的框图。图1B是根据本公开内容的实施例的、图1A的NUMA系统中的所述多个节点中的一节点的框图。图2是根据本公开内容的实施例的节点追踪、模型特定的寄存器(MSR)的框图表示。图3是根据本公开内容的实施例的事件选择MSR的框图表示。图4是根据本公开内容的实施例的在按节点的基础上监控存储器带宽的方法的流程图。图5是根据本公开内容的实施例的在按节点的基础上监控存储器带宽的方法的流程图。图6A是一框图,其图示了根据一个实施例的有序流水线以及寄存器重命名级、无序发布/执行流水线。图6B是一框图,其图示了提供在按节点的基础上对存储器带宽的测量能力的处理器的微架构。图7图示了用于如下处理器的微架构的框图:所述处理器包括用于提供在按节点的基础上对存储器带宽的测量能力的逻辑电路。图8是根据一个实现方式的计算机系统的框图。图9是根据另一实现方式的计算机系统的框图。图10是根据一个实现方式的芯片上系统的框图。图11图示了针对计算系统的框图的另一实现方式。图12图示了针对计算系统的框图的另一实现方式。具体实施方式非均匀存储器访问(NUMA)是在多处理中所使用的计算机存储器设计,其中所述存储器访问时间取决于相对于处理器的存储器位置,所述处理器在本文中被称为节点。在NUMA下,与非本地存储器(对于另一节点而言在本地的存储器或在节点之间共享的存储器)相比,节点可以更快地访问其自己的本地存储器。NUMA的益处可以相关联于特定的工作负载、例如服务器(其采用NUMA)上的工作负载,其中数据通常强相关联于某些任务或用户。在该情况中,线程可以在一个或多个节点上被执行并且共享存储器(其位于对于每个节点而言在本地)以加速执行。因此,作为基于NUMA的存储器分配的部分,节点可以在某个点处开始以与向本地存储器相比向远程存储器分配更多,从而导致拙劣的数据本地性。向存储器分配是要决定将在哪里存储(或高速缓存)数据。“数据本地性”在本文中是指空间本地性,例如节点正向其分配数据的存储器位于距节点多近。由于针对节点访问远程存储器(例如另一节点的存储器)的等待时间是访问本地存储器(例如节点的存储器)的等待时间的三至六倍,所以拙劣的数据本地性可显著影响计算系统性能。在一个实施例中,在基于NUMA的系统的顶部上运行的系统软件可获得针对节点的多个远程存储器访问(RMA)以及多个本地存储器访问(LMA)。RMA的数目对应于对远程节点的存储器访问(例如总存储器访问减去LMA)。以下详细描述得到总存储器访问。LMA的数目是对节点的本地存储器的存储器访问的数目。RMA对LMA的高比率可以指示:与当RMA对LMA的比率是相对较低的比率的时候相比,线程具有更坏的数据本地性。然而,在没有对按节点的RMA的认知的情况下,系统软件不知道对于执行线程以改善该线程的数据本地性而言在哪个节点处更好。除了RMA对LMA的该比率之外,存储器带宽是可以用于测量数据本地性的另一度量。存储器带宽是高速缓存利用的度量,诸如作为在用于线程的存储器的两个分层次层级之间、例如在末级高速缓存(LLC)与系统存储器之间的存储器访问的结果的高速缓存未命中的度量。例如,节点可以追踪LLC处的高速缓存未命中,作为由于高速缓存未命中有多少数据从系统存储器被读取到LLC中的度量。在一个实施例中,节点可以将这些高速缓存未命中相互关联到特定节点以确定按节点的存储器带宽。根据本公开内容的一个实施例,所公开的基于NUMA的系统可以促进系统软件获得按节点的存储器带宽。通过使用按节点的存储器带宽,系统软件可以选择将在一个节点上执行的线程移位到具有更佳数据本地性的另一节点。更具体地,在一个实施例中,基于NUMA的系统可以包括多个节点。这些节点中的一个可以包括被耦合到至少一个处理核的LLC、存储器控制器、节点追踪模型特定的寄存器(MSR)、以及包括多个计数器的监控计数器阵列。执行系统软件(诸如操作系统)的节点可以设置节点追踪MSR内的多个位,所述多个位指示将针对存储器带宽被追踪的所述多个节点的节点子集。所述节点子集可以包括所述节点。存储器控制器然后可以访问节点追踪MSR的所述多个位,并且基于所述多个位而向所述多个计数器指派与节点子集中的相应节点的存储器请求相关联的存储器响应的追踪。存储器响应的追踪可以例如追踪LLC处的高速缓存未命中,其在按节点的基础上,作为目标朝向节点子集的存储器请求的结果。在可替换的实施例中,存储器控制器可以追踪存储器控制器处的硬件事件,其指示高速缓存利用。在一个实施例中,节点的存储器控制器还可以利用资源监控标识符(RMID)来标记存储器请求。向每个核指派与核正执行的线程相关联的RMID,并且单个RMID在任何给定时间都是活动的。存储器控制器还已经知道存储器响应的节点ID,因为它是处理核的静态信息。以此方式,当在节点处存储器请求未命中LLC的时候,该节点的存储器控制器可以确定与高速缓存未命中相关联的节点ID和RMID,并且更新所述多个计数器内、与高速缓存未命中的节点ID与RMID相对应的计数器。RMID和节点ID对应于存储器请求被发送到的节点。随着时间,被指派到子集节点中的特定节点的每个计数器追踪与RMID相关联的高速缓存未命中的按节点的计数。针对每个节点的计数器值可以乘以预定的比例因子以确定按节点的存储器带宽。如果节点子集中的第二节点的存储器带宽是高于节点的存储器带宽的阈值量,则系统软件可以将线程执行从节点迁移到第二节点。更高的阈值量可以例如是节点的存储器带宽的两倍或三倍,或者某个其它预定的比率。在一个实施例中,为了便于检索计数器值,系统软件可以设置节点的事件选择MSR内的多个位。例如,系统软件可以设置事件标识符部分的位以指定节点带宽作为事件ID,设置节点标识符部分的位以指定节点ID,并且设置RMID部分的位以指定RMID。存储器控制器可以访问事件选择MSR以标识针对所期望的计数器的RMID和节点ID,并且在第一节点的计数器MSR中存储来自与节点ID和RMID相对应的监控计数器阵列的计数器值。计数器MSR对于系统软件而言可访问,所述系统软件可检索计数器值。设置事件选择MSR的位以及检索对应的计数器值可以针对每个节点被连续且迭代地执行,直到针对节点子集的计数器值被检索为止。计数器值然后可以用于确定按节点的存储器带宽,以用于确定在数据本地性方面对于执行线程而言哪个节点是最佳的。图1A是根据本公开内容的实施例的非均匀存储器访问(NUMA)系统100的框图。系统100可以包括多个节点102A……102H。尽管示出了八个节点,但是系统100可以包括比八个更少或更多的节点。每个节点还可以包括一个或多个处理核以及本地存储器。因此,第一节点102A可以包括(多个)核106A以及本地系统存储器110A,第二节点102B可以包括(多个)核106B以及本地本文档来自技高网...

【技术保护点】
1.一种计算设备,包括:包括第一节点的多个节点,所述第一节点包括至少一个处理核、存储器控制器、节点追踪寄存器(MSR)、以及包括多个计数器的监控计数器阵列;并且其中所述存储器控制器用于:访问节点追踪MSR的多个位,以确定将被追踪的节点子集,其中所述节点子集包括第一节点和第二节点;分配所述多个计数器中的第一计数器以追踪由第一节点发送到本地系统存储器的存储器请求;以及分配所述多个计数器中的第二计数器以追踪与由第一节点发送到第二节点的存储器请求相关联的存储器响应。

【技术特征摘要】
【国外来华专利技术】1.一种计算设备,包括:包括第一节点的多个节点,所述第一节点包括至少一个处理核、存储器控制器、节点追踪寄存器(MSR)、以及包括多个计数器的监控计数器阵列;并且其中所述存储器控制器用于:访问节点追踪MSR的多个位,以确定将被追踪的节点子集,其中所述节点子集包括第一节点和第二节点;分配所述多个计数器中的第一计数器以追踪由第一节点发送到本地系统存储器的存储器请求;以及分配所述多个计数器中的第二计数器以追踪与由第一节点发送到第二节点的存储器请求相关联的存储器响应。2.根据权利要求1所述的计算系统,其中追踪存储器响应包括追踪第一节点的末级高速缓存(LLC)处的高速缓存未命中,其响应于由第一节点发送到第一节点和第二节点的存储器请求而被接收。3.根据权利要求1所述的计算系统,其中存储器控制器此外用于在接收到利用标识线程的资源监控标识符(RMID)所标记的存储器响应时:确定与存储器响应相关联的节点标识符(ID);以及更新与存储器响应的RMID和节点ID相对应的第一计数器或第二计数器中之一。4.根据权利要求3所述的计算系统,其中所述存储器控制器此外用于:检测向第二线程的上下文切换;以及利用与第二线程相对应的第二RMID来标记第二存储器请求。5.根据权利要求3所述的计算系统,其中所述存储器控制器用于从节点子集的点对点处理器互连和本地系统存储器之一接收存储器响应。6.根据权利要求3所述的计算系统,其中所述第一节点此外包括事件选择寄存器,其包括事件标识符部分、RMID部分、以及节点标识符部分,并且其中所述第一节点此外对于节点子集中的第三节点:设置事件标识符部分以指示对节点带宽的追踪;设置RMID部分以指定RMID;以及设置节点标识符部分以指定与第三节点对应的节点ID;以及其中所述存储器控制器此外对于节点子集中的第三节点:读取事件选择寄存器以标识针对第三节点的RMID和节点ID;以及在第一节点的计数器MSR中存储来自监控计数器阵列的计数器值,所述计数器值对应于节点ID和RMID;并且其中所述第一节点此外对于节点子集中的每个节点迭代地:从计数器MSR中检索针对节点的计数器值;以及根据所述计数器值来计算针对节点的存储器带宽。7.根据权利要求6所述的计算系统,其中响应于确定了节点子集中的第二节点的存储器带宽在比第一节点的存储器带宽更高的阈值量之上,所述第一节点此外将在第一节点上执行的线程迁移到第二节点。8.根据权利要求1所述的计算系统,其中所述节点子集包括所述多个节点。9.一种节点,包括:至少一个处理核、存储器控制器、节点追踪寄存器(MSR)、以及包括多个计数器的监控计数器阵列;并且其中所述存储器控制器用于:访问节点追踪MSR的多个位,以确定将被追踪的多个节点的节点子集,其中所述节点子集包括所述多个节点中的节点和第二节点;分配所述多个计数器中的第一计数器以追踪由节点发送到本地系统存储器的存储器请求;以及分配所述多个计数器中的第二计数器以追踪与由节点发送到第二节点的存储器请求相关联的存储器响应。10.根据权利要求9所述的节点,其中追踪存储器响应包括追踪节点的末级高速缓存(LLC)处的高速缓存未命中,其响应于被发送到节点和第二节点的存储器请求而被接收。11.根据权利要求9所述的节点,其中所述存储器控制器此外用于在接收到利用标识线程的资源监控标识符(RMID)所标记的存储器响应时:确定与存储器响应相关联的节点标识符(ID);以及更新与存储器响应的RMID和节点ID相对应的第一计数器或第二计数器中之一。12.根据权利要求11所述的节点,其中所述存储器控制器此外用于:检测向第二线程的上下文切换;以及利用与第二线程相对应的第二RMID来标记第二存储器请求。13.根据权利要求11所述的节点,其中所述存储器控制器用于从节点子...

【专利技术属性】
技术研发人员:金垚A拉吉AEG卢克
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1