用于诊断数据的直接存储器访问(DMA)引擎制造技术

技术编号:34170809 阅读:10 留言:0更新日期:2022-07-17 10:43
一种网络连接设备包括至少一个通信端口、分组处理电路和诊断直接存储器访问(DMA)电路(DDC)。至少一个通信端口被配置为通过网络传送分组。分组处理电路被配置为接收、缓冲、处理和传输分组。DDC被配置为接收(i)一个或多个诊断事件,以及(ii)对于每个诊断事件,在分组处理电路中生成的并且与诊断事件有关的诊断数据的对应列表的定义,以及响应于诊断事件的发生,从分组处理电路收集相应的诊断数据列表。从分组处理电路收集相应的诊断数据列表。从分组处理电路收集相应的诊断数据列表。

Direct memory access (DMA) engine for diagnostic data

【技术实现步骤摘要】
用于诊断数据的直接存储器访问(DMA)引擎


[0001]本专利技术总体上涉及计算机网络,尤其是网络连接设备的远程诊断。

技术介绍

[0002]由于以高速传输的大量数据和复杂的转发方案,网络,尤其是网络连接设备(例如,网络接口卡、主机接口适配器、交换机和路由器)的监控和诊断呈现重大挑战。在2018年4月9日至11日举行的第15届USENIX网络系统设计与实现研讨会(NSDI'18)的“Distributed Network Monitoring and Debugging with SwitchPointer”中,作者描述了一种利用终端主机资源和可编程性收集和监控遥测数据的网络监控和调试系统,其通过将交换机存储器用作监控功能的“目录服务”来提供网络可见性。

技术实现思路

[0003]在此描述的本专利技术的实施方式提供了一种网络连接设备,包括至少一个通信端口、分组处理电路和诊断直接存储器访问(DMA)电路(DDC)。至少一个通信端口被配置为通过网络传送分组。分组处理电路被配置为接收、缓冲、处理和传输分组。DDC被配置为接收(i)一个或多个诊断事件,以及(ii)对于每个诊断事件,在所述分组处理电路中生成的并且与所述诊断事件有关的相应的诊断数据列表的定义,以及响应于诊断事件的发生,从所述分组处理电路收集所述相应的诊断数据列表。
[0004]在一些实施方式中,所述DDC被配置为响应于多个诊断事件的发生,在至少部分彼此重叠的相应时间段内从所述分组处理电路收集多个相应的诊断数据列表。
[0005]在一些实施方式中,DDC包括多个DDC实例,所述多个DDC实例被配置为收集用于构建所述列表的所述诊断数据。在一个实施方式中,所述DDC实例中的至少两个被配置为从所述分组处理电路的相应不同部分收集所述诊断数据。附加地或替代地,所述DDC实例中的至少两个可以被配置为收集与相同诊断事件有关的所述诊断数据。
[0006]在公开的实施方式中,所述分组处理电路包括具有多个流水线级的分组处理流水线,并且所述DDC被配置为从所述流水线级中的两个或更多个收集所述诊断数据。在示例实施方式中,所述DDC被配置为通过读取所述分组处理电路中的一个或多个计数器值来收集所述诊断数据。
[0007]在另一实施方式中,所述DDC被配置为接收诊断触发器并响应于所述诊断触发器从所述分组处理电路收集所述相应的诊断数据列表。
[0008]在一些实施方式中,所述DDC被配置为将收集到的列表发送到指定目的地。在一个实施方式中,网络连接设备还包括存储器,指定目的地包括存储器中的存储位置。在另一实施方式中,所述指定目的地包括网络连接设备的处理器,或托管所述网络连接设备的主机。在又一实施方式中,所述指定目的地包括耦合到所述网络的另一网络连接设备的地址。在公开的实施方式中,所述分组处理电路包括用于对出口分组进行排队的出口队列,并且所述DDC被配置为将所述诊断数据列表发送到所述出口队列。
[0009]根据本专利技术的实施方式,另外提供了一种方法,包括在网络连接设备中,使用分组处理电路通过网络接收、缓冲、处理和传输分组。在所述网络连接设备中使用诊断直接存储器访问(DMA)电路(DDC),接收(i)一个或多个诊断事件,以及(ii)对于每个诊断事件,在所述分组处理电路中生成的并且与所述诊断事件有关的相应的诊断数据列表的定义。响应于诊断事件的发生,使用DDC从所述分组处理电路收集所述相应的诊断数据列表。
[0010]根据本专利技术的实施方式,另外提供了一种方法,包括在网络设备中,使用分组处理电路通过网络接收、处理和传输分组。在所述网络设备中操作诊断电路,以便接收(i)预期在所述网络设备中发生的诊断事件,以及(ii)对于每个诊断事件,要从所述分组处理电路收集用于分析的相应的诊断数据列表的定义,以及在发生诊断事件时,根据所述定义收集与所述诊断事件对应的所述诊断数据列表。
[0011]本专利技术将通过以下对其实施方式的详细描述并结合附图而得到更充分的理解,其中:
附图说明
[0012]图1是示意性地示出了根据本专利技术的实施方式的计算机网络的框图;
[0013]图2是示意性地示出了根据本专利技术的实施方式的网络连接设备(NCD)的框图;
[0014]图3是示意性地示出了根据本专利技术的实施方式的用于从NCD有效收集诊断数据的方法的流程图;
[0015]图4是示意性地示出了根据本专利技术的实施方式的NCD中的诊断事件信令电路的框图;
[0016]图5是示意性地示出了根据本专利技术的实施方式的用于在NCD中传输诊断数据的直接存储器访问(DMA)方案的框图;以及
[0017]图6是示意性地示出了根据本专利技术的实施方式的从NCD输出诊断数据的诊断数据输出电路的框图。
具体实施方式
[0018]可以监控传统计算机网络的慢速或故障组件、故障链接以及错误或次优转发决策。大规模网络的监控和调试是具有挑战性的问题,例如,由于网络性能受到众多网络元素实时决策的影响,包括路由路径、分组丢失、缓冲区大小、各种拥塞缓解参数等。
[0019]网络连接设备(NCD),例如路由器、交换机、网络接口控制器(NIC)和主机通道适配器(HCA),例如在诸如Fat

tree、Dragonfly等网络结构中,可能包括聚合和积累与设备的转发决策相关的信息;此类信息可能对网络调试、网络性能调整(和其他应用;例如,网络行为的机器学习)有用。该信息通常包括缓存命中率、分组丢失率、缓冲区占用率、路由决策、安全事件等。为了诊断NCD的故障或性能下降,可能需要输出部分累积数据以供分析。然而,对于具有丰富特征集的高性能NCD,此任务可能很复杂,其中累积的数据跨越NCD的各种电路。
[0020]在此描述的本专利技术的实施方式提供用于高效收集和输出调试相关信息的方法和系统。在实施方式中,NCD包括一个或多个诊断直接存储器访问电路(DDC)。DDC被配置为从处理器(本地或远程)接收诊断事件的定义和相应的诊断数据,如果发生诊断事件,则应监控这些相应的诊断数据。在实施方式中,DDC然后对NCD内的各种诊断事件源(例如,入口端
口处理电路、出口端口处理电路、共享缓冲区、转发表和排队系统)进行编程以检测诊断事件的发生并用信号发出。在一些实施方式中,诊断事件也可以是软件触发的(例如,用户可以发出DDC解释为检测到诊断事件的命令)。
[0021]当DDC接收到诊断事件已被任何诊断事件源检测到的指示时,DDC可以将相应的诊断数据DMA传输到诊断数据缓冲区。在一些实施方式中,NCD被配置为通过网络发送诊断数据缓冲区的内容,以供远程诊断站分析;在其他实施方式中,本地分析诊断数据。需要注意的是,分析诊断事件所需的诊断数据不限于诊断事件源;相反,可能需要来自NCD的各个子单元的诊断数据。
[0022]更多细节将参考示例实施方式在下文的系统描述中公开。
[0023]系统描述
[0024]图1是示意性地示出了根据本专利技术的实施方式的计算机网络100的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络连接设备,包括:至少一个通信端口,所述至少一个通信端口被配置为通过网络传送分组;分组处理电路,所述分组处理电路被配置为接收、缓冲、处理和传输所述分组;和诊断直接存储器访问(DMA)电路(DDC),所述诊断直接存储器访问(DMA)电路(DDC)被配置为:接收(i)一个或多个诊断事件,以及(ii)对于每个诊断事件,在所述分组处理电路中生成的并且与所述诊断事件有关的相应的诊断数据列表的定义;以及响应于诊断事件的发生,从所述分组处理电路收集所述相应的诊断数据列表。2.根据权利要求1所述的网络连接设备,其中所述DDC被配置为响应于多个诊断事件的发生,在至少部分彼此重叠的相应时间段内从所述分组处理电路收集多个相应的诊断数据列表。3.根据权利要求1所述的网络连接设备,其中所述DDC包括多个DDC实例,所述多个DDC实例被配置为收集用于构建所述列表的所述诊断数据。4.根据权利要求3所述的网络连接设备,其中所述DDC实例中的至少两个被配置为从所述分组处理电路的相应不同部分收集所述诊断数据。5.根据权利要求3所述的网络连接设备,其中所述DDC实例中的至少两个被配置为收集与相同诊断事件有关的所述诊断数据。6.根据权利要求1所述的网络连接设备,其中所述分组处理电路包括具有多个流水线级的分组处理流水线,并且其中所述DDC被配置为从所述流水线级中的两个或更多个收集所述诊断数据。7.根据权利要求1所述的网络连接设备,其中所述DDC被配置为通过读取所述分组处理电路中的一个或多个计数器值来收集所述诊断数据。8.根据权利要求1所述的网络连接设备,其中所述DDC被配置为接收诊断触发器,响应于所述诊断触发器从所述分组处理电路收集所述相应的诊断数据列表,并将所述列表发送到指定目的地。9.根据权利要求1所述的网络连接设备,其中所述DDC被配置为将所述收集的列表发送到指定目的地。10.根据权利要求9所述的网络连接设备,还包括存储器,其中所述指定目的地包括所述存储器中的存储位置。11.根据权利要求9所述的网络连接设备,其中所述指定目的地包括所述网络连接设备的处理器,或托管所述网络连接设备的主机。12.根据权利要求9所述的网络连接设备,其中所述指定目的地包括耦合到所述网络的另一网络连接设备的地址。13.根据权利要求9所述的网络连接设备,其中所述分组处理电路包括用于对出口分组进行排队的出口队列,并且其中所述DDC被配置为将所述诊断数据列表发送到所述出口队列。14.一种方法,包括:在网络连接设备中,使用分组处理电路通过网络接收、缓冲、处理和传输分组;以及...

【专利技术属性】
技术研发人员:尼夫
申请(专利权)人:迈络思科技有限公司
类型:发明
国别省市:

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

1