一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多处理器/端点数据分割系统的制作方法

2021-11-24 21:45:00 来源:中国专利 TAG:

多处理器/端点数据分割系统


背景技术:

1.本公开总体上涉及信息处置系统,并且更特别地涉及在信息处置系统中的处理器与端点组合之间分割数据。
2.随着信息的价值和使用继续增加,个人和商业寻求处理和存储信息的额外方式。用户可利用的一个选项是信息处置系统。信息处置系统通常处理、编译、存储和/或传达用于商业、个人或其他目的的信息或数据,从而允许用户利用这些信息的价值。因为技术和信息处置需要和要求在不同用户或应用之间有所不同,所以信息处置系统也可能关于以下方面有所不同:处置什么信息,如何处置信息,处理、存储或传达多少信息,和可以多快速并且多高效地处理、存储或传达信息。信息处置系统的变化允许信息处置系统是通用的或者针对特定用户或特定用途(例如财务事务处理、航线预定、企业数据存储或全球通信)进行配置。另外,信息处置系统可包括可被配置成处理、存储和传达信息的多种硬件和软件部件,并且可包括一个或多个计算机系统、数据存储系统和联网系统。
3.例如服务器装置的信息处置系统有时被用于处理网络数据流,并且一些网络数据流可包括具有多个单独部分或组块的有效载荷。举例来说,视频流可包括各种编码信息、音频部分、视频部分、语言信息、副标题、数字版权管理(drm)和/或所属领域中已知的其他视频流部分。在另一个实例中,网络数据流可包括头/元数据部分和有效载荷部分。在一些实施方案中,网络数据流由服务器装置进行处理,服务器装置包括多个处理器并且利用每个处理器被提供其可快速存取的局部存储器的非均匀存储器存取(numa)计算机存储器设计,那些处理器经由处理器互连(例如,可用于处理系统中的由公司(santa clara,california,united states)提供的超路径互连(upi))耦合在一起,所述处理器互连允许处理器存取在其他处理器本地的存储器。当此类处理器处理上文讨论的网络数据流时,每个处理器可致力于处理那些网络数据流的相应部分。
4.例如服务器装置的信息处置系统有时被用于处理网络数据流,并且一些网络数据流可包括具有多个单独部分或组块的有效载荷。举例来说,视频流可包括各种编码信息、音频部分、视频部分、语言信息、副标题、数字版权管理(drm)和/或所属领域中已知的其他视频流部分。在另一个实例中,网络数据流可包括头/元数据部分和有效载荷部分。在一些实施方案中,网络数据流由服务器装置进行处理,服务器装置包括多个处理器并且利用每个处理器被提供其可快速存取的局部存储器的非均匀存储器存取(numa)计算机存储器设计,那些处理器经由处理器互连(例如,可用于处理系统中的由公司(santa clara,california,united states)提供的超路径互连(upi))耦合在一起,所述处理器互连允许处理器存取在其他处理器本地的存储器。当此类处理器处理上文讨论的网络数据流时,每个处理器可致力于处理那些网络数据流的相应部分。
5.此外,此类服务器装置可具备多个多端点适配器装置,所述多端点适配器装置提供经由通信耦合各自耦合到相应处理器的多个端点(例如,pcie端点)。那些通信耦合可包括被分割以便提供耦合到相应端点的每个处理器的通道(例如,pcie通道),并且多端点适配器装置可允许网络数据流经由网络由每个端点接收并且经由相应的通信耦合转发到与
那个端点相关联的处理器。因而,不需要使用upi将网络数据流从为任何特定处理器提供的局部存储器复制到为另一个处理器提供的局部存储器,网络数据流即可由不同处理器进行处理。然而,这个过程仍然引起多个低效率,例如需要每个处理器经由网络获得自己的网络数据流拷贝。
6.因此,渴望提供经改良的多处理器数据流处理系统。


技术实现要素:

7.根据一个实施方案,一种信息处置系统(ihs)包括:处理系统;存储器系统,所述存储器系统耦合到所述处理系统并且包括指令,所述指令在由所述处理系统执行时致使所述处理系统提供多端点适配器分割器引擎,所述多端点适配器分割器引擎被配置成进行以下操作:经由网络端口接收第一数据有效载荷;识别第一数据子有效载荷,所述第一数据子有效载荷包括在所述第一数据有效载荷中并且与包括在多个端点子系统中的第一端点子系统相关联;识别第二数据子有效载荷,所述第二数据子有效载荷包括在所述第一数据有效载荷中并且与包括在所述多个端点子系统中的第二端点子系统相关联;将所述第一数据有效载荷分割成所述第一数据子有效载荷和所述第二数据子有效载荷;将所述第一数据子有效载荷转发到所述第一端点子系统;以及将所述第二数据子有效载荷转发到所述第二端点子系统。
附图说明
8.图1是图示信息处置系统(ihs)的一实施方案的示意图;
9.图2是图示联网系统的一实施方案的示意图,所述联网系统包括经由网络耦合到管理系统的多个服务器装置;
10.图3是图示服务器装置的一实施方案的示意图,所述服务器装置可包括在图2的联网系统中,并且可提供本公开的多处理器/端点数据分割系统;
11.图4是图示分割网络数据流的方法的一实施方案的流程图;
12.图5是图示在由图2的服务器装置提供的多处理器/端点数据分割系统中和在图4的方法期间分割网络数据流的一实施方案的序列图;
13.图6a是图示在由图2的服务器装置提供的多处理器/端点数据分割系统中和在图4的方法期间分割网络数据流的一实施方案的示意图;
14.图6b是图示在由图2的服务器装置提供的多处理器/端点数据分割系统中和在图4的方法期间分割网络数据流的一实施方案的示意图;
15.图6c是图示在由图2的服务器装置提供的多处理器/端点数据分割系统中和在图4的方法期间分割网络数据流的一实施方案的示意图;
16.图6d是图示在由图2的服务器装置提供的多处理器/端点数据分割系统中和在图4的方法期间分割网络数据流的一实施方案的示意图。
具体实施方式
17.出于本公开的目的,信息处置系统可包括可操作用于出于商业、科学、控制或其他目的而计算、运算、确定、分类、处理、传输、接收、检索、发起、切换、存储、显示、传达、显现、
检测、记录、重现、处置或利用任何形式的信息、情报或数据的任何工具或工具集合。举例来说,信息处置系统可以是个人计算机(例如,台式计算机或膝上型计算机)、平板计算机、移动装置(例如,个人数字助理(pda)或智能手机)、服务器(例如,刀片服务器或机架式服务器)、网络存储装置或任何其他合适的装置,并且大小、形状、性能、功能性和价格可能会有所不同。信息处置系统可包括随机存取存储器(ram)、例如中央处理单元(cpu)或硬件或软件控制逻辑的一个或多个处理资源、rom和/或其他类型的非易失性存储器。信息处置系统的附加部件可包括一个或多个磁盘驱动器、用于与外部装置进行通信的一个或多个网络端口以及各种输入和输出(i/o)装置,例如键盘、鼠标、触摸屏和/或视频显示器。信息处置系统还可包括可操作以在各种硬件部件之间传输通信的一条或多条总线。
18.在一个实施方案中,图1的ihs 100包括连接到总线104的处理器102。总线104充当ihs 100的处理器102与其他部件之间的连接。输入装置106耦合到处理器102以将输入提供给处理器102。输入装置的实例可包括键盘、触摸屏例如鼠标、跟踪球和触压板的点击设备和/或所属领域中已知的多种其他输入装置。程序和数据存储在耦合到处理器102的海量存储装置108上。海量存储装置的实例可包括硬盘、光盘、磁光盘、固态存储装置和/或所属领域中已知的多种其他海量存储装置。ihs 100还包括显示器110,所述显示器通过视频控制器112耦合到处理器102。系统存储器114耦合到处理器102以为处理器提供快速存储,以促进处理器102对计算机程序的执行。系统存储器的实例可包括随机存取存储器(ram)装置,例如动态ram(dram)、同步dram(sdram)、固态存储器装置和/或所属领域中已知的多种其他存储器装置。在一实施方案中,机箱116容纳ihs 100的部件中的一些或全部。应当理解,其他总线和中间电路可部署在上述的部件与处理器102之间,以促进部件与处理器102之间的互连。
19.现在参考图2,图示了联网系统200的一实施方案。在所图示的实施方案中,联网系统200包括多个服务器装置202a、202b以及直到202c。在一实施方案中,服务器装置202a到202c中的任一者或全部可由参考图1在上文讨论的ihs 100提供,和/或可包括ihs 100的部件中的一些或全部。然而,尽管作为服务器装置来图示和讨论,但是本公开所属领域的技术人员将认识到,本公开的多处理器/端点数据分割系统可设置在可被配置成如下文讨论地类似地操作的任何装置中。服务器装置202a到202c耦合到可由局域网(lan)、互联网和/或所属领域中已知的其他网络提供的网络204。管理系统206也经由网络204耦合到服务器装置202a到c。管理系统206可由参考图1在上文讨论的ihs 100提供,和/或可包括ihs 100的部件中的一些或全部。在特定实例中,管理系统206可由服务器装置、台式计算装置、膝上型/笔记型计算装置、平板计算装置、移动电话和/或可以提供在下文讨论的管理系统功能性的任何其他装置提供。尽管图示了几个特定装置,但是本公开所属领域的技术人员将认识到,更多装置可以(并且通常会)设置在联网系统200中(例如,在数据中心中),同时保持在本公开的范围内。此外,尽管已经图示和描述了特定的联网系统200,但是本公开所属领域的技术人员将认识到,本公开的多处理器/端点数据分割系统可包括多种部件和部件配置,同时也保持在本公开的范围内。
20.现在参考图3,图示了服务器装置300的一实施方案,服务器装置300可以提供参考图2在上文讨论的服务器装置202a到202c中的任一者。因而,服务器装置300可由参考图1在上文讨论的ihs 100提供和/或可包括ihs 100的部件中的一些或全部。此外,尽管作为服务
器装置300来图示讨论,但是本公开所属领域的技术人员将认识到,下文讨论的服务器装置300的功能性可由被配置成与下文讨论地类似地操作的其他装置提供。举例来说,在其他实施方案中,服务器装置300可以是客户端装置、客户端装置与服务器装置的组合和/或本公开所属领域的技术人员可了解的其他装置。在所图示的实施方案中,服务器装置300包括容纳服务器装置300的部件的机箱302,下文仅图示所述部件中的一些。举例来说,机箱302可以容纳主机应用程序处理系统(其可包括参考图1在上文讨论的设置在下文讨论的处理子系统中的一个或多个中的处理器102)和主机应用程序存储器系统(其可包括参考图1在上文讨论的设置在下文讨论的存储器子系统中的一个或多个中的存储器114),主机应用程序存储器系统耦合到主机应用程序处理系统并且包括指令,所述指令在由主机应用程序处理系统执行时致使主机应用程序处理系统提供主机应用程序引擎303,主机应用程序引擎303被配置成执行下文讨论的主机应用程序引擎和/或主机应用程序子系统的功能性。
21.机箱302也可以容纳板304,例如母板和/或本公开所属领域的技术人员可了解的其他电路板。在所图示的实施方案中,多个处理子系统设置在板304上并且包括处理子系统306a、处理子系统308a、处理子系统310a以及处理子系统312a,其中所述处理子系统经由处理子系统互连耦合在一起,所述处理子系统互连例如可用于处理系统中的由(santa clara,california,united states)提供的芯片间全局存储器互连(xgmi)、可用于处理系统中的由提供的全局存储器连接(gmi)、可用于处理系统中的由公司(santa clara,california,united states)提供的超路径互连(upi)等,和/或本公开所属领域的技术人员可了解的任何其他处理互连。举例来说,在所图示的实施方案中,处理子系统306a和308a经由处理子系统互连313a耦合在一起,处理子系统308a和310a经由处理子系统互连313b耦合在一起,并且处理子系统310a和312a经由处理子系统互连耦合在一起。此外,处理子系统306a、308a、310a和312a中的每一个具备并且连接到相应的存储器子系统306b、308b、310b和312b。举例来说,服务器装置300中的处理子系统和存储器子系统可利用非均匀存储器存取(numa)计算机存储器设计,在所述计算机存储器设计中,每个相应的处理子系统连接到相应的本地存储器子系统以提供相应的numa节点(即,处理子系统306a及其本地存储器子系统306b提供第一numa节点,处理子系统308a以及其本地存储器子系统308b提供第二numa节点,诸如此类)。然而,尽管在图3中图示了四个处理子系统/存储器子系统(例如,四个numa节点),但是本公开所属领域的技术人员将认识到,根据本公开的教导可提供更多或更少的处理子系统/存储器子系统(例如,numa节点),这也在本公开的范围内。在图3所图示的实例中,主机应用程序处理系统可包括(经由执行相应存储器子系统上的指令的处理子系统)操作以提供主机应用程序引擎303的numa节点中的一个或多个。
22.在所图示的实施方案中,处理子系统306a、308a、310a和312a中的每一个耦合到可设置在板304上的控制/桥子系统314。尽管被图示和描述为控制/桥子系统,但是本公开所属领域的技术人员将认识到,其他子系统(例如,pcie开关)可执行在下文讨论的控制/桥子系统314的功能性,同时也保持在本公开的范围内。在所图示的实施方案中,控制/桥子系统314可由板304上的硬件提供,所述硬件耦合到包括在板304上的立管装置316。然而,在其他实施方案中,控制/桥子系统314可作为立管装置316的部件而提供,同时也保持在本公开的范围内。在各种实例中,控制/桥子系统314与立管装置316之间的耦合可以是可配置或不可配置的。立管装置316包括一个或多个连接器317。在所图示的实例中,连接器317包括两个
x16连接器(例如,pcie连接器),所述连接器由在图3中图示的八个x4连接器(例如,对于第一x16连接器编号为“1”、“2”、“3”和“4”,并且对于第二x16连接器编号为“5”、“6”、“7”和“8”)提供。然而,本公开所属领域的技术人员将认识到,任何数目个不同类型、大小和/或其他连接器特性的连接器也属于本公开的范围。
23.在所图示的实施方案中,一个或多个多端点适配器装置318耦合到立管装置316并且包括耦合到立管装置316的多个端点子系统。因而,尽管多端点适配器装置318被图示为单个多端点适配器装置,本公开所属领域的技术人员将认识到,一对多端点适配器装置可耦合到立管装置316(例如,每个多端点适配器装置连接到设置在立管装置316上的两个x16连接器中的相应连接器,如上所述),并且可各自提供耦合到立管装置316的多个端点子系统。在所图示的实例中,端点子系统320a、端点子系统320b、端点子系统320c和端点子系统320d由多端点适配器装置318提供并且耦合到立管装置316上的连接器317。在一特定实例中,设置在多端点适配器装置318上的端点子系统可由例如以下各项的物理或虚拟快速外部部件互连(pcie)端点提供:软件定义的网络接口控制器(nic)、物理nic、主机总线适配器(hba)和/或被配置成供应本公开所属领域的技术人员可了解的数据流的任何其他端点子系统。在一些实施方案中,例如当nic被配置成提供允许分割多个处理子系统之间的那个nic的资源的“多pcie端点装置”时,多于一个的端点子系统320a到320d可由单个nic提供。举例来说,nic端点可被配置成将其到立管装置316的x16连接分割成到一对处理子系统的两个x8连接,或到四个处理子系统中的每一个的四个x4连接。
24.在各种实施方案中,控制/桥子系统314、立管装置316和端点子系统320a到320d之间的踪迹、布线和/或其他耦合可提供处理子系统306a与端点子系统320a之间的通信耦合315a、处理子系统308a与端点子系统320b之间的通信耦合315b、处理子系统310a与端点子系统320c之间的通信耦合315c和处理子系统312a与端点子系统320d之间的通信耦合315d。然而,尽管图示了特定处理子系统与端点子系统之间的通信耦合,但是本公开所属领域的技术人员将认识到,不同处理子系统与端点子系统之间的通信耦合也将在本公开的范围内。
25.在一些实施方案中,设置在多端点适配器装置318上的端点子系统320a到320d与处理子系统306a、308a、310a和312a之间的通信耦合315a到315d可以是可配置以按需要分配服务器装置300中的通信资源,或者可以不可配置而使得服务器装置中的通信资源是静态/固定的。在一些实施方案中,每个端点子系统320a到320d可被配置成经由通信耦合315a到315d执行关于存储器子系统306b、308b、310b或312b中的一个或多个的直接存储器访问(dma)操作。尽管在图3中图示了四个端点子系统320a到320d,但是本公开所属领域的技术人员将认识到,多端点适配器装置318可包括至少两个端点子系统(例如,pcie端点、nics等)并且可执行其他功能性,同时也保持在本公开的范围内。
26.在所图示的实施方案中,多端点适配器装置318可包括耦合到端点子系统320a到320d的分割器装置322。在不同实例中,分割器装置322可包括专用集成电路(asic)芯片、现场可编程门阵列(fpga)和/或本公开所属领域的技术人员可了解的任何其他可编程分割器硬件。因而,分割器装置322可包括分割器处理系统(未图示,但是可包括参考图1在上文讨论的处理器102)和分割器存储器系统(未图示,但是可包括参考图1在上文讨论的存储器114),所述分割器存储器系统耦合到分割器处理系统并且包括指令,所述指令在由分割器
处理系统执行时致使分割器处理系统提供被配置成执行下文讨论的分割器引擎和/或分割器装置的功能性的分割器引擎。
27.在所图示的实施方案中,多端点适配器装置318可包括耦合到分割器装置322的端口324。举例来说,端口324可包括rj45端口、sfp 端口、qsfp端口、minisas hd端口和/或本公开所属领域的技术人员可了解的任何其他端口/连接器。在一些实施方案中,端口324可耦合到网络204,可直接耦合到另一个装置(例如,另一个服务器装置202a到202c、存储系统、管理系统等),和/或可以本公开所属领域的技术人员可了解的多种方式来耦合。尽管在图3中图示了单个端口,但是本公开所属领域的技术人员将认识到,任何数目个端口可包括在多端点适配器装置318上并且耦合到分割器装置322。然而,尽管已经图示了特定的服务器装置300,但是本公开所属领域的技术人员将认识到,服务器装置(或根据本公开的教导以类似于下文针对服务器装置300描述的方式操作的其他装置)可包括多种部件和/或部件配置以用于提供常规的服务器装置功能性以及下文讨论的功能性,同时也保持在本公开的范围内。
28.现在参考图4,图示了用于由多处理器/端点数据分割系统来分割网络数据流的方法400的一实施方案。如下文所讨论,本公开的系统和方法提供用于配置分割器装置以分割在多端点适配器装置接收到的数据。举例来说,分割器装置可被配置成将传入的网络数据流不对称地或对称地分割成多个网络数据流部分,并且经由相应的端点子系统将所述网络数据流部分提供给耦合到多端点适配器装置的相应处理子系统,所述端点子系统由耦合到那些相应处理子系统的多端点适配器装置提供。在分割网络数据流之前,主机应用程序可通知端点子系统和分割器装置预期不同的处理子系统如何处理网络数据流,并且这些配置通知可由分割器装置使用以执行对传入网络数据流的分割。因而,提供了用于处理网络数据流的更高效服务器装置,所述服务器装置操作以将网络数据流分割成直接提供给相应的处理子系统的各种部分而不需要将网络数据流复制到每个处理子系统(如在处理网络数据流时利用多个处理器的常规服务器装置中所要求)。消除了对将网络数据流复制到处理子系统中的每一个(例如,经由连接那些处理子系统的处理子系统互连)的需求或对经由网络获得由每个处理子系统提供的网络数据流的需求提供常规服务器装置经历的潜伏时间、带宽成本和其他低效率的减少。
29.方法400在块402开始,在块402处,配置分割器装置以分割网络数据流中的数据有效载荷。在一实施方案中,在块402处,配置分割器装置322以分割通过网络204接收到的网络数据流中的数据有效载荷。数据有效载荷可经由任何网络数据流提供并且可包括进行组合以提供数据有效载荷的数据的各种部分(例如,组块、子有效载荷)。举例来说,数据有效载荷可作为视频数据流的部分来提供并且可包括编码信息、音频部分、视频部分、语言信息、副标题、数字版权管理(drm)信息和/或本公开所属领域的技术人员可了解的其他部分。在另一个实例中,数据有效载荷可包括头/元数据部分和主体部分。
30.在一些实施方案中,主机应用程序引擎303可配置分割器装置322以在数据有效载荷由分割器装置322接收之前分割数据有效载荷。举例来说,主机应用程序引擎303可以是通过网络204正在与另一个应用程序端点通信的应用程序端点。如图5所图示,主机应用程序引擎303可以设置在服务器装置202a中并且可以与设置在服务器装置202b上的应用程序通信。举例来说,由服务器装置202a提供的主机应用程序引擎303可使用远程直接存储器访
问(rdma)协议与服务器装置202b上的应用程序进行通信,rdma协议包括使用rdma协议动词以执行拉取模式数据传送以从由服务器装置202b提供的应用程序获得数据有效载荷。因而,数据有效载荷的各种部分的长度可以在数据有效载荷的实际传送之前使用rdma协议进行协商。此外,主机应用程序引擎303可被配置成知道包括在多端点适配器分割器装置318上的分割器装置322和端点子系统320a到320d。
31.如图5中提供的序列图500所图示,主机应用程序引擎303可识别数据有效载荷的两个部分,所述两个部分应由单独处理子系统进行处理。举例来说,主机应用程序引擎303可使用在rdma协商期间算出的数据有效载荷的长度来识别数据有效载荷的多个部分。因而,数据有效载荷的第一部分可由主机应用程序引擎303来识别以供处理子系统306a进行处理,并且在步骤502a,主机应用程序引擎303可经由通信耦合315a将第一配置通知提供给端点子系统320a。第一配置通知可包括:存储器地址(例如,addrx),其包括在为处理子系统306a提供局部存储器的存储器子系统306b中;和数据有效载荷的第一部分的长度(例如,length1)。然而,可利用其他标识符来识别数据有效载荷的第一部分,同时也保持在本公开的范围内。在步骤502b,端点子系统320a可将第一配置通知提供给分割器装置322,并且分割器装置322可配置其硬件和/或分割器引擎以在数据有效载荷由分割器装置322接收时辨识数据有效载荷的第一部分(例如,length1)。
32.类似地,主机应用程序引擎303可识别待由处理子系统310a处理的数据有效载荷的第二部分,并且在步骤504a,主机应用程序引擎303可经由通信耦合315c将第二配置通知提供给端点子系统320c。第二配置通知可包括:存储器地址(例如,addry),其包括在为处理子系统310a提供局部存储器的存储器子系统310b中;和数据有效载荷的第二部分的长度(例如,length2)。然而,可利用识别数据有效载荷的第二部分的其他标识符,同时也保持在本公开的范围内。在步骤504b,端点子系统320c可将第二配置通知提供给分割器装置322,并且分割器装置322可配置其硬件和/或分割器引擎以在数据有效载荷由分割器装置322接收时辨识数据有效载荷的第二部分(例如,length2)。在一些实例中,数据有效载荷的第一部分和第二部分可以不对称,这是因为每个部分具有不同的长度或大小。然而,在其他实例中,第一部分和第二部分可以在长度/大小上对称。此外,在其他实例中,配置通知可包括可由端点子系统320a到320d和分割器装置322使用以分割数据有效载荷的其他信息。尽管在图5和图6a到图6c中图示了数据有效载荷的两个部分,但是所属领域的技术人员将认识到,数据有效载荷可包括任何数目个可由主机应用程序引擎303识别以供多个处理子系统306a、308a、310a和/或312a中的任一者处理的部分,同时也保持在本公开的范围内。
33.尽管在方法400的块402处描述了分割器装置322被配置成分割在网络数据流中接收到的数据有效载荷的特定实例,但是本公开所属领域的技术人员将认识到,分割器装置322可以其他方式进行配置以识别和分割数据有效载荷的多个部分。举例来说,分割器装置322可被配置成分割tcp/ip协议数据流、存储协议数据流、消息传递协议数据流和/或本公开所属领域的技术人员可了解的串流数据的任何其他协议。
34.方法400接着前进到块404,在块404处,接收网络数据流中的数据有效载荷。在一实施方案中,在块404处,分割器装置322可经由端口324接收数据有效载荷。在分割器装置322经由端口324接收数据有效载荷之前,主机应用程序引擎303可经由网络204向服务器装置202b请求数据有效载荷,并且所述请求可以致使服务器装置202经由网络204将数据有效
载荷提供给服务器装置300。在图示在图5的序列图500中的特定实例中,在步骤506和步骤508,主机应用程序引擎303可执行从服务器装置202b拉取数据有效载荷的rdma传送操作。举例来说,主机应用程序引擎303可发出对局部存储器中的包括目的地存储器地址(例如,addrz)的数据有效载荷(例如,length1 length2)的读取请求,并且服务器装置202b可通过将所要数据直接写入到使用分割器装置318为了主机应用程序引擎提供的局部存储器中的请求位置中来做出响应。因而,服务器装置202b可将数据有效载荷提供给多端点适配器分割器装置318以对系统存储器(例如,存储器子系统306b、存储器子系统308b、存储器子系统310b和/或存储器子系统312b)执行dma写入。如图6a所图示,在dma写入之前,包括数据有效载荷部分602a和数据有效载荷部分602b的数据有效载荷602可经由端口324由分割器装置322接收。
35.方法400接着前进到块406,在块406处,识别数据有效载荷的多个部分以用于分割。在一实施方案中,在块406处,分割器装置322可识别数据有效载荷的多个部分以进行分割。在一些实施方案中,分割器装置322和/或分割器引擎可被配置成具有用于识别包括在数据有效载荷中的部分的分组检测逻辑。举例来说,分割器装置322可使用在方法400的块402处执行的配置以检测和识别数据有效载荷的多个部分以用于分割。在图5所图示的特定实例中,分割器装置322可使用在步骤502b接收到的第一配置通知来识别数据有效载荷的第一部分(长度1(length1)),且可使用在步骤504b接收到的第二配置通知来识别数据有效载荷的第二部分(长度2(length2))。
36.方法400接着前进到块408,在块408处,将数据有效载荷分割成多个识别出部分。在一实施方案中,在块408处,分割器装置322可将数据有效载荷分割成第一部分和第二部分。举例来说,分割器装置322和/或分割器引擎可包括将数据有效载荷分段/分割成多个识别出部分的分段逻辑。如图6b所图示,分割器装置322可将数据有效载荷602分割成数据有效载荷部分602a和数据有效载荷部分602b。
37.方法400接着前进到块410,在块410处,将数据有效载荷的每个部分提供给相应的端点子系统。在一实施方案中,在块410处,分割器装置322可将从接收到的数据有效载荷分割的数据有效载荷的每个部分转发到相应的端点子系统。在一些实施方案中,分割器装置322和/或分割器引擎可被配置成具有用于将数据有效载荷的每个部分转发到其相应的端点子系统的转发逻辑。举例来说,转发逻辑可使用在方法400的块402期间接收到的配置通知(例如,在步骤502b接收到的第一配置通知和在步骤504b接收到的第二配置通知)将数据有效载荷的每个部分转发到其相应的端点子系统。在一特定实例中,配置通知可能已经致使分割器装置322将在配置通知中提供的存储器地址映射到与那些存储器地址相关联并且将配置通知提供给分割器装置322的端点子系统。
38.举例来说,在步骤502b接收到的第一配置通知指示部分length1应写入到addrx并且由端点子系统320a提供,并且因此,数据有效载荷的length1的部分被转发到端点子系统320a。因此,如步骤510a中所说明,数据有效载荷的length1部分被提供给端点子系统320a。如图6c所图示,数据有效载荷部分602a(其可以是图5中的length1部分)可被转发到端点子系统320a。类似地,在步骤504b接收到的第二配置通知指示部分length2应写入到addry并且由端点子系统320c提供,并且因此,数据有效载荷的length2的部分被转发到端点子系统320c。因此,如在步骤510b所说明,数据有效载荷的length2部分被提供给端点子系统320c。
如图6c所图示,数据有效载荷部分602b(其可以是图5中的length2部分)可被转发到端点子系统320c。
39.方法400可接着前进到块412,在块412处,将数据有效载荷的每个部分提供给包括在多个处理子系统中的相应处理子系统。在一实施方案中,在块412处,接收到数据有效载荷的多个部分的端点子系统可将那些部分提供给其对应的处理子系统。如图6d所图示,端点子系统320a可经由通信耦合315a将数据有效载荷部分602a提供给处理子系统306a。类似地,端点子系统320c可经由通信耦合315c将数据有效载荷602的数据有效载荷部分602b提供给处理子系统310a。继续主机应用程序引擎303利用rdma协议的上述实例,端点子系统320a可包括用于直接执行dma写入操作到在作为处理子系统306a的局部存储器的存储器子系统306b中提供的存储器地址addrx中的dma引擎。类似地,端点子系统320c可包括用于直接执行dma写入操作到在作为处理子系统310a的局部存储器的存储器子系统310b中提供的存储器地址addrx中的dma引擎。每个处理子系统306a、308a、310a和/或312b接着可处理所述处理子系统指定要处理的数据有效载荷的部分。继续所图示的实例,处理子系统306a可处理在数据有效载荷602中提供的数据有效载荷部分602a,同时,处理子系统310a可处理在数据有效载荷602中提供的数据有效载荷部分602b。本公开所属领域的技术人员将认识到,因而可对作为网络数据流的部分接收的任何数据有效载荷重复方法400,从而提供多处理器/端点系统中的数据分割以将在数据流中接收到的数据有效载荷的不同部分提供给不同的端点/处理器/存储器子系统。
40.因此,已经描述了提供在处理器/端点子系统之间分割包括在网络数据流中的数据有效载荷的系统和方法。包括在多端点适配器装置上的分割器装置可由主机应用程序预先配置以将数据有效载荷分割/分段处多个单独部分,并且将每个部分提供给与被指定处理数据有效载荷的那个部分的相应处理子系统相关联的相应端点子系统。处理子系统接着从其端点子系统仅接收被指定处理的数据有效载荷的部分。因而,多个处理子系统之间的处理子系统互连不用于将来自一个处理子系统的局部存储器的数据复制到其他处理子系统的局部存储器,并且将要处理网络数据流的部分的每个处理子系统仅需要任何数据有效载荷的单个实例,而不是所述数据有效载荷的拷贝通过消除对经由处理子系统互连将每个完全数据有效载荷复制到处理子系统中的每一个的需要或由每个处理子系统通过网络获得每个完全数据有效载荷的需要,实现潜伏时间的减少、带宽成本的降低和其他低效率功能性的减少。
41.此外,本公开与以下各项一起提交:在2019年4月26日提交并且涉及虚拟机开发技术的美国专利申请no.16/396,022,代理人案号16356.2030us01;在2019年4月26日提交并且数据复制技术的美国专利申请no.16/396,320,代理人案号16356.2032us01;在2019年4月26日提交并且涉及分组选路技术的美国专利申请no.16/396,453,代理人案号16356.2033us01;在2019年4月26日提交并且涉及通信耦合配置技术的美国专利申请no.16/395,468,代理人案号16356.2034us01;在2019年4月26日提交并且涉及连接配置技术的美国专利申请no.16/396,521,代理人案号16356.2035us01;以及在2019年4月26日提交并且涉及边带通信技术的美国专利申请no.16/395,584,代理人案号16356.2036us01;前述美国专利申请中的每一者包括利用在包括在本公开中的实施方案中的一些中描述的多处理器/多端点系统的实施方案。本公开所属领域的技术人员将认识到本公开的实施方案
可如何与上文讨论的公开内容的一些或全部组合,并且因此,那些公开内容以全文引用的方式并入本文中。
42.尽管已经展示和描述了说明性实施方案,但是在先前公开内容中和一些实例中预期广泛范围的修改、变化和替换,可在不对应地使用其他特征的情况下使用实施方案的一些特征。因此,随附权利要求是在广义上并且以和本文中公开的实施方案的范围一致的方式进行解释是恰当的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献