多处理器系统中的中继一致存储器管理技术方案

技术编号:23216366 阅读:17 留言:0更新日期:2020-01-31 23:09
描述了用于存储器管理的方法和装置。在所公开的实施例中,一种系统具有第一处理器和第二处理器,其中每个处理器能够访问存储器系统。第一工作单元被接收以用于由第一处理器执行,其中存储器系统被访问。在第一工作单元的执行时,第二工作单元被生成以用于由第二处理器执行。仅在存储器系统被更新之后,由第二处理器对第二工作单元的处理才发生。这种基于工作单元消息的排序为多个处理器的存储器操作提供了中继一致性。

Relay consistent memory management in multiprocessor system

【技术实现步骤摘要】
【国外来华专利技术】多处理器系统中的中继一致存储器管理交叉引用本申请要求于2017年4月10日提交的美国临时专利申请第62/483,844号和于2018年2月2日提交的美国临时专利申请第62/625,518号的权益,每个申请的全部内容通过引用整体并入本文。
本公开涉及例如在联网和存储领域中用于处理信息的分组的多处理器系统。
技术介绍
网络设备(例如,防火墙、交换机、路由器、存储装置/计算服务器或其他网络连接设备)通常利用多核处理器系统或多处理单元系统来实现提高的性能。然而,利用具有多个处理单元的系统来处理诸如网络分组数据的流可能带来很多编程挑战。例如,通常难以将一个分组或一组分组的处理从一个处理单元移动到另一处理单元,诸如为了跨处理单元的负载平衡。将程序执行从一个处理单元转换到另一处理单元可能很困难,并且通常需要蛮力移动或状态的映射、高速缓存的数据以及与程序执行相关联的其他存储器块。在实现高吞吐量和利用率的同时保持跨处理单元的高速缓存的数据和其他存储器的一致性通常在技术上极具挑战。例如,当使用相干存储器时,由存储器相干协议执行的操作可能导致显著的处理开销和延迟。当使用非相干存储器时,相干协议的开销被避免,但是某些处理单元可能无法访问由另一处理单元高速缓存的数据。例如,存储器可以在具有两个或更多个同时运行的处理器的多处理器或多核系统中被共享,每个处理器具有一个或多个本地存储器高速缓存。然而,如果一个处理器或核改变特定存储器位置处的数据,则通常存在用以将改变通知给所有处理器或核以使相应的本地存储器高速缓存无效或利用已更新信息刷新高速缓存的过程。这种过程通常被称为存储器相干协议,并且根据该协议操作的存储器被称为相干存储器。通常,支持相干存储器需要跟踪高速缓存行状态并且处理针对被高速缓存在处理器或处理核以及系统的其他元件内的所有存储器块的相关联的事务。相反,非相干存储器不提供跟踪和更新数据以保持高速缓存相干性。在没有与传统相干存储器系统相关联的处理开销和延迟的情况下,存储器访问和利用可以非常快速和高效。存在大量的应用不能从相干存储器系统受益,特别是那些线性地处理数据的应用(例如,处理一次,因此访问的时间局部性很差)。这些“流”应用(诸如联网和存储基础结构工作负载)在大型数据中心中变得越来越重要。对于这样的应用,使用相干存储器系统往往会导致大量开销,而回报却很少。
技术实现思路
描述了这样的技术,其中具有多个处理单元的系统在处理流水线中处理一系列工作单元,其中一些或所有工作单元访问或操纵被存储在非相干存储器中的数据。在一些示例中,处理单元可以是处理核,并且在其他示例中,处理单元可以是虚拟处理器、硬件线程、硬件块或其他子处理核单元。如本文所述,处理单元可以对由工作单元指定的数据执行操作。在处理工作单元时,处理单元可以将来自非相干存储器的数据高速缓存到与处理单元相关联的高速缓存的段中,并且使用该高速缓存的数据执行由工作单元指定的操作。一旦工作单元已经完成了处理,处理单元就可以针对该段(或该段的一部分)发起高速缓存刷新以将脏高速缓存数据写回到非相干存储器。非相干存储器或非相干存储器的一部分的所有权的转移可以通过工作单元消息向另一处理单元的递送而被居间(mediate)。工作单元消息的递送可以与相关高速缓存段中的数据的刷新互锁(由其门控)。在一个示例中,本公开描述了一种中继一致存储器管理方法,该方法包括:接收第一工作单元以用于由多处理器系统的第一处理器执行,该多处理器系统具有被耦合到存储器系统的第一处理器和第二处理器;执行第一工作单元,其中存储器系统被访问;在第一工作单元的执行时,生成第二工作单元以用于由第二处理器执行;更新存储器系统;以及通过延迟由第二处理器对第二工作单元的处理直到存储器系统被更新来提供中继一致性。在另一示例中,本公开描述了一种数据处理系统,包括:存储器系统;第一处理器,其能够访问存储器系统,接收第一工作单元以用于执行,以及在第一工作单元的执行时生成第二工作单元以用于由第二处理器执行;存储管理系统,其被连接到第一处理器并且能够更新存储器系统,其中由第二处理器对第二工作单元的执行在存储器系统更新之后发生以提供中继一致性。在另一示例中,本公开描述了一种流处理系统,包括:被配置为接受并且流传输信息的多个处理器,多个处理器包括第一处理器,第一处理器能够访问存储器系统,接收第一工作单元以用于执行,以及在第一工作单元的执行时生成第二工作单元以用于由第二处理器执行;被连接到第一处理器并且能够更新存储器系统的存储管理系统,其中由第二处理器对第二工作单元的执行在存储器系统更新之后发生以提供中继一致性。在另一示例中,本公开描述了一种系统,包括:具有第一处理单元和第二处理单元的多处理器系统;以及具有由第一处理单元和第二处理单元二者可访问的相干存储器和非相干存储器的存储器系统,其中存储器系统被配置为保持第一处理单元和第二处理单元针对相干存储器的高速缓存相干性,而不保持第一处理单元和第二处理单元关于非相干存储器的高速缓存相干性;其中第一处理单元被配置为:执行第一工作单元,其中执行第一工作单元包括访问被存储在存储器系统的非相干存储器中的数据,生成第二工作单元以用于由第二处理单元执行,更新存储器系统的非相干存储器的一部分,以及在更新完成时,向第二处理单元转移存储器系统的非相干存储器的该一部分的所有权;并且其中第二处理单元被配置为:在第一处理单元转移存储器系统的非相干存储器的该一部分的所有权之前,延迟第二工作单元的执行,并且在第一处理单元转移存储器系统的非相干存储器的该一部分的所有权之后,执行第二工作单元,其中执行第二工作单元包括访问被存储在存储器系统的非相干存储器的该一部分中的数据。一个或多个示例的细节在附图和以下描述中阐述。根据说明书和附图以及根据权利要求书,本公开的其他特征、目的和优点将很清楚。附图说明参考以下附图描述了本公开的非限制性和非穷举性的实施例,其中除非另外指明,否则贯穿各个附图,相同的附图标记表示相同的部分。图1A是示出流处理的一个方面的框图;图1B是示出与工作单元处理兼容的处理和存储器系统的框图;图1C是示出由多个核进行的高速缓冲存储器访问的框图;图1D是示出工作单元处理的图。图2是示出用于处理工作单元的方法的流程图。图3是根据本公开的实施例的示例装置的框图;以及图4是示出实施例的示例功能块的图。具体实施方式在以下描述中,参考附图,附图形成以下描述的一部分,并且在附图中,通过图示示出了其中可以实践本公开的具体的示例性实施例。足够详细地描述了这些实施例,以使得本领域技术人员能够实践本文中公开的概念,并且应当理解,在不脱离本公开的范围的情况下,可以对各种公开的实施例进行修改,并且可以利用其他实施例。因此,以下详细描述不应当被视为限制性的。本公开描述了一种支持存储器模型的系统,该存储器模型关于多个处理器在多个存储器地址位置处提供存储器操作的一致顺序。由于与一致的存储器操作相关的信息在处本文档来自技高网
...

【技术保护点】
1.一种中继一致存储器管理方法,包括:/n接收第一工作单元以用于由多处理器系统的第一处理器执行,所述多处理器系统具有被耦合到存储器系统的所述第一处理器和第二处理器;/n执行所述第一工作单元,其中所述存储器系统被访问;/n在所述第一工作单元的执行时,生成第二工作单元以用于由所述第二处理器执行;/n更新所述存储器系统;以及/n通过延迟由所述第二处理器对所述第二工作单元的处理直到所述存储器系统被更新来提供中继一致性。/n

【技术特征摘要】
【国外来华专利技术】20170410 US 62/483,844;20180202 US 62/625,5181.一种中继一致存储器管理方法,包括:
接收第一工作单元以用于由多处理器系统的第一处理器执行,所述多处理器系统具有被耦合到存储器系统的所述第一处理器和第二处理器;
执行所述第一工作单元,其中所述存储器系统被访问;
在所述第一工作单元的执行时,生成第二工作单元以用于由所述第二处理器执行;
更新所述存储器系统;以及
通过延迟由所述第二处理器对所述第二工作单元的处理直到所述存储器系统被更新来提供中继一致性。


2.根据权利要求1所述的方法,还包括:
接收新工作单元以用于由所述第一处理器执行。


3.根据权利要求1所述的方法,其中所述存储器系统还包括相干存储器和非相干存储器二者,并且其中执行所述第一工作单元包括:
访问所述非相干存储器。


4.根据权利要求3所述的方法,其中所述相干存储器和所述非相干存储器具有不重叠的存储器地址范围。


5.根据权利要求1所述的方法,其中所述存储器系统还包括主存储器和高速缓冲存储器。


6.根据权利要求5所述的方法,其中所述主存储器中的非相干存储器关于所述第一处理器和所述第二处理器是中继一致的。


7.根据权利要求5所述的方法,其中更新所述存储器系统还包括高速缓存刷新。


8.根据权利要求5所述的方法,其中更新所述存储器系统还包括高速缓存刷新互锁系统的使用。


9.根据权利要求1所述的方法,其中在所述第一工作单元的执行期间,所述第一处理器拥有所述存储器系统的一部分,其中提供中继一致性包括向所述第二处理器传递消息,并且其中所述消息从所述第一处理器向所述第二处理器转移所述存储器系统的所述一部分的所有权。


10.根据权利要求9所述的方法,其中传递所述消息通过高速缓存刷新而被门控。


11.根据权利要求1所述的方法,其中所述第一处理器和所述第二处理器中的至少一个处理器将工作单元引导到多个处理器。


12.根据权利要求1所述的方法,其中所述第一处理器和所述第二处理器中的至少一个处理器从多个处理器接收工作单元。


13.根据权利要求1所述的方法,其中所述第一工作单元包括已处理I/O分组数据。


14.一种数据处理系统,包括:
存储器系统;
第一处理器,能够访问存储器系统,接收第一工作单元以用于执行,以及在所述第一工作单元的执行时生成第二工作单元以用于由第二处理器执行;
存储器管理系统,被连接到所述第一处理器并且能够更新所述存储器系统,
其中由所述第二处理器对所述第二工作单元的执行在存储器系统更新之后发生以提供中继一致性。


15.根据权利要求14所述的数据处理系统,其中所述存储器系统还包括相干存储器和非相干存储器二者。


16.根据权利要求15所述的方法,其中所述相干存储器和所述非相干存储器具有不重叠的存储器地址范围。


17.根据权利要求15所述的数据处理系统,其中非相干存储器关于所述第一处理器和所述第二处理器是中继一致的。


18.根据权利要求15所述的数据处理系统,其中更新所述存储器系统还包括高速缓存刷新。


19.根...

【专利技术属性】
技术研发人员:W·诺雷丁JM·弗雷郎P·辛德胡B·塞莱特
申请(专利权)人:芬基波尔有限责任公司
类型:发明
国别省市:美国;US

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

1
相关领域技术
  • 暂无相关专利