实时且高分辨率缓冲占用监控和记录的制作方法

文档序号:8323928阅读:267来源:国知局
实时且高分辨率缓冲占用监控和记录的制作方法
【专利说明】实时且高分辨率缓冲占用监控和记录
[0001]相关申请
[0002]本申请要求于2012年9月18日提交的、题为“实时且高分辨率缓冲占用监控和记录”的美国临时申请N0.61/702,318,该临时申请的整体通过引用被合并于此。
技术领域
[0003]本公开总体涉及对网络设备中的网络缓冲器的内容进行监控。
【背景技术】
[0004]在诸如数据中心之类的计算机网络中,数据以一般以通过一个或多个网络设备(例如,交换机、路由器、防火墙等)的分组形式被从源传输至目的地。在传输期间,分组通常被临时存储于网络设备的一个或多个网络缓冲器中。
[0005]某些数据中心客户要求可以提供低延时、高带宽以及通常较大扩缩性的网络架构。(在扁平的拓扑中包括多个固定交换机的)以太网交换结构是通常被用来满足这些要求的网络架构。在以太网交换结构中,固定交换机通常具有片上交换机(SOC)架构,该SOC架构比具有模块化设计或基于交叉开关(crossbar)设计的网络设备提供更小的网络缓冲器。然而,即使网络缓冲器大得足以容纳所有传入(incoming)流量,但过度缓冲可以导致任何流量遭受额外延时。
【附图说明】
[0006]图1是根据本文所呈现的技术被配置来监控网络设备中的缓冲器的网络设备的框图。
[0007]图2是被配置来监控网络设备中的缓冲器的缓冲监控逻辑的框图。
[0008]图3是缓冲监控逻辑的附加部件的框图。
[0009]图4是被配置来监控网络缓冲器的计算系统的框图。
[0010]图5是对网络缓冲器进行监控以获得缓冲占用数据的方法的流程图。
[0011]图6是表示可以被输出至用户的网络缓冲占用的示例图表。
[0012]图7示出可以被输出至用户来示出在特定时间段的缓冲占用的柱状图的示例。
[0013]图8是可以被获得的缓冲占用与时间的图表的示例。
[0014]图9示出示例柱状图的仿真结果的示例。
[0015]图1OA-图1OF是与跨图9的整个仿真与缓冲使用情况相对应的图表的示例。
[0016]图1lA-图1lB是可以被输出至用户的重新构建的缓冲使用情况的示例。
【具体实施方式】
[0017]臟
[0018]本文所呈现的是用于使用网络设备中的网络缓冲器的占用的柱状采样、以微秒尺度对缓冲占用进行检测和表征的技术。本文所呈现的技术还包括用于收集并解释结果数据的相关联的处理。
[0019]用于检测和表征缓冲占用的一种技术包括:当分组被网络设备处理时,将这些分组存储于该网络设备的缓冲器中;以采样速率对缓冲器的占用等级进行采样;在从采样确定的时间中跟踪缓冲器的占用等级;以及基于占用等级对通过网络设备的流量流进行表征。
【具体实施方式】
[0020]
[0021]增长的一部分网络用户(例如,金融公司)要求来自数据中心设备的亚微秒延时。未计算在内的缓冲将引起可能对数据中心性能带来负面影响的显著的延时惩罚。其他客户在如下的环境中进行操作:给定的端服务器或虚拟机将在微秒尺度的突发(burst)中(例如,在搜索查询的结尾处的不充分利用(in-cast))接收大量流量。微突发可以在数据中心边界附近压垮缓冲器,并且导致自发地出现和消失的流量中断(被丢弃的分组或延时惩罚)。本文所呈现的是用来确定缓冲占有量等级、并且基于所确定的缓冲占有量等级来对通过网络设备的流量流进行表征的网络缓冲监控技术。图1是被配置来执行本文所呈现的网络缓冲监控技术的网络设备的框图。网络设备100包括端口 IlO(I)-1lO(N)、交换机结构120、缓冲监控逻辑130、中央处理单元(CPU) 140、一个或多个缓冲器150以及(一个或多个)交换表160。举例来说,网络设备100可以与网络交换机相对应。应当理解,网络缓冲监控技术可以被实现于一个或多个专用集成电路(ASIC)、数字逻辑门中,或者由运行存储于有形(非暂态)处理器可读存储器存储介质(例如,只读存储器(ROM)、随机存取存储器(RAM)或其他非暂态存储器存储设备)中的指令的处理器来实现。在本文所呈现的具体示例中,缓冲监控技术是由硬件辅助的。
[0022]在网络设备100为网络交换机的情形中,到达端口 110⑴-1lO(N)中的一个端口的分组由交换机结构120交换到端口 IlO(I)-1lO(N)中的另一端口,在一些实现方式中,交换机结构120可以被配置为交叉开关。(一个或多个)交换表160被CPU 140参照来控制交换机结构120将从端口 110⑴-110 (N)中的一个端口接收到的分组进行交换以在端口IlO(I)-1lO(N)中的另一端口上被输出。该分组可以基于网络交换机100处的当前状态由(一个或多个)缓冲器150进行缓冲。缓冲监控逻辑130对(一个或多个)缓冲器150的占用进行监控,并且利用硬件来对(一个或多个)缓冲器150进行采样,以提供在检测或评估网络状态(例如,导致网络拥塞和分组丢失的分组微突发)中可能有用的缓冲占用历史信息。因此,本文所呈现的技术为利用亚微秒采样周期对网络设备(例如,网络交换机)中的给定缓冲器的占用进行采样的机制。
[0023]现在参照图2。图2示出缓冲监控逻辑130的一个可能的实现方式的框图,该缓冲监控逻辑130对缓冲150的缓冲占用等级进行监控,并且提供缓冲占用等级信息以用于对一个或多个缓冲器的操作进行分析。缓冲监控逻辑130可以被完全实现在硬件(例如,专用集成电路(ASIC))中。在其他实现方式中,缓冲监控逻辑130包括硬件元件和软件要素二者。
[0024]分组200在例如网络设备(例如,图1中所示出的网络设备100)的入口(ingress)端口处被接收。缓冲器150存储所接收的分组200。被存储于缓冲器150中的分组然后可以被读取出以被网络设备100处理。例如,分组200内的信息可以被读取,并且由此可以确定在其路径上将分组200中的每个分组发送至网络内的目的地单元的最佳路由。对哪个缓冲器来存储分组的选择可以基于例如入口端口、出口(egress)端口和/或(分组的)优先级。每个队列的瞬时和长期(柱状图)缓冲占用可以被生成。而且,队列可以基于如下内容而被分配:入口端口和优先级{入口端口,优先级}、出口端口和优先级{出口端口,优先级}、单独入口端口 {入口端口 }、单独出口端口 {出口端口}以及单独优先级{优先级}。
[0025]缓冲监控逻辑130包括采样单元230、跟踪单元240以及表征单元250。采样单元230以采样速率对缓冲器150的占用等级进行采样,优选地,以很快的采样速率进行采样以跟踪可能影响缓冲器的微突发状态。示例性的,采样速率可以是100纳秒50次。采样单元230可以被实现于硬件(例如,ASIC中的数字逻辑门)中。
[0026]跟踪单元240在一段时间内对缓冲器150的占用等级进行跟踪,该段时间由采样单元230做出的缓冲器150的多次采样来确定。通过示例的方式,跟踪单元240可以基于1/100纳秒的米样速率在10微秒的时间段内对缓冲器150的占用等级进彳丁跟踪,100个单独的缓冲占用等级样本将在该10微秒的时间段期间被获得。
[0027]表征单元250接收由跟踪单元240输出的所跟踪的占用等级,并且使用该信息来对在该时间段(例如,10微秒的时间段期间)期间通过网络的流量流进行表征。例如,如果缓冲占用等级指示缓冲完全状态存在于该时间段中的至少一部分,则表征单元250可以确定在该时间段期间网络设备中存在拥塞状态,从而网络设备内的资源可以被重新分配以尝试减轻或完全克服拥塞状态。通过示例的方式,具有缓冲完全状态的缓冲器可以被重新指定以使得接收从网络传入的降低速率的分组,而在相同的时间段期间具有缓冲较低占用状态的缓冲器可以被重新指定以接收从网络传入的较大速率的分组。对缓冲器进行的负载均衡然后可以在未来的时间段使得网络设备处于更好的操作状态。
[0028]图3是跟踪单元240的一个可能的实现方式的框图。跟踪单元240包括缓冲占用指定单元310、缓冲占用确定单元320、计数器330以及柱状图创建单元340。缓冲器的缓冲占用范围分别被指定到容器(bin)中,从而那些缓冲占用范围可以基于缓冲器的最近缓冲占用信息而被重新指定。缓冲占用指定单元310将缓冲器的η个缓冲占用范围分配到η个容器中,其中,η是大于2的正整数。首先,这可以通过将缓冲器划分为η个容器来完成,其中,每个容器与缓冲
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1