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

应用级网络排队制造技术

技术编号:33772901 阅读:15 留言:0更新日期:2022-06-12 14:25
本公开描述了应用级网络排队。在例子中,公开了一种计算装置,包括:网络接口,其被配置为提供多个队列;应用;以及一个或多个逻辑元件,其包括排队引擎,所述排队引擎用于:检查传入分组;以及基于分类符将所述传入分组分配给所述应用的专用队列。还公开了一种提供排队引擎的方法,以及一个或多个有形的非瞬态计算机可读存储介质,其上存储有用于提供排队引擎的可执行指令。可执行指令。可执行指令。

【技术实现步骤摘要】
应用级网络排队
[0001]分案申请说明
[0002]本申请是申请日为2016年11月25日、申请号为201611054171.8、题为“应用级网络排队”的中国专利技术专利申请的分案申请。


[0003]本公开在总体上涉及计算机联网领域,并且更具体地但不排他地涉及用于应用级网络排队的系统和方法。

技术介绍

[0004]繁忙轮询,也称作“繁忙等待”或“回转(spinning)”,是这样一种技术:其中进程反复地监视条件,以查看该条件是否已成真。例如,如果该进程需要输入,则它可以不停地循环,观察输入缓存以查看是否数据已变得可用。其它用途可能是:查看键是否已被按压,或者锁是否可用。另一用途是创建已知的时延,例如通过在规定数量的毫秒中“不做任何事情”,但是处理器速度的变化可能使得这不完全可靠。
[0005]繁忙轮询可能是一种有用的技术,尤其是在低层级(low

level)编程中——其中受中断驱动的处理(interrupt

driven processing)可能是低效或繁琐的。

技术实现思路

[0006]在例子中,公开了一种计算装置,具有:网络接口,其被配置为提供多个队列;应用;以及一个或多个逻辑元件,其包括排队引擎,所述排队引擎用于:检查传入分组(incoming packet);以及基于分类符(classifier)将所述传入分组分配给所述应用的专用队列(dedicated queue)。还公开了一种提供排队引擎的方法,以及一个或多个有形的非瞬态计算机可读存储介质,其上存储有用于提供排队引擎的可执行指令。
附图说明
[0007]当结合附图阅读时,从下文的具体实施方式中得出对本公开的最佳理解。要强调的是,根据业内的标准实践,各个特征不必按比例绘制,并且仅用于说明目的。在明确地或隐含地示出比例的情况下,其只是提供一个说明性的例子。在其它实施例中,为了论述的清楚,可以随意地增加或减小各个特征的尺寸。
[0008]图1是根据本申请文档的一个或多个例子的安全使能网络的框图。
[0009]图2是根据本申请文档的一个或多个例子的客户端设备的框图。
[0010]图3是根据本申请文档的一个或多个例子的服务器设备的框图。
[0011]图4是根据本申请文档的一个或多个例子的网络排队系统的框图。
[0012]图5是根据本申请文档的一个或多个例子的网络排队系统的框图。
[0013]图6是根据本申请文档的一个或多个例子的开放系统互连模型(OSI)七层堆栈的框图。
[0014]图7是根据本申请文档的一个或多个例子的通过网络设备执行的方法的流程图。
[0015]图8是根据本申请文档的一个或多个例子的通过应用执行的方法的流程图。
[0016]图9是根据本申请文档的一个或多个例子的通过应用执行的方法的流程图。
[0017]图10是根据本申请文档的一个或多个例子的传输操作的流程图。
具体实施方式
[0018]以下公开提供了用于实现本公开的不同特征的多个不同实施例或例子。下文描述部件和布置的具体例子,以简化本公开。当然,这些只是例子,并非旨在是限制性的。此外,本公开可以在各个例子中重复参考数字和/或字母。该重复是为了简单和清晰,并且其自身不决定所讨论的各个实施例和/或配置之间的关系。不同实施例可以具有不同的优点,并且不必须要求任意实施例的特定优点。
[0019]例如,当代数据中心层次(tier)可以包括web服务器和数据缓存服务器,具有“大数据”后端,如“Hadoop”软件框架。这些可以使用叶脊架构(leaf spine architecture)来联网的。在一个例子中,这些层就其本身和本性而言是分布式系统,并通常服务于成千上万的并发连接,将来预期连接的数量将会随着端节点上核心数量的增加而增加。
[0020]一些数据中心可以具有目标性能确定性(target performance determinism),例如满足合同要求或作为竞争优势。在该环境中为分布式系统应用提供期望的性能确定性(例如,99.99百分位的延迟,以及始终如一的吞吐量和CPU利用率)可能是一种挑战。在许多情况下,联网接口(networking interface)是对该问题的主要贡献者之一,因为其可能成为繁忙的高端服务器上的应用性能的瓶颈。
[0021]本申请文档描述了用于应用级网络排队(ALNQ)的系统和方法,其以可缩放(scalable)方式解决了网络接口瓶颈。在ALNQ实施例中,提供了改进的网络接口卡(NIC),并且还可以调整现有的网络堆栈,例如开放系统互联(OSI)或传输控制协议/互联网协议(TCP/IP)堆栈。替代地,在一些实施例中,可以整体或部分绕开主机网络堆栈,并且可以运行对堆栈的并行卸载或加载。
[0022]许多NIC将传入业务量划分成多个单独的“队列”,例如基于散列算法将业务量进行负载平衡到队列,所述散列算法基于将源媒体访问控制地址(MAC)、目的地MAC和/或协议包括在内的套接字元组(socket tuple)。ALNQ解决如下问题,例如应用可能希望具有它们自己的“可见”队列,以及具有利用操作系统的联网堆栈的负载平衡控制。ALNQ通过以下方式使其成为可能:在NIC上创建可缩放的应用专用队列,所述队列具有套接字层可见性,以及应用于内核事件多路复用接口的关联建立(affinitization)和唤醒算法,如“EPOLL”和“KQUEUE”。在所选的实施例中,这导致较低的和确定性的平均延迟和尾延迟,以及在延迟容差边界内的较高吞吐量,这有助于缩放分布式系统。
[0023]在实施例中,ALNQ关于操控业务量到应用和输送低延迟通信而采用自顶向下的视图。从联网角度看,应用可以在系统中通过端口号区分它们自己。例如,HTTP守护进程可以监听端口80,而电子邮件守护进程可以监听端口25。ALNQ可以使用端口号(以及其它相关识别信息)作为将业务量分配给队列(即,应用专用队列)的主要关键字(primary key)。进入这些队列的业务量可以经由现有的方案进行复用,如用于基于散列的负载平衡的“接收侧缩放”(RSS),或用于确定匹配的以太网流量引导器。
[0024]可以将关于分配队列的信息作为不透明标识符传递给应用。然后应用可以使用该标识符用于对准暗示(alignment hint)。例如,使用EPOLL的应用可以将对文件描述符进行处置的应用线程与队列对准,从而将访问流线化并且减轻来自与套接字和协议相关的数据结构的缓存行反弹的影响(streamlining access and mitigating effects from cache line bouncing of socket and protocol related data structures)。还可以对中断进行调谐以更好地匹配应用行为,因为这些队列可以分布在应用之间而不是在核心之间,这可以使得它们在应用之间共享。因此,作为贡献的低延迟可以应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.至少一种非瞬态存储介质,存储有将由至少一个服务器系统执行的指令,所述指令当由所述至少一个服务器系统执行时,使得所述至少一个服务器系统能够被配置为执行操作,所述操作包括:基于策略相关数据分配相应应用专用服务质量相关值,以用于将一个或多个队列分配给与所述至少一个服务器系统的租户相关虚拟机相关联的相应应用,所述策略相关数据包括服务质量策略数据,所述服务质量策略数据指示与所述相应应用相关联的相应应用专用服务质量;其中:与所述相应应用相关联的网络流量的相应部分将基于所述相应应用专用服务质量相关值被分配给所述一个或多个队列,所述一个或多个队列与相应应用专用服务质量相对应,所述一个或多个队列用于对与所述相应应用相关联的所述网络流量的相应部分进行应用级引导;所述策略相关数据是至少部分地使用与所述至少一个服务器系统相关联的用户界面来生成的,所述策略相关数据还包括与所述至少一个服务器系统的至少一个操作系统相关联地实施的、用户能定义的安全策略;和所述相应应用专用服务质量相关值能够被配置为至少部分地基于相应应用相关标识符值,所述相应应用相关标识符值能够被配置为基于与所述相应应用相关联的相应端口号。2.如权利要求1所述的至少一种非瞬态存储介质,其中:所述至少一个服务器系统包括能扩展的分布式计算机系统。3.如权利要求1或2所述的至少一种非瞬态存储介质,其中:所述相应应用包括电子邮件应用和/或web应用。4.如权利要求1至3中任一项所述的至少一种非瞬态存储介质,其中:所述相应端口号包括端口25和/或端口80。5.如权利要求1至4中任一项所述的至少一种非瞬态存储介质,其中:所述相应端口号将被用作相应队列分配关键值。6.如权利要求1至5中任一项所述的至少一种非瞬态存储介质,其中:所述一个或多个队列能够被配置为与应用线程对齐。7.至少一种非瞬态存储介质,存储有将由至少一个服务器系统执行的指令,所述指令当由所述至少一个服务器系统执行时,使得所述至少一个服务器系统能够被配置为执行操作,所述操作包括:基于策略相关数据分配相应应用专用服务质量相关值,以用于将一个或多个队列分配给所述至少一个服务器系统的相应应用,所述策略相关数据包括服务质量策略数据,所述服务质量策略数据指示与所述相应应用相关联的相应应用专用服务质量;其中:与所述相应应用相关联的网络流量的相应部分将基于所述相应应用专用服务质量相关值被分配给所述一个或多个队列,所述一个或多个队列与所述相应应用专用服务质量相对应,所述一个或多个队列用于对与所述相应应用相关联的所述网络流量的相应部分进行应用级引导;
所述策略相关数据是至少部分地使用与所述至少一个服务器系统相关联的用户界面来生成的,所述策略相关数据还包括与所述至少一个服务器系统的至少一个操作系统相关联地实施的、用户能定义的安全策略;和所述相应应用专用服务质量相关值能够被配置为至少部分地基于相应应用相关标识符值,所述相应应用相关标识符值能够被配置为基于与所述相应应用相关联的相应端口号。8.如权利要求7所述的至少一种非瞬态存储介质,其中:所述相应应用包括电子邮件应用和/或web应用。9.如权利要求7或8所述的至少一种非瞬态存储介质,其中:所述相应端口号包括端口25和/或端口80。10.如权利要求7至9中任一项所述的至少一种非瞬态存储介质,其中:所述相应端口号将被用作相应队列分配关键值。11.如权利要求7至10中任一项所述的至少一种非瞬态存储介质,其中:所述一个或多个队列能够被配置为与应用线程对齐。12.一种网络接口卡(NIC),包括:入口接口,用于接收传入流量;多个队列,用于对传入流量进行排队;出口接口,用于将传入流量引导到多个服务器应用;和排队引擎,包括逻辑,所述逻辑用于:将队列唯一地与选定的服务器应用相关联;接收传入网络分组;确定所述选定的服务器应用能够处理所述传入网络分组;和将所述传入...

【专利技术属性】
技术研发人员:A
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1