首页 / 专利库 / 工业自动化和数控机床 / 载荷 / 合并小有效载荷

合并小有效载荷

阅读:900发布:2020-05-12

专利汇可以提供合并小有效载荷专利检索,专利查询,专利分析的服务。并且本 申请 涉及合并小有效 载荷 。本文中描述的特定 实施例 提供一种 电子 设备,该电子设备可以被配置成集合要被传送到共同目的地的两个或更多个小分组,其中所述两个或更多个分组被一起集合在专用于临时存储要被传送到共同目的地的小分组的队列中,将小分组合并成合并的分组,其中合并的分组是网络分组,并将合并的分组传送到共同目的地。在示例中,小分组的大小是小于网络分组的分组。在另一个示例中,小分组的大小小于网络分组大小的一半。,下面是合并小有效载荷专利的具体信息内容。

1.一种电子设备,包括:
用于在片上系统(SoC)上的处理单元处接收分组的部件;
用于向所述分组添加扩展对象部分以创建修改的分组的部件;以及
用于将所述修改的分组传送到位于同一SoC上的网络接口控制器(NIC)的部件。
2.根据权利要求1所述的电子设备,其中在所述分组的有效载荷部分之前添加所述扩展对象部分。
3.根据权利要求1和2中任一项所述的电子设备,其中所述分组是以太网分组。
4.根据权利要求1-3中任一项所述的电子设备,进一步包括:
用于将所述修改的分组传送到第二NIC的部件。
5.根据权利要求4所述的电子设备,其中所述第二NIC在第二SoC上。
6.根据权利要求1-5中任一项所述的电子设备,其中所述扩展对象部分包括类型数据和分区数据。
7.根据权利要求1-6中任一项所述的电子设备,进一步包括:
用于从所述NIC接收关于所述修改的分组的反馈的部件。
8.一种片上系统(SoC),包括:
第一网元;
存储器
扩展对象引擎;以及
至少一个处理器,其中所述至少一个处理器被配置成使得所述扩展对象引擎:
向在所述第一网元处接收的分组添加扩展对象部分以创建修改的分组;以及将所述修改的分组传送到位于同一SoC上的第二网元。
9.根据权利要求8所述的SoC,其中所述第一网元是处理单元。
10.根据权利要求8和9中任一项所述的SoC,其中所述第二网元是网络接口控制器。
11.根据权利要求8-10中任一项所述的SoC,其中在所述分组的有效载荷部分之前添加所述扩展对象部分。
12.根据权利要求8-11中任一项所述的SoC,其中所述分组是以太网分组。
13.一种方法,包括:
在片上系统(SoC)上的处理单元处接收分组;
向所述分组添加扩展对象部分以创建修改的分组;以及
将所述修改的分组传送到位于同一SoC上的网络接口控制器(NIC)。
14.根据权利要求13所述的方法,其中在所述分组的有效载荷部分之前添加所述扩展对象部分。
15.根据权利要求13和14中任一项所述的方法,其中所述分组是以太网分组。
16.根据权利要求13-15中任一项所述的方法,进一步包括:
从所述NIC接收关于所述修改的分组的反馈。
17.根据权利要求13-16中任一项所述的方法,进一步包括:
将所述修改的分组传送到第二NIC。
18.根据权利要求17所述的方法,其中所述第二NIC在第二SoC上。
19.一种用于使得能实现使用扩展对象的在分组处理单元与网络接口控制器(NIC)之间的通信的系统,所述系统包括:
存储器;
一个或多个处理器;以及
处理单元扩展对象引擎,其中所述处理单元扩展对象引擎被配置成:
使得在所述分组处理单元处接收分组,其中所述分组处理单元在片上系统(SoC)上;
向所述分组添加扩展对象部分以创建修改的分组;以及
使得所述修改的分组被传送到位于同一SoC上的NIC。
20.根据权利要求19所述的系统,其中在所述分组的有效载荷部分之前添加所述扩展对象部分。
21.根据权利要求19和20中任一项所述的系统,其中所述分组是以太网分组。
22.根据权利要求19-21中任一项所述的系统,其中所述扩展对象引擎被进一步配置成:
从所述NIC接收关于所述修改的分组的反馈。
23.根据权利要求19-22中任一项所述的系统,其中所述扩展对象引擎被进一步配置成:
使得所述修改的分组被传送到第二NIC。
24.根据权利要求23所述的系统,其中所述第二NIC在第二SoC上。
25.根据权利要求23所述的系统,其中所述第二NIC在所述SoC上。

说明书全文

合并小有效载荷

技术领域

[0001] 本公开一般涉及计算和/或联网领域,并且更具体地涉及小有效载荷(payload)的合并。

背景技术

[0002] 数据中心系统中的新兴网络趋势对系统提出增加的性能要求。增加的要求可能导致系统中资源的使用的增加。资源具有有限的能,并且资源中的每个需要被管理。
附图说明
[0003] 为了提供对本公开及其特征和优点的更彻底理解,参考结合附图采取的以下描述,其中相同的参考数字表示相同的部分,其中:
图1是根据本公开的实施例的用来使得能实现小有效载荷的合并的系统的框图
图2A是根据本公开的实施例的用来使得能实现小有效载荷的合并的系统的一部分的
框图;
图2B是根据本公开的实施例的用来使得能实现小有效载荷的合并的系统的一部分的
框图;
图3A是根据本公开的实施例的用来使得能实现小有效载荷的合并的系统的一部分的
框图;
图3B是根据本公开的实施例的用来使得能实现小有效载荷的合并的系统的一部分的
框图;
图4是根据本公开的实施例的用来使得能实现小有效载荷的合并的系统的一部分的框
图;
图5A-5D是根据本公开的实施例的用来使得能实现小有效载荷的合并的系统的一部分
的框图;
图6A是图示根据本公开的实施例的用来使得能实现小有效载荷的合并的分组的示例
细节的框图;
图6B是图示根据本公开的实施例的用来使得能实现小有效载荷的合并的分组的示例
细节的框图;
图7是图示根据实施例的可能与系统相关联的潜在操作的流程图;以及
图8是图示根据实施例的可能与系统相关联的潜在操作的流程图。
[0004] 附图中的各图不一定按比例绘制,因为它们的尺寸可以相当大地变化而不脱离本公开的范围。

具体实施方式

[0005] 示例实施例以下详细描述阐述了涉及根据本公开的实施例的用于使得能实现小有效载荷的合并
的系统的装置、方法和系统的示例。例如,为了方便起见,关于一个实施例描述了诸如(一个或多个)结构、(一个或多个)功能和/或(一个或多个)特性之类的特征;可以用所描述的特征中的任何合适的一个或多个来实现各种实施例。
[0006] 在以下描述中,将使用由本领域技术人员通常采用以将其工作的实质传达给本领域其他技术人员的术语来描述说明性实现方式的各个方面。然而,对于本领域技术人员将
显而易见的是:可以仅用所描述的方面中的一些来实践本文中公开的实施例。出于解释的
目的,阐述了具体的数字、材料和配置,以便提供对说明性实现方式的透彻理解。然而,对于本领域技术人员将显而易见的是:可以在没有具体细节的情况下实践本文中公开的实施
例。在其他实例中,省略或简化公知的特征,以便不模糊说明性实现方式。
[0007] 在以下详细描述中,参考形成本文一部分的附图,其中相同的数字自始至终表示相同的部分,并且在其中通过图示的方式示出了可以实践的实施例。要理解:可以利用其他实施例并且可以做出结构或逻辑改变而不脱离本公开的范围。因此,不要在限制性的意义
上理解以下详细描述。出于本公开的目的,短语“A和/或B”意味着(A)、(B)或者(A和B)。出于本公开的目的,短语“A、B和/或C”意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或者(A、B和C)。
[0008] 图1是根据本公开的实施例的被配置成使得能实现小有效载荷的合并的电子设备的简化框图。在示例中,系统100可以包括一个或多个网元102a-102f。每个网元102a-102f可以使用网络104与彼此通信。在示例中,网元102a-102f和网络104是数据中心的一部分。
网络104可以与开放网络122(例如,因特网)通信。开放网络122可以与电子设备124通信。电子设备124可以是用户装备、云服务或者通过开放网络122与网络104通信的一些其他类型
的电子设备。
[0009] 网元102a-102f中的每个可以包括存储器、处理器、多个队列、仲裁器引擎、分派引擎、解码引擎、多个NIC以及一个或多个进程(process)。例如,网元102a可以包括存储器106a、处理器108a、多个队列112a-112c、仲裁器引擎114a、分派引擎116a、解码引擎118a、多个NIC 120a-120d以及一个或多个进程122a和122b。网元102b可以包括存储器106b、处理器
108b、多个队列112d-112f、仲裁器引擎114b、分派引擎116b、解码引擎118b、多个NIC 120e-
120h以及一个或多个进程122c和122d。每个进程122a-122d可以是进程、应用、功能、虚拟网络功能(VNF)等。队列112a-112f中的每个可以是用来临时存储要被合并并且传送到共同目的地的小分组的专用队列,并且每个队列可以与唯一目的地相关联。
[0010] NIC 120a-120d(也被称为网络接口卡、网络适配器、LAN适配器或物理网络接口以及其他类似术语)可以是将网元(例如,网元102a)连接到网络(例如,网络104)的计算机硬件组件。通常在插入到计算机总线中的扩展卡上实现早期的网络接口控制器。以太网标准的低成本和普遍性意味着大多数较新的计算机具有内置到母板中的网络接口。现代网络接
口控制器提供高级特征,诸如到主机处理器的中断和DMA接口,对多个接收和传输队列的支持,分区成多个逻辑接口,以及控制器上网络业务处理(诸如TCP卸载引擎)。
[0011] 系统100可以被配置成合并或聚合去往相同目的地或目标的不同小分组,或者作为到相同目的地或目标的路径的共享部分的不同小分组。一旦合并,就可以以单个分组而
不是作为单独的分组将小分组传送到目的地。当被目的地接收时,该单个分组被分解成不
同的小分组。术语“(一个或多个)小分组”包括小于网络分组的(一个或多个)分组。在一些示例中,(一个或多个)小分组至少小于网络分组的大小的一半,或者是足够小的分组以使得所述分组中的至少两个可以放在网络分组内部。术语“网络分组”包括在网络上传送的分组,并且是由分组交换网络承载的格式化数据单元。在示例中,网络分组是高性能计算结构(fabric)网络分组。术语“目的地”和“目标”包括作为分组的目的地或目标的网元,并且所述术语可以被可互换地使用。
[0012] 在示例中,分派引擎116可以被配置成将去往相同目的地的小随机分组分配到已被指定或与该目的地相关联的队列。在一些实现方式中,该队列是队列的有限集合的一部
分,其中队列的有限集合中的每个队列与特定唯一目的地相关联。在其他实现方式中,队列的有限集合中的两个或更多个队列与相同目的地相关联(例如,如果与其他目的地相比,特定目的地接收非常大量的小分组的话)。如果在边缘处完成聚合,则对于系统的所有端点的每个目的地来说不一定需要队列,或者如果在每个路由点处(例如,当穿过交换机时)分解并重新聚合分组,则对于所有本地目的地来说不一定需要队列。而且,每个队列不需要非常深,并且可以和两个小分组一样小。例如,十六(16)、三十二(32)、六十四(64)、一百二十八(128)字节深的队列可以提供相对好的性能而不会显著增加所需的存储器缓冲区。注意:队列深度可以更大,并且队列的大小至少部分取决于小分组的大小、网络分组的大小、队列将多么快地达到容量和/或其他因素(例如,系统的存储器容量等)。仲裁器引擎114可以被配置成选择队列的内容何时需要被合并和传送到目的地。在示例中,仲裁器引擎114可以被配置成生成合并的分组,用于在网络上到目的地的通信。术语“合并的分组”是包括一个或多个小分组的网络分组。在另一个示例中,发送队列或一些其他元素可以被配置成生成合并
的分组,用于在网络上到目的地的通信。对于完全随机的访问,仲裁器引擎114可以选择具有最大占用率的队列,并且链路一变得空闲和/或达到聚合阈值就发送合并的分组。如果小分组不是完全随机的,则需要周期性地处理所有队列以确保具有低占用率的队列不会面临
饥饿。
[0013] 在目的地处,分组由解码引擎(例如,解码引擎118b,如果网元102b是目的地的话)分解,并且分组或分组中的数据被分派到适当的目的地(例如,目的地内部的存储器,不是与合并的分组中的其他分组相同的目的地的某个其他目的地等)。为了帮助确保数据可以到达正确的目的地,解码引擎可以被配置成确定什么网元是目的地或目标或者下一个目的
地或目标。这可以通过检查分组的有效载荷的一部分(诸如地址)以确定正确的网元来完
成。如果没有可用的地址或者如果需要跨系统做出多个路由决策,则分派引擎可以添加这
样的地址,作为分组的有效载荷的一部分,以帮助确保分组到达目的地或目标。
[0014] 要理解:可以利用其他实施例并且可以做出结构改变而不脱离本公开的范围。系统100提供了相当大的灵活性,因为可以提供任何合适的布置和配置而不脱离本公开的教
导。图1的元件可以通过采用任何合适的连接(有线或无线连接)的一个或多个接口耦合到彼此,所述连接为网络(例如,网络104等)通信提供可行的通路。另外,可以基于特定的配置需要而组合或从架构移除图1的这些元件中的任何一个或多个。系统100可以包括能够进行
用于在网络中传输或接收分组的传输控制协议/因特网协议(TCP/IP)通信的配置。系统100还可以在适当的情况下并且基于特定需要来结合用户数据报协议/IP(UDP/IP)或任何其他合适的协议进行操作。
[0015] 如本文中所使用的,术语“当……时”和“使得”可以用于指示事件的时间性质。例如,短语“当事件‘B’发生时,事件‘A’发生”将被解释成意味着事件A可能在事件B的发生之前、期间或之后发生,但是尽管如此,与事件B的发生相关联。例如,如果事件A响应于事件B的发生或者响应于指示事件B已经发生、正在发生或将会发生的信号而发生,则当事件B发生时,事件A发生。另外,短语“事件‘A’使得事件‘B’发生”将被解释成意味着事件B与事件A的发生相关联。例如,如果事件B响应于事件A的发生或者响应于指示事件A已经发生、正在发生或将会发生的信号而发生,则当事件A发生时,事件B发生。在本公开中对“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或特性被包括在至少一个实施例中。短语“在一个实施例中”或“在实施例中”的出现不一定都指代相同实施例。
[0016] 出于图示系统100的某些示例技术的目的,可以将以下基本信息视为可以从其适当地解释本公开的基础。最终用户具有比以前更多的媒体和通信选择。许多突出的技术趋
势当前在进行中(例如,更多的计算设备、更多的在线视频服务、更多的因特网业务),并且这些趋势正在改变媒体递送情况。数据中心现今服务于因特网内容的一大部分,其包括web对象(文本、图形、统一资源定位器(URL)和脚本)、可下载对象(媒体文件、软件、文档)、应用(电子商务网站)、直播流媒体、点播流媒体和社交网络。另外,诸如数据中心之类的设备和系统被期望增加性能和功能。然而,性能和/或功能的增加可能导致系统和系统中的电子设备的资源内的瓶颈。可能导致瓶颈的元素中的一个是包括具有可用额外空间的小有效
载荷或者大开销的小分组或网络分组。
[0017] 此外,由于大数据分析和具有细粒度访问的高性能计算(HPC)工作负荷,能够跨网络处理随机访问或小有效载荷的分组的HPC系统变得越来越重要。大数据分析是检查大且变化的数据集(即大数据)以发现隐藏模式、未知相关性、市场趋势、客户偏好和用于研究目的的其他有用信息并且帮助组织做出明智的商业决策的过程。大数据分析的工作负荷往往
被表示为非常大的图形,并且在被处理时,在仔细查看该图形时呈现随机且细粒度的访问
模式。生物学研究、社交网络分析和计算机安全是高度受益于跨大图形对那些随机访问模
式的有效处理的领域的几个示例。对于HPC,依赖系统的分布式共享存储器视图(诸如分区的全局地址空间(PGAS)模型)的现代富有成效的编程语言和运行时环境也生成大量小网络消息。具有有效的小消息还允许更细粒度的并行化,并且因而提高系统的可扩展性。
[0018] 然而,这些小分组可能影响网络的资源。例如,与相对小的有效载荷大小相比,分组头部和尾部可以增加显著的开销。在Infiniband结构中,头部开销(LRH+BTH+CRC)在最好的情况下是二十六(26)字节。对于Omnipath结构,头部将通常具有三十二(32)字节,并且对于以太网分组(遵循IEEE 802.3格式),头部开销是四十(40)字节。对于八(8)字节的有效载荷,总带宽利用率将小于百分之二十五(<25%)。所需要的是一种用来使得能在将小有效载荷传送到共同目的地之前合并小有效载荷的系统和方法。
[0019] 如图1中所概述的,有助于小有效载荷的合并的设备可以解决这些问题(以及其他问题)。系统100可以被配置成在传输侧上合并分组,合并来自不同端点但是去往相同目的地、目标或目标组的分组,并且使用多级聚合,其中可以跨网络在各个点处的交换机中重新聚合消息。一些当前系统可以在传输分组之前对它们进行分段或者在接收侧上合并分组,
与系统100不同,所述系统100在传输侧上合并分组,传输合并的分组,并在接收侧处对合并的分组进行分段。大多数当前系统的目标是得到主机NIC接口的最佳利用率,并且也是减轻CPU核的负担。与系统100不同,当前系统不帮助提高网络链路带宽利用率,尤其对于招致大的分组开销的小分组。
[0020] 系统100可以被配置成执行当前系统的相反操作(opposite),因为系统100可以被配置成将小分组聚合成合并的分组并将合并的分组发送(传输)到被作为目标的目的地。在被作为目标的目的地处,合并的分组可以被分解成小分组。而且,系统100与当前系统之间的另一个主要差异是可以跨核或者甚至可以跨节点执行聚合。这扩展了完成聚合的方式的范围,并且对于在大系统上运行的随机访问应用来说特别重要。
[0021] 在一些示例中,系统100可以被针对一个或多个网元(例如,网元102a-102f)进行配置以在将单个大分组发送到共同目的地(例如,网元、网络接口、交换机端口等)之前将细粒度访问或者具有共同目的地或正被传送到共同目的地的分组合并成单个大分组。这可以有助于提高随机分组的性能和效率,其中随机分组将共享单个头部。通过避免协议版本、源和目的地本地标识符(LID)、分区密钥(PKey)、循环冗余校验(CRC)等的重复,合并小分组可以有助于减少开销。可以为网络接口处的小系统或为网络交换机中的大系统实现该系统。
在一些示例中,硬件特定的聚合允许细粒度聚合,并且可以跨线程、核、节点或者甚至在交换机级别处有效地执行聚合。这不能被在软件中有效地和实际地完成。另外,减少网络上的分组的数量有助于缓解结构拥塞并提高总体系统性能。
[0022] 在一些示例中,由于跨大量核在硬件中完成聚合并且可以较快地聚合许多小消息,因此提高总体性能(较好的聚合,并且因而,带宽的较好使用和减少的拥塞)并减少小消息的聚合等待时间(由于分组大小将快速达到足够的大小并被发送)。例如,在二十八(28)核节点中,遇到去往相同远程目的地的两个小分组的机会是在合并被限于来自单个核的分
组流时的二十八(28)倍。另外,硬件可以具有对来自节点中所有核的全部分组流的可见性,而在单个核上运行的软件不具有必要的可见性。另外,系统100可以是机会型的,因为小分组未被保持或被阻止传送达延长的时间段。系统100可以使用相对小的时间窗口来聚合在
相同路线上前进的另一个分组(或多个分组)。硬件还可以容易地实现非常短的定时器以等待另外的消息,但是仍然强迫传输以使消息保持及时。注意:如果较多数据未在某个小间隔内到达,则软件不能容易地实现定时器以传送分组。
[0023] 在一些示例中,可能存在小的带宽/等待时间折衷,由于当网络负载低时但是在给定结构带宽利用率的重大提高的情况下分组将遇到等待时间的轻微增加,这是可以可接受
的小折衷。实际上,在入口(ingress)处聚合小分组可以有助于缓解拥塞,并且因此将存在跨所有分组的总体等待时间益处。当网络负载低时,等待时间影响基于NIC在传输分组之前必须等待的附加时间。在传输分组之前等待的时间可以是预定时间量并且基于定时器。定
时器可以是可配置的,并且预定时间量可能是几十纳秒,并且在一些实现方式中,甚至可以完全消除该小的等待时间影响。是否需要执行硬件中的聚合可以被通过监视下游发生的拥
塞的级别来完成。例如,NIC可以使用可用的链路流信用,并且如果存在下游拥塞,则链路将在流信用方面为低。另外,NIC可以监视端到端等待时间和/或本地链路利用率以确定是否
打开聚合方案。
[0024] 在特定示例中,分派器(例如,分派引擎116a)可以被配置成将小随机分组分配到来自一组队列(例如,队列112a-112c)的正确队列(例如,队列112a)。每个队列可以被配置成在小分组等待被以单个分组而不是以单独的分组进行传送时临时存储、容纳、聚合等小分组。每个队列不需要非常深。例如,十六(16)、三十二(32)、六十四(64)、一百二十四(124)字节深的队列可以提供相对好的性能而不显著增加所需的存储器缓冲区。仲裁器(例如,仲裁器引擎114a)可以被配置成选择队列的内容何时准备好被发送。例如,可以在队列中达到预定阈值平(例如,队列是满的或者队列不能容纳另一个小分组)之后或在预定时间量之后发送队列的内容。对于完全随机的访问,仲裁器可以选择具有最大占用率的队列,并且链路一变得空闲和/或达到阈值就发送聚合的分组。如果分组不是完全随机的,则需要周期性地处理所有队列以确保具有低占用率的队列不面临饥饿。在示例中,特别指定的发送队列
可以收集要被合并的小分组并且被配置成生成合并的分组。
[0025] 在目的地处,合并的分组被分解和分派。为了确保来自每个小分组的数据可以到达正确的目的地,解码器(例如,解码引擎118a)需要能够为每个小分组确定什么网元被作为目的地。这可以被通过检查有效载荷的一部分(诸如地址)以确定正确的网元来完成。如果没有可用地址或者如果需要跨系统做出多个路由决策,则分组分派将需要添加这样的地
址,作为合并的分组的有效载荷的一部分。
[0026] 利用聚合,存在简化和加速到网络的软件接口的机会。软件可以用操作所需的最少信息直接写到聚合队列。例如,短的远程PUT命令可能仅由地址和数据组成。通过使用写组合空间,这可以实现对网络的软件访问的四倍加速,因为六十四(64)字节分组的单独分组可以被十六(16)字节的数据替换。类似地,在目的地处,当分组被分解时,NIC可以执行较低数量的向主机存储器的写,因为在分组中聚合的操作可以将连续或附近的地址作为目
标。此外,对于去往在目的地处的应用的小消息,可以存在相同的机会。例如,目的地可以接受聚合的消息而不是解包的消息,从而导致接收器处的较大效率。
[0027] 在作业开始之前,需要在聚合器与分解器之间建立特定的连接。连接过程将类似于结构网络中任何可靠的连接建立,添加有设置小分组大小和要使用的寻址方案(例如,在小分组中使用哪些比特来在每个聚合分解步骤处执行路由)。对于具有成千上万个节点的
大规模系统,端到端聚合可能不够(取决于应用)。可能需要路由点处的附加分解和重新聚合。另外,在大系统的端点或路由点之间,可能需要维持可靠性,以便可靠地递送聚合的分组。这可以被使用不同的方法来完成,诸如在端点之间建立连接,其可以被在设置时执行或由系统100自动执行。
[0028] 在说明性示例中,考虑八(8)字节有效载荷(包括寻址),支持系统的完全对分带宽的胖树,以及网络结构接口支持二十五(25)千兆字节/秒(GB/s)的原始带宽。不利用聚合,对于八(8)字节的数据,假设三十二(32)字节用于分组开销,则结构端口效率仅为百分之二十(20%)或每个节点五(5)GB/s。为了将系统与完全对分带宽连接,需要十二(12)个交换机。
[0029] 通过使用系统100并且使四(4)个节点共享网络接口,利用十六(16)个小分组深(一百二十八(128)字节)的队列,每个网络端口的网络效率达到百分之八十(80%)(16x8=128B的有效载荷),其是每个网络端口二十(20)GB/s或每个节点五(5)GB/s。因此,单个交换机(而不是十二(12)个)能够支持等效系统而没有针对小分组的任何带宽降级。通过使用聚合,在没有节点共享的情况下(即,通过使交换机结构保持完整),系统100可以提高每个节点的带宽。通过使用三十二(32)字节的队列深度,在说明性示例中,系统100可以获得二十二(22)GB/s的带宽,多于四倍(4x)的改进。二百五十六(256)节点集群上的用于这样的队列的缓冲存储器将仅二(2)MB。
[0030] 从纯硬件的度来看,当网络空闲时,聚合将增加等待时间,因为聚合分组中的第一条消息被强迫等待分派。当网络空闲时,没有带宽压力,并且可以禁用聚合。当网络被加载百分之五十(50%)时,队列中的分组将必须等待具有相同目的地的来自近似一半输入端口的分组的到达。排队系统的典型利用率曲线遵守Little定律,并且随着网络利用率达到容量,预计的服务时间急剧上升。Little定律规定:固定系统(即队列)中客户(即小分组)的长期平均数(“L”)等于长期平均有效到达率(“λ”)乘以客户在系统中花费的平均时间(“W”)。利用聚合,由于头部的消除,网络利用率减少大约百分之八十(80%),这导致网络等待时间的超线性减少。
[0031] 当考虑软件效果时,可以进一步减少等待时间。在一些当前系统中,在空载网络上,硬件端到端等待时间大约为0.75微秒并且软件等待时间大约为1.3微秒。以上粗略的拥塞计算结果表明:硬件延迟在百分之五十(50%)利用率下可能达到六(6)微秒,但在利用聚合的情况下将保持不变。
[0032] 转到图1的基础结构,示出了根据示例实施例的系统100。一般地,可以以任何类型或拓扑的网络来实现系统100。网络104表示用于接收和传输通过系统100传播的信息的分组的互连通信路径的一系列点或节点。网络104提供节点之间的通信接口,并且可以被配置为任何局域网(LAN)、虚拟局域网(VLAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、内联网、外联网、虚拟专用网(VPN)以及促进网络环境中的通信的任何其他适当的架构或系统、或者其任何合适的组合,包括有线和/或无线通信。
[0033] 在系统100中,可以根据任何合适的通信消息传递协议发送和接收包括分组、、信号、数据等的网络业务。合适的通信消息传递协议可以包括诸如开放系统互连(OSI)模型之类的多层方案,或者其任何衍生物或变体(例如,传输控制协议/因特网协议(TCP/IP)、用户数据报协议/IP(UDP/IP))。可以根据各种网络协议(例如,以太网、Infiniband、OmniPath等)构成通过网络的消息。另外,还可以在系统100中提供通过蜂窝网络的无线电信号通信。
可以提供合适的接口和基础结构以使得能够与蜂窝网络通信。
[0034] 如本文中使用的术语“分组”指代可以在分组交换网络上的源节点(例如,网元等)与目的地节点(例如,网元、目标等)之间路由的数据单元。分组包括源网络地址和目的地网络地址。这些网络地址可以是媒体访问控制(MAC)地址或诸如在TCP/IP消息传递协议中的因特网协议(IP)地址等。如本文中使用的术语“数据”指代任何类型的二进制数据、数字数据、语音数据、视频数据、文本数据或脚本数据,或者任何类型的源或目标代码,或者以任何适当格式的可以在电子设备和/或网络中从一个点传送到另一个点的任何其他合适的信息。另外,消息、请求、响应和查询是网络业务的形式,并且因此可以包括分组、帧、信号、数据等。
[0035] 在示例实现方式中,网元102a-102f有意包含网元、网络器具、服务器、路由器、交换机、网关、桥接器、负载均衡器、处理器、模或者可操作以在网络环境中交换信息的任何其他合适的设备、组件、元件或对象。网元102a-102f可以包括促进其操作的任何合适的硬件、软件、组件、模块或对象,以及用于在网络环境中接收、传输和/或以其他方式传送数据或信息的合适接口。这可以包括允许数据或信息的有效交换的适当算法和通信协议。网元102a-102f中的每个可以是虚拟的或包括虚拟元件。
[0036] 关于与系统100相关联的内部结构,网元102a-102f中的每个可以包括用于存储将在本文中概述的操作中使用的信息的存储器元件。网元102a-102f中的每个可以将信息保
持在任何合适的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、专用集成电路(ASIC)等)、软件、硬件、固件中,或者在适当的情况下并且基于特定需要将信息保持在任何其他合适的组件、设备、元件或对象中。本文中讨论的任何存储器项应当被解释为被包含在广义术语“存储器元件”内。
此外,可以在全部可以在任何合适的时间帧处引用的任何数据库、寄存器、队列、表、高速缓存、控制列表或其他存储结构中提供在系统100中使用、跟踪、发送或接收的信息。任何这样的存储选项也可以被包括在如本文中使用的广义术语“存储器元件”内。
[0037] 在某些示例实现方式中,本文中概述的功能可以由被编码在一个或多个有形介质中的逻辑(例如,在ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、要由处理器或其他类似机器执行的软件(潜在地包括目标代码和源代码)等)来实现,所述一个或多个有形介质可以包括非暂时性计算机可读介质和机器可读介质。在这些实例中的一些中,存储器
元件可以存储用于本文中描述的操作的数据。这包括能够存储被执行以实行本文中描述的
活动的软件、逻辑、代码或处理器指令的存储器元件。
[0038] 在示例实现方式中,系统100的元件(诸如网元102a-102f)可以包括软件模块(例如,仲裁器引擎114、分派引擎116、解码引擎118等)以实现或促进如本文中所概述的操作。这些模块可以被以任何适当的方式合适地组合,其可以基于特定的配置和/或供应需要。在示例实施例中,这样的操作可以由硬件执行,在这些元件外部实现,或者被包括在某个其他网络设备中以实现预期的功能性。此外,模块可以被实现为软件、硬件、固件或其任何合适的组合。这些元件还可以包括可以与其他网元协调以便实现如本文中所概述的操作的软件
(或往复式软件(reciprocating software))。
[0039] 另外,网元102a-102f中的每个可以包括可以执行软件或算法以实行如本文中所讨论的活动的处理器。处理器可以执行与数据相关联的任何类型的指令以实现本文中详述
的操作。在一个示例中,处理器可以将元件或物品(例如,数据)从一个状态或东西变换成另一个状态或东西。在另一个示例中,可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现本文中概述的活动,并且本文中标识的元件可以是某个类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))或者包括数字逻辑、软件、代码、电子指令或其任何合适的组合的ASIC。本文中描述的任何潜在处理元件、模块和机器应当被解释为
被包含在广义术语“处理器”内。
[0040] 转到图2A,图2A是网元102a将合并的分组130a传送到网元102b的简化框图。分组128a-128f是小分组,其如果被单独发送,则将是具有大分组开销的分组并且可能导致网络的相对低效的使用。仲裁器引擎114a可以将分组一起集合成一个合并的分组130a,并将合
并的分组130a传送到网元102b。因为以合并的分组130a而不是单独地以六个分离的分组来
传送分组128a-128f,所以可以节省带宽和网络资源。当网元102b接收到合并的分组130a
时,解码引擎118b可以从合并的分组130a中提取分组128a-128f。
[0041] 转到图2B,图2B是网元102a将合并的分组130b传送到网元102b并将合并的分组130c传送到网元102c的简化框图。网元102c可以包括存储器106c、处理器108c、多个队列
112g-112i、仲裁器引擎114c、分派引擎116c、解码引擎118c、多个NIC 120i-120l以及一个或多个进程122e和122f。每个进程122e和122f可以是进程、应用、功能、虚拟网络功能(VNF)等,并且可以生成分组128a-128c中的一个或多个。
[0042] 如图2B中所图示的,分组128a-128c的目的地是网元102b,并且分组128d-128f的目的地是网元102c。分派引擎116a可以被配置成确定分组128a-128c中的每个的目的地,并将分组128a-128c中的每个分配给与分组128a-128c的共同目的地相关联的队列。例如,因
为分组128a-128c具有相同的目的地(例如,网元102b),所以分派引擎116a可以将分组
128a-128c分配给队列112a。而且,因为分组128d-128f具有相同的目的地(例如,网元
102c),所以分派引擎116a可以将分组128d-128f分配给队列112b。
[0043] 仲裁器引擎114a可以被配置成选择接下来需要发送队列中的哪些分组,并将所述分组一起集合成一个合并的分组,并将该合并的分组传送到适当的目的地。例如,仲裁器引擎114a可能因为队列112a是满的、队列112a已满足阈值、已经过去预定时间量等而确定需
要发送队列112a中的分组,并且仲裁器引擎114a可以将分组128a-128c合并成合并的分组
130b并将合并的分组130b传送到网元102b。因为以合并的分组130b而不是单独地以三个分
离的分组来传送分组128a-128c,所以可以节省带宽和网络资源。当网元102b接收到合并的分组130b时,解码引擎118b可以从合并的分组130b中提取分组128a-128c。
[0044] 另外,仲裁器引擎114a可能因为队列112b是满的、队列112b已满足阈值、已经过去预定时间量等而确定需要发送队列112b中的分组,并且仲裁器引擎114a可以将分组128d-128f合并成合并的分组130c并将合并的分组130c传送到网元102c。因为以合并的分组130c
而不是单独地以三个分离的分组来传送分组128d-128f,所以可以节省带宽和网络资源。当网元102c接收到合并的分组130c时,解码引擎118c可以从合并的分组130c中提取分组
128d-128f。
[0045] 转到图3A,图3A是系统100的示例细节的简化框图。如图3A中所图示的,网元102d从网元102a-102c中的一个或多个接收小分组。在示例中,网元102d是交换机。分组128a-
128f是小分组。仲裁器引擎114d可以将分组一起集合成一个合并的分组130a,并将合并的
分组130a传送到网元102e。因为以合并的分组130a而不是单独地以六个分离的分组来传送
分组128a-128f,所以可以节省带宽和网络资源。当网元102e接收到合并的分组130a时,解码引擎118e可以从合并的分组130a中提取分组128a-128f。
[0046] 转到图3B,图3B是系统100的示例细节的简化框图。如图3B中所图示的,网元102d从网元102a-102c中的一个或多个接收小分组。分组128a-128f是小分组,其可能具有不同
的最终目的地但是可能具有沿着到所述不同的最终目的地的网络路径的共同目的地。例
如,如图3B中所图示的,分组128a和128b的最终目的地是不同的网元,但是所述分组具有沿着到所述不同的网元的路径的相同目的地。更具体地,关于来自网元102a的分组128a和
128b,分组128a的最终目的地是网元102e,并且分组128b的最终目的地是网元102f。然而,分组128a和分组128b两者具有共同目的地——网元102d(例如,沿着到网元102e和102f的
网络路径的交换机)。此外,关于来自网元102c的分组128d-128f,分组128d的最终目的地是网元102e,并且分组128e和128f的最终目的地是网元102f。然而,分组128d-128f具有共同目的地——网元102d。
[0047] 因为分组128a和128b具有沿着到不同最终目的地的网络路径的共同目的地(网元102d),所以网元102a可以合并分组128a和128b并将它们传送到共同目的地——网元102d。
而且,因为分组128d-128e具有沿着到不同最终目的地的网络路径的共同目的地(网元
102d),所以网元102c可以合并所述分组并将它们传送到共同目的地——网元102d。在分组
128a、128b和128d-128f到达网元102d之后,分派引擎116d可以被配置成确定所述分组连同其他接收的分组(例如,分组128c)中的每个的目的地,并将每个分组分配给适当的队列。例如,分派引擎116d可以被配置成确定分组128a、128c和128d中的每个的目的地,并将分组
128a、128c和128d中的每个分配给适当的队列(例如,队列112a-112c)。更具体地,因为分组
128a、128c和128d具有相同的目的地,所以分派引擎116d可以将分组128a、128c和128d分配给队列112a。而且,因为分组128b、128e和128f具有相同的目的地,所以分派引擎116d可以将分组128b、128e和128f分配给队列112b。
[0048] 仲裁器引擎114d可以被配置成选择接下来需要发送队列中的哪些分组,并将所述分组一起集合成一个合并的分组,并将合并的分组传送到适当的目的地。例如,仲裁器引擎
114d可能因为队列112a是满的、队列112a已满足阈值、已经过去预定时间量等而确定需要
发送队列112a中的分组,并且仲裁器引擎114d可以将分组128a、128c和128d合并成合并的
分组130d,并将合并的分组130d传送到网元102e。因为以合并的分组130d而不是单独地以
三个分离的分组来传送分组128a、128c和128d,所以可以节省带宽和网络资源。当网元102e接收到合并的分组130d时,解码引擎118e可以从合并的分组130d中提取分组128a、128c和
128d。
[0049] 另外,仲裁器引擎114d可能因为队列112b是满的、队列112b已满足阈值、已经过去预定时间量等而确定需要发送队列112b中的分组,并且仲裁器引擎114d可以将分组128b、128e和128f合并成合并的分组130e,并将合并的分组130e传送到网元102f。因为以合并的
分组130e而不是单独地以三个分离的分组来传送分组128b、128e和128f,所以可以节省带
宽和网络资源。当网元102f接收到合并的分组130e时,解码引擎118f可以从合并的分组
130e中提取分组128b、128e和128f。
[0050] 转到图4,图4是图示根据本公开的实施例的系统100的示例细节的简化框图。如图4中所图示的,分派引擎116可以接收多个分组128a-128f。分组128a-128f是小分组。基于每个分组的目的地,分派引擎116可以将分组传送到特定队列。例如,因为分组128a-128c具有相同的目的地,所以分派引擎116将所述分组传送到队列112a。而且,因为分组128d和128e具有相同的目的地并且该目的地不同于分组128a-128c的目的地,所以分派引擎116将分组
128d和128e传送到队列112b。另外,分组128f不具有与发送到队列112a的分组128a-128c或者与发送到队列112b的分组128d和128e相同的目的地,并且将分组128f发送到队列112c。
[0051] 仲裁器引擎114可以确定何时需要发送队列中的分组。例如,可能因为队列是满的、队列已满足阈值、已经过去预定时间量等而需要发送队列中的分组。当需要发送队列中的分组时,仲裁器引擎114可以将队列中的分组合并成合并的分组。例如,当仲裁器引擎114确定需要发送队列112a中的分组128a-128c时,仲裁器引擎114可以将分组128a-128c合并
成合并的分组130b并将合并的分组130b传送到分组128a-128c的共同目的地。这节省网络
资源,因为向目的地传送包括分组128a-128c的一个分组,而不是三个单独的小分组。合并的分组130b由共同目的地处的解码引擎118b接收,并且解码引擎118b从合并的分组130b中
提取分组128a-128c。
[0052] 而且,当仲裁器引擎114确定需要发送队列112b中的分组128d和128e时,仲裁器引擎114可以将分组128d和128e合并成合并的分组130c并将合并的分组130c传送到分组128d
和128e的共同目的地。这节省网络资源,因为向目的地传送包括分组128d和128e的一个分
组,而不是两个单独的小分组。合并的分组130c由共同目的地处的解码引擎118c接收,并且解码引擎118c从合并的分组130c中提取分组128d和128e。在已经过去预定时间量或者将附
加分组添加到队列112c并且队列112c的容量满足阈值之后,可以将分组128c传送到其目的
地。
[0053] 转到图5A-5D,图5A-5D是图示根据本公开的实施例的系统100的示例细节的简化框图。如图5A中所图示的,队列112a-112c中的每个可以包括阈值132。阈值132可以用于帮助确定队列何时满,并且队列中的分组可以被合并在一起并传送到共同目的地。在示例中,每个队列可以具有相同的阈值,或者一个或多个队列可以具有不同的阈值。
[0054] 如图5A中所图示的,队列112a包括分组128a,并且队列112b和112c是空的。如图5B中所图示的,分组128b被接收并放置在队列112a中。例如,分派引擎116(未示出)可能已经确定分组128b具有与分组128a相同的目的地并将分组128b放置在具有分组128a的队列112a中。而且,分组128d和128e被放置在队列112b中。注意:分组128a-128e可以具有相同或类似的大小,或者一个或多个可以具有不同的大小。
[0055] 如图5C中所图示的,分组128c被添加到队列112a。这使得队列112a的内容满足阈值132。此外,分组128f被添加到队列112c。没有分组被添加到队列112b并且队列112b的内容不满足阈值132。如图5D中所图示的,因为队列112a中的阈值132被满足,所以队列112a中的分组128a-128c被合并在一起并被传送到它们的共同目的地。而且,队列112b中的分组
128d和128e也被合并在一起并被传送到它们的共同目的地。即使队列112b的内容没有满足
阈值132,也可能自128d被添加到队列112b以来已经过去预定时间量,并且预定时间量触发分组128d和128e被合并在一起并被传送到它们的共同目的地。在已经过去预定时间量或者
附加分组被添加到队列112c以满足阈值132之后,可以将分组128f传送到其目的地。
[0056] 转到图6A,图6A是图示根据本公开的实施例的合并的分组130b的示例细节的简化框图。合并的分组130b可以包括网络头部136和有效载荷138。有效载荷138可以包括已经被合并以便以单个分组而不是若干单独分组来传送的小分组。例如,合并的分组130b可以包
括分组128a-128c。分组128a可以包括头部140a和有效载荷142a,分组128b可以包括头部
140b和有效载荷142b,并且分组128c可以包括头部140c和有效载荷142c。通过以一个合并
的分组130b而不是单独地以三个分离的分组来传送分组128a-128c,可以节省带宽和网络
资源。
[0057] 转到图6B,图6B是图示根据本公开的实施例的合并的分组130c的示例细节的简化框图。合并的分组130c可以包括网络头部136和有效载荷138。有效载荷138可以包括已经被合并以便以单个分组而不是若干单独分组来传送的小分组。在示例中,可能已经在应用头
部(application header)级别处合并所述分组,并且在有效载荷138中的每个分组不需要头部。例如,合并的分组130c可以包括公共或组合的头部以及在合并的分组130c中合并的
分组128d-128f的有效载荷。例如,有效载荷138可以包括头部140d和有效载荷142d-142f。
头部140可以是公共头部或者分组128d-128f的头部的组合。有效载荷142d可以是图2B中图
示的分组128d的有效载荷。有效载荷142e可以是图2B中图示的分组128e的有效载荷。有效
载荷142f可以是图2B中图示的分组128f的有效载荷。
[0058] 转到图7,图7是图示根据实施例的可能与小有效载荷的合并相关联的流程700的可能操作的示例流程图。在实施例中,流程700的一个或多个操作可以由仲裁器引擎114、分派引擎116和/或解码引擎118执行。在702处,接收小分组。在704处,确定小分组的目的地。
在706处,基于目的地,将小分组分配给队列。在示例中,队列是用来临时存储要被合并并且传送到共同目的地的小分组的专用队列。
[0059] 转到图8,图8是图示根据实施例的可能与小有效载荷的合并相关联的流程800的可能操作的示例流程图。在实施例中,流程800的一个或多个操作可以由队列同步引擎110
执行。在802处,监视与目的地相关联的队列。在804处,系统确定队列的内容是否满足阈值。
如果队列的内容满足阈值,则如在808中那样将队列的内容合并成合并的分组并传送到目
的地。如果队列的内容不满足阈值,则系统如在806中那样确定是否已经过去预定时间量。
如果已经过去预定时间量,则如在808中那样将队列的内容合并成合并的分组并传送到目
的地。如果没有过去预定时间量,则系统返回到802并且与目的地相关联的队列被监视。可以针对系统中的每个队列做该过程。
[0060] 还重要的是注意:前述流程图(即图7和8)中的操作仅图示可以由系统100执行或在系统100内执行的可能相关场景和模式中的一些。在适当的情况下可以删除或移除这些
操作中的一些,或者可以相当大地修改或改变这些操作而不脱离本公开的范围。另外,已经将许多这些操作描述为与一个或多个附加操作同时执行或并行执行。然而,这些操作的定
时可能被相当大地变更。出于示例和讨论的目的,提供了前述操作流程。系统100提供了相当大的灵活性,因为可以提供任何合适的布置、时间顺序、配置和定时机制而不脱离本公开的教导。
[0061] 虽然已经关于特定布置和配置详细描述了本公开,但是可以显著地改变这些示例配置和布置而不脱离本公开的范围。此外,可以基于特定需要和实现方式来组合、分离、消除或添加某些组件。另外,虽然已经关于促进通信过程的特定元件和操作来图示系统100,但是这些元件和操作可以由实现系统100的预期功能性的任何合适的架构、协议和/或过程
取代。
[0062] 对本领域技术人员来说可以确定许多其他改变、替换、变化、变更和修改,并且意图本公开包含如落入所附权利要求书的范围内的所有这样的改变、替换、变化、变更和修改。为了帮助美国专利和商标局(USPTO)并且另外帮助关于本申请发布的任何专利的任何读者解释附到本申请的权利要求书,申请人希望指出申请人:(a)不打算使任何所附权利要求在其在本申请的申请日存在时援引美国法典第35章第112节的第六(6)段,除非在特定权利要求中特别使用词语“用于......的部件”或“用于......的步骤”;并且(b)不打算通过说明书中的任何陈述以未以其他方式在所附权利要求中反映的任何方式限制本公开。
[0063] 其他说明和示例示例C1是具有一个或多个指令的至少一种机器可读存储介质,所述一个或多个指令在
由至少一个处理器执行时使得所述至少一个处理器将两个或更多个小分组一起集合在专
用于临时存储要被传送到共同目的地的小分组的队列中,其中小分组是小于网络分组的分
组,将所述两个或更多个小分组合并成合并的分组,并将合并的分组传送到共同目的地。
[0064] 在示例C2中,示例C1的主题可以可选地包括:其中合并的分组是网络分组,并且所述两个或更多个小分组中的一个的大小小于网络分组的大小的一半。
[0065] 在示例C3中,示例C1-C2中任何一个的主题可以可选地包括:其中所述一个或多个指令进一步使得所述至少一个处理器确定队列的级别达到阈值,其中达到阈值是使得所述
两个或更多个小分组被合并成合并的分组的原因。
[0066] 在示例C4中,示例C1-C3中任何一个的主题可以可选地包括:其中所述一个或多个指令进一步使得所述至少一个处理器确定已经过去预定时间量,其中达到预定时间量是使
得所述两个或更多个小分组被合并成合并的分组的原因。
[0067] 在示例C5中,示例C1-C4中任何一个的主题可以可选地包括:其中共同目的地是网络交换机。
[0068] 在示例C6中,示例C1-C5中任何一个的主题可以可选地包括:其中合并的分组是高性能计算结构网络分组。
[0069] 在示例C7中,示例C1-C6中任何一个的主题可以可选地包括:其中共同目的地是数据中心的一部分。
[0070] 在示例A1中,一种电子设备可以包括:存储器;专用于临时存储要被传送到共同目的地的小分组的队列,其中小分组是小于网络分组的分组;一个或多个处理器;分派引擎,其中分派引擎被配置成使得所述一个或多个处理器将要被传送到共同目的地的两个或更多个小分组一起集合在队列中;以及仲裁器引擎,其中仲裁器引擎被配置成使得所述一个
或多个处理器将所述两个或更多个小分组合并成合并的分组并将合并的分组传送到共同
目的地。
[0071] 在示例A2中,示例A1的主题可以可选地包括:其中所述两个或更多个小分组中的一个的大小小于合并的分组的大小的一半。
[0072] 在示例A3中,示例A1-A2中任何一个的主题可以可选地包括:其中仲裁器引擎被进一步配置成使得所述一个或多个处理器确定队列的级别达到阈值,其中达到阈值是使得所
述两个或更多个小分组被合并成合并的分组的原因。
[0073] 在示例A4中,示例A1-A3中任何一个的主题可以可选地包括:其中队列是队列的有限集合的一部分,并且队列的有限集合中的每个队列与唯一目的地相关联。
[0074] 在示例A5中,示例A1-A4中任何一个的主题可以可选地包括:其中合并的分组是高性能计算结构网络分组。
[0075] 示例AA1是一种设备,所述设备包括:存储器;专用于临时存储要被传送到共同目的地的小分组的队列,其中小分组是小于网络分组的分组;用于将要被传送到共同目的地
的两个或更多个小分组一起集合在队列中的部件;用于将所述两个或更多个小分组合并成
合并的分组的部件;以及用于将合并的分组传送到共同目的地的部件。
[0076] 在示例AA2中,示例AA1的主题可以可选地包括:其中所述两个或更多个小分组中的一个的大小小于网络分组的大小的一半。
[0077] 在示例AA3中,示例AA1-AA2中任何一个的主题可以可选地包括:用于确定队列的级别达到阈值的部件,其中达到阈值是使得所述两个或更多个小分组被合并成合并的分组
的原因。
[0078] 在示例AA4中,示例AA1-AA3中任何一个的主题可以可选地包括:用于确定已经过去预定时间量的部件,其中达到预定时间量是使得所述两个或更多个小分组被合并成合并
的分组的原因。
[0079] 在示例AA5中,示例AA1-AA4中任何一个的主题可以可选地包括:其中共同目的地是网络交换机。
[0080] 在示例AA6中,示例AA1-AA5中任何一个的主题可以可选地包括:其中网络分组是高性能计算结构网络分组。
[0081] 示例M1是一种方法,所述方法包括:集合要被传送到共同目的地的两个或更多个小分组,其中所述两个或更多个小分组被一起集合在专用于临时存储要被传送到共同目的
地的小分组的队列,其中小分组是小于网络分组的分组;将所述两个或更多个小分组合并
成合并的分组,其中合并的分组是网络分组;以及将合并的分组传送到共同目的地。
[0082] 在示例M2中,示例M1的主题可以可选地包括:其中所述两个或更多个小分组中的一个的大小小于网络分组的大小的一半。
[0083] 在示例M3中,示例M1-M2中任何一个的主题可以可选地包括:确定队列的级别达到阈值,其中达到阈值是使得所述两个或更多个小分组被合并成合并的分组的原因。
[0084] 在示例M4中,示例M1-M3中任何一个的主题可以可选地包括:确定已经过去预定时间量,其中达到预定时间量是使得所述两个或更多个小分组被合并成合并的分组的原因。
[0085] 在示例M5中,示例M1-M4中任何一个的主题可以可选地包括:其中共同目的地是网络交换机。
[0086] 在示例M6中,示例M1-M5中任何一个的主题可以可选地包括:其中网络分组是高性能计算结构网络分组。
[0087] 示例S1是一种用于合并小有效载荷的系统。该系统可以包括:存储器;专用于临时存储要被传送到共同目的地的小分组的队列,其中小分组是小于网络分组的分组,其中队列是队列的有限集合的一部分并且队列的有限集合中的每个队列与唯一目的地相关联;一
个或多个处理器;分派引擎;以及仲裁器引擎。分派引擎可以被配置成使得所述至少一个处理器将要被传送到共同目的地的两个或更多个小分组集合在队列中。仲裁器引擎可以被配
置成使得所述至少一个处理器将小分组合并成合并的分组并将合并的分组传送到共同目
的地。
[0088] 在示例S2中,示例S1的主题可以可选地包括:其中所述两个或更多个小分组中的一个的大小小于合并的分组的大小的一半。
[0089] 在示例S3中,示例S1-S2中任何一个的主题可以可选地包括:其中仲裁器引擎被进一步配置成确定队列的级别达到阈值,其中达到阈值是使得所述两个或更多个小分组被合
并成合并的分组的原因。
[0090] 在示例S4中,示例S1-S3中任何一个的主题可以可选地包括:其中仲裁器引擎被进一步配置成确定已经过去预定时间量,其中达到预定时间量是使得所述两个或更多个小分
组被合并成合并的分组的原因。
[0091] 在示例S5中,示例S1-S4中任何一个的主题可以可选地包括:其中共同目的地是网络交换机。
[0092] 在示例S6中,示例S1-S5中任何一个的主题可以可选地包括:其中合并的分组是高性能计算结构网络分组。
[0093] 在示例S7中,示例S1-S6中任何一个的主题可以可选地包括:其中系统是数据中心的一部分。
[0094] 示例AAA1是一种装置,所述装置包括:用于将两个或更多个小分组一起集合在专用于临时存储要被传送到共同目的地的小分组的队列中的部件,用于将所述两个或更多个
小分组合并成合并的分组的部件,以及用于将合并的分组传送到共同目的地的部件。
[0095] 在示例AAA2中,示例AAA1的主题可以可选地包括:其中合并的分组是网络分组,并且所述两个或更多个小分组中的一个的大小小于网络分组的大小的一半。
[0096] 在示例AAA3中,示例AAA1-AAA2中任何一个的主题可以可选地包括:用于确定队列的级别达到阈值的部件,其中达到阈值是使得所述两个或更多个小分组被合并成合并的分
组的原因。
[0097] 在示例AAA4中,示例AAA1-AAA3中任何一个的主题可以可选地包括:用于确定已经过去预定时间量的部件,其中达到预定时间量是使得所述两个或更多个小分组被合并成合
并的分组的原因。
[0098] 在示例AAA5中,示例AAA1-AAA4中任何一个的主题可以可选地包括:共同目的地是网络交换机。
[0099] 在示例AAA6中,示例AAA1-AAA5中任何一个的主题可以可选地包括:合并的分组是高性能计算结构网络分组。
[0100] 在示例AAA7中,示例AAA1-AAA6中任何一个的主题可以可选地包括:其中共同目的地是数据中心的一部分。
[0101] 示例X1是一种机器可读存储介质,其包括用来实现如在示例A1-A5、AA1-AA6、AAA1-7或M1-M6中的任何一个中的方法或装置的机器可读指令。示例Y1是包括用于执行示
例方法M1-M6中的任何方法的部件的装置。在示例Y2中,示例Y1的主题可以可选地包括:用于执行该方法的包括处理器和存储器的部件。在示例Y3中,示例Y2的主题可以可选地包括:
存储器包括机器可读指令。
相关专利内容
标题 发布/更新时间 阅读量
重载荷用轮胎 2020-05-11 583
载荷检测装置 2020-05-12 156
一种载荷试验机 2020-05-12 962
大载荷衣服架 2020-05-12 209
冲击载荷缓冲器 2020-05-13 406
载荷加载装置 2020-05-13 19
载荷加载机构 2020-05-13 526
载荷支撑件 2020-05-11 499
重载荷用轮胎 2020-05-12 830
载荷转换器 2020-05-11 366
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈