掌桥专利:专业的专利平台
掌桥专利
首页

一种基于eBPF的RDMA网络监控系统和方法

文献发布时间:2024-05-31 01:29:11


一种基于eBPF的RDMA网络监控系统和方法

技术领域

本发明涉及RDMA网络监控领域,尤其涉及一种基于eBPF的RDMA网络监控系统和方法。

背景技术

在当前的网络通信技术中,RDMA(Remote Direct Memory Access,远程直接内存访问)是一个关键技术,能够实现高效的数据传输。RDMA允许网络中的一台计算机直接访问另一台计算机的内存,无需通过操作系统进行数据传输,这大大降低了CPU负载,提高了数据传输效率。RDMA主要通过InfiniBand、RoCE(RDMA over Converged Ethernet)等协议实现,广泛应用于数据中心、高性能计算和存储网络中。

然而,在传统的RDMA网络监控方法中,通常需要依赖特定的硬件或者是操作系统级别的支持。例如,一些监控工具需要在网络接口卡(NIC)上运行,或者需要操作系统提供特定的监控接口。这些方法往往不够灵活,且可能会对系统性能造成影响。

近年来,eBPF(Extended Berkeley Packet Filter)技术的出现为解决这一问题提供了新的可能。eBPF是Linux内核中的一个功能强大的工具,它允许用户在内核中运行预定义的程序,而不需要更改内核代码或者重启系统。eBPF可以用于各种系统级监控和网络数据包分析,但是其在RDMA监控领域的应用尚处于初步阶段。

尽管RDMA在高性能计算和大数据处理等领域中扮演着至关重要的角色,其监控方法在实际应用中却展现出了不少明显的缺陷和局限性。以下是对这些缺陷的深入探讨,以及对解决方案的迫切需求。

有限的监控视角:现有的监控方法主要关注于网络层面的指标,如流量统计和设备状态,却往往无法深入到RDMA操作的内核层面。例如,监控系统很难获取到细粒度的内存访问模式、数据包的处理状态等关键信息,这限制了对网络行为的全面理解和分析。

RDMA Verbs事件关联性挑战:RDMA技术涉及多种Verbs,这些Verbs在不同时间被触发,导致了事件之间的关联成为一个迫切需要解决的问题。由于这些事件的发生时序和上下文关系往往分散和复杂,有效地关联这些事件对于理解和优化RDMA操作至关重要,但也极具挑战性。

反应时效性不足:在高速的网络环境下,传统的监控系统往往无法及时反映网络状态的实时变化。尤其在面对突发的网络事件或性能波动时,现有的监控工具可能无法提供快速且准确的反馈,从而延迟了故障的诊断和响应。

硬件依赖性:大多数现有的监控方案依赖于RDMA交换机的硬件性能。这种依赖限制了监控解决方案的通用性和适用性,使其难以适应多样化的网络环境和不同厂商的设备。

性能与监控的权衡:为了实现详细的监控,系统往往需要牺牲一定的网络性能,尤其在高流量环境下更为明显。这种权衡在要求高性能的应用场景中尤为突出,使得网络管理员面临监控精度和网络性能之间的选择。

综上所述,尽管RDMA提供了强大的网络通信功能,但现有的监控方法在实际应用中存在明显的局限性。这些局限性不仅影响了监控的准确性和效率,也增加了网络管理的复杂性和成本。因此,开发一种新的、更加高效和全面的RDMA监控方法显得尤为迫切和重要。

发明内容

本发明的目的在于针对现有技术的不足,提出一种基于eBPF的RDMA网络监控系统和方法。本发明的监控方案更加全面、高效,本发明能够实现对RDMA操作的深入监控,同时保持对网络性能的最小影响。

本发明的目的是通过以下技术方案来实现的:本发明实施例第一方面提供了一种基于eBPF的RDMA网络监控系统,包括:

控制组件模块,用于发出采集指令、设定监控参数以及管理监控策略,以控制数据采集的开始和停止以及管控RDMA网络的监控;

eBPF采集组件模块,用于在接收到来自于控制组件模块发出的采集指令之后,采集RDMA网络监控数据;其中,所述RDMA网络监控数据包括RDMA控制流事件、RDMA建立连接事件和RDMA数据流事件;

聚合组件模块,包括多节点聚合模块和分析模块,所述多节点聚合模块用于对接收到的多个采集节点的RDMA网络监控数据进行聚合,所述分析模块用于分析聚合后的RDMA网络监控数据,以将采集到的RDMA网络监控数据与对应的应用程序进行关联;和

指标组件模块,用于对聚合组件模块处理后的聚合的RDMA网络监控数据进行分析和处理,以获取关键性能指标,并将关键性能指标转化为直观的表示形式展示在Prometheus平台上。

进一步地,所述控制组件模块具体包括:

(a1)在监控任务初始化阶段,发出采集指令,以激活RDMA采集能力,具体包括挂载用户空间的uprobe探针和内核空间的tracepoint探针至调用了RDMA的Verbs的用户编写的代码位置;

(a2)管理eBPF程序将其加载与链接至系统内核,以控制数据采集的开始;其中,eBPF程序是数据采集的执行者,用于实时捕获RDMA网络操作的关键数据;

(a3)当不再需要数据采集或需要释放系统资源时,用户通过修改配置文件的方式,关闭掉不需要的uprobe探针,以控制数据采集的停止;

(a4)根据预设的监控策略和实时决策对监控组件进行细粒度的精细管控,以管控RDMA网络的监控。

进一步地,所述RDMA网络操作的关键数据包括RDMA建立连接数据、RDMA控制流数据和RDMA数据流数据;

所述监控组件包括eBPF程序的实时调控、监控数据流的路由以及临时缓冲区的管理。

进一步地,所述eBPF采集组件模块的运行流程具体包括:

(b1)在接收到来自于控制组件模块发出的采集指令之后,开始采集RDMA网络监控数据;

(b2)实时监控RDMA网络以采集RDMA控制流事件,RDMA控制流事件包括RDMA的设备生命周期管理事件和队列对管理事件;其中,所述设备生命周期管理事件包括设备的激活和禁用操作事件以及与设备状态变更相关的所有系统调用事件,所述队列对管理事件包括队列对的创建和销毁操作事件;

(b3)监控与连接建立相关的系统调用,采集在RDMA的TCP握手过程中交换的RDMA建立连接事件;其中,RDMA建立连接事件包括全局标识符、密钥和地址;

(b4)监控RDMA操作以采集RDMA数据流事件,其中所述RDMA操作包括数据的发送和接收操作,所述RDMA数据流事件包括发送操作事件、接收操作事件和完成队列事件;通过监控所有ibv_post_send调用采集发送操作事件,通过监控所有ibv_post_recv调用采集接收操作事件,通过采集ibv_poll_cq事件获取完成队列事件;

(b5)将采集到的RDMA控制流事件、RDMA建立连接事件和RDMA数据流事件写入内核的ringbuffer;

(b6)在单机环境中,从内核的ringbuffer中读取采集到的RDMA网络监控数据,使用标识符将所采集到的RDMA网络监控数据进行初步聚合,以实现单机侧数据聚合。

进一步地,所述使用标识符将RDMA网络监控数据与对应的应用程序或服务进行关联,以实现单机侧数据聚合,具体包括:

文件描述符级聚合:首先系统调用sys_enter_write和sys_exit_read,基于相同的文件描述符进行聚合;

队列对编号级聚合:然后基于相同的队列对编号将sys_enter_write和sys_exit_read的聚合数据与ibv_post_send和ibv_post_recv事件进行进一步聚合;

工作请求标识符级聚合:最后利用相同的工作请求标识符将ibv_post_send和ibv_post_recv事件的聚合数据与ibv_poll_cq事件进行聚合,以实现单机侧数据聚合。

进一步地,所述聚合组件模块具体包括:

(c1)通过多节点聚合模块将多个采集节点的RDMA网络监控数据进行聚合,该过程中,多节点聚合模块接收来自于多个采集节点的eBPF采集组件模块所获取的RDMA网络监控数据,并将多个RDMA网络监控数据融合成一个连贯数据集;

(c2)在通信过程中,通过分析模块将RDMA网络使用的全局标识符映射到IP地址,并保留所有IP地址和全局标识符的映射关系,以根据目的全局标识符查询并补全与RDMA网络监控数据相关的目的IP地址;

(c3)通过分析模块将RDMA网络监控数据持久化到时序数据库,以实现数据的持久化;

(c4)通过分析模块将采集到的每个事件中的线程组ID映射到其对应的应用程序。

进一步地,所述关键性能指标包括RDMA数据包下发到网卡发出数据包的延时、网卡发出数据包到对端网卡接收的延时以及RDMA事件的状态,所述RDMA事件的状态为成功或失败。

进一步地,所述指标组件模块具体包括:

(d1)通过指标组件模块对聚合组件模块处理后的聚合的RDMA网络监控数据进行分析和处理,获取标准化的关键性能指标;

(d2)将关键性能指标导出到Grafana及Prometheus平台上,通过Grafana将关键性能指标转化为直观的表示形式,并展示在Prometheus平台上。

本发明实施例第二方面提供了一种基于上述的基于eBPF的RDMA网络监控系统的监控方法,包括以下步骤:

(1)用户配置设置监控参数,控制组件模块向eBPF采集组件模块发送采集指令;

(2)eBPF采集组件模块接收到控制组件模块发送的采集指令之后,根据用户配置动态挂载uprobe探针和tracepoint探针,以采集RDMA网络监控数据;其中,所述RDMA网络监控数据包括RDMA控制流事件、RDMA建立连接事件和RDMA数据流事件;

(3)RDMA网络监控数据的各个事件被触发后发送到聚合组件模块中,通过聚合组件模块的多节点聚合模块将同一RDMA的多个采集节点的RDMA网络监控数据进行聚合,再交给分析模块分析聚合后的RDMA网络监控数据,以将采集到的RDMA网络监控数据与对应的应用程序进行关联,分析RDMA网络的性能和状态;

(4)指标组件模块获取聚合组件模块处理后的聚合的RDMA网络监控数据,对其进行分析和处理,获取关键性能指标,并将关键性能指标转化为直观的表示形式展示在Prometheus平台上。

与现有技术相比,本发明的有益效果为:

(1)本发明创新地使用一种针对RDMAVerbs的动态插拔uprobe的eBPF框架,该框架允许用户根据实际需求,动态地添加或移除uprobe探针,而无需重启系统或中断正在运行的服务;极大地提高了监控系统的灵活性、可维护性和性能,解决了可观测体系的性能与监控的权衡问题。

(2)本发明提出了一个独特的多维度聚合策略,实现了从单机到多节点的数据整合,突破了传统监控工具的局限;该策略不仅关联文件描述符、队列对编号和工作请求标识符等参数,还能自动识别和整合关键性能指标,解决了RDMAverbs事件离散、难以关联的痛点。

(3)本发明针对RDMA的远程直接内存访问协议栈,建立由RDMA控制流到RDMA连接到RDMA数据流的监控链路,实现了用户空间全链路的全方位透明监控,解决了RDMA协议相关事件绕过内核难以采集的一大问题,从而显著提升了对网络性能关键路径的监测能力。

(4)本发明的指标组件模块不仅支持将聚合数据导出至Prometheus,通过Grafana实现了高级的数据可视化;该模块通过定制的可视化仪表板和智能分析算法,提供了深入的网络性能分析和故障诊断能力,允许用户根据具体需求定制和扩展分析功能,极大提升了数据的易用性和分析的深度。

(5)本发明显著提高了对RDMA网络操作的可观测性和分析深度;本发明突破了传统监控技术的局限,实现了对RDMA内存操作、数据传输等关键环节的全面监控;本发明能够即时捕获和精确分析各类网络事件,包括数据包的传输状态和内存访问模式;极大地缩短了问题诊断的时间,增强了对整个RDMA网络操作的洞察力,从而有效提升网络服务的整体性能和可靠性。

附图说明

图1为本发明的基于eBPF的RDMA网络监控系统的结构框图;

图2为本发明中图1的细粒度部署架构图;

图3为本发明单机侧详细的监控系统的eBPF架构图;

图4为本发明的RDMA网络监控系统运行流程图;

图5为本发明事件聚合的关系图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

下面结合附图,对本发明进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。

本发明的基于eBPF的RDMA网络监控系统包括控制组件模块、eBPF采集组件模块、聚合组件模块和指标组件模块,如图1所示。图2是本发明框架更加细粒度的部署架构图,其核心在于多个监控节点,每个节点负责收集本地RDMA传输的数据。在每个节点内,RDMA探针和eBPF技术结合使用,实时地捕捉网络操作信息。这些节点的聚合组件模块将数据汇总,并由Prometheus统一管理。最终,数据通过Grafana进行可视化,提供直观的性能指标。

本实施例中,控制组件模块用于发出采集指令、设定监控参数以及管理监控策略,以控制数据采集的开始和停止以及管控RDMA网络的监控。

应当理解的是,在整体架构的设计中,最初的环节是控制组件模块,该模块扮演着至关重要的角色,它负责指挥监控活动的全局策略,它负责精细地管理和调控整个数据采集过程,如图3所示。

需要说明的是,本发明实施例提出了一种针对RDMA Verbs的动态插拔uprobe的eBPF框架,该框架允许用户根据实际需求,动态地添加或移除uprobe探针,而无需重启系统或中断正在运行的服务;这一特性极大地提高了监控系统的灵活性和可维护性,使得用户能够在不干扰现有网络操作的情况下,针对特定事件或性能瓶颈进行深入的分析和优化。

进一步地,控制组件模块具体包括:

(a1)在监控任务初始化阶段,发出采集指令,以激活RDMA采集能力,具体包括挂载用户空间的uprobe探针和内核空间的tracepoint探针至调用了RDMA的Verbs的用户编写的代码位置。

应当理解的是,挂载的uprobe探针越多,对程序的性能影响越严重,因此为了保证用户程序的性能,用户可以根据自己的需求来动态挂载一些非关键uprobe探针,如RDMA控制流的uprobe探针,等到后期不再需要时通过修改配置文件的方式将不需要的uprobe探针关闭。

(a2)管理eBPF程序将其加载(load)与链接(link)至系统内核,以控制数据采集的开始;其中,eBPF程序是数据采集的执行者,用于实时捕获RDMA网络操作的关键数据。

进一步地,RDMA网络操作的关键数据包括RDMA建立连接数据、RDMA控制流数据和RDMA数据流数据。

(a3)当不再需要数据采集或需要释放系统资源时,用户通过修改配置文件的方式,关闭掉不需要的uprobe探针,以控制数据采集的停止,如此有助于确保系统资源的高效利用。

(a4)根据预设的监控策略和实时决策对监控组件进行细粒度的精细管控,以管控RDMA网络的监控,可以确保数据流的顺畅和监控的连续性。

进一步地,监控组件包括但不限于:eBPF程序的实时调控、监控数据流的路由以及临时缓冲区的管理。

应当理解的是,通过这些精确而灵活的管理步骤,控制组件模块确保监控系统在各种工作负载和网络条件下均能维持高效且稳定的运作,它通过一系列的预设监控策略和实时决策,实现对链路上监控活动的精确控制,从而最大化监控活动的有效性,同时确保系统资源的经济性。控制组件模块通过这种动态调控机制,可以支持对RDMA网络操作的全面监控和深入分析。

本实施例中,eBPF采集组件模块用于在接收到来自于控制组件模块发出的采集指令之后,采集RDMA网络监控数据。其中,RDMA网络监控数据包括RDMA控制流事件、RDMA建立连接事件和RDMA数据流事件。

本发明的关键点之一在于eBPF采集组件模块的设计,该模块利用eBPF技术深入RDMA协议栈的核心,能够精确捕捉到关于内存访问和数据包处理的细节信息,内存访问的细节信息具体包括内存访问地址和内存的内容,数据包处理的细节信息具体包括RDMA建立连接事件和RDMA数据流事件(主要是内存的内容)。这种深入的监控为网络管理员提供了前所未有的透明度,使得对网络行为和性能的分析更为精确和全面。

应当理解的是,控制组件模块发出的采集指令传递给下一级的eBPF采集组件模块,这是系统的数据捕获引擎。eBPF采集组件模块能够深入至系统的内核层,实施对RDMA网络的监控,通过针对RDMA控制流事件、RDMA建立连接事件和RDMA数据流事件进行细粒度监控,实现了从数据采集到事件内部聚合的完整流程,如图4所示。通过利用eBPF的高性能特性在对系统性能影响最小的前提下,实时捕捉RDMA网络事件,为后续分析提供原始数据。

需要说明的是,在RDMA网络监控的领域中,监控数据的采集和聚合是获取网络性能洞察的基础。本发明实施例提出了一种由RDMA控制流到RDMA建立连接到RDMA数据流的监控链路,实现了用户空间全链路的透明监控,解决了RDMA绕过内核难以采集的一大问题,从而显著提升了对网络性能关键路径的监测能力。

进一步地,如图4所示,eBPF采集组件模块的运行流程具体包括:

(b1)在接收到来自于控制组件模块发出的采集指令之后,开始采集RDMA网络监控数据。

(b2)实时监控RDMA网络以采集RDMA控制流事件,RDMA控制流事件包括RDMA的设备生命周期管理事件和队列对(Queue Pair,QP)管理事件;其中,设备生命周期管理事件包括设备的激活和禁用操作事件以及与设备状态变更相关的所有系统调用事件,队列对管理事件包括队列对的创建和销毁操作事件等。这些事件对于维护网络连接的稳定性和分析系统的整体性能至关重要。

需要说明的是,RDMA控制流事件采集的重点在于监控RDMA设备的生命周期管理事件及队列对(Queue Pair,QP)的管理事件。eBPF采集组件模块在这个过程中扮演关键角色,负责追踪和记录设备的激活与禁用,以及与设备状态变更相关的系统调用事件,确保监控数据能够反映设备的实时状态。此外,在队列对的创建和销毁过程中,eBPF采集组件模块也负责采集数据,记录这些关键事件,有助于分析RDMA连接的建立和终止,以及队列对的使用情况等。

(b3)监控与连接建立相关的系统调用,采集在RDMA的TCP握手过程中交换的RDMA建立连接事件;其中,RDMA建立连接事件包括全局标识符(Global Identifier,GID)、密钥(Key)和地址(Address)等关键信息。

应当理解的是,在RDMA通信中,建立连接是数据传输的先决条件;连接建立阶段涉及到TCP/IP协议栈,需要交换如全局标识符、密钥和地址(Address)等关键信息。eBPF采集组件模块细致地记录了GID、密钥和地址等关键信息的交换过程,为RDMA连接的成功建立提供了确凿的数据基础。

(b4)监控RDMA操作以采集RDMA数据流事件,其中RDMA操作包括数据的发送和接收操作,RDMA数据流事件包括发送操作事件、接收操作事件和完成队列事件;通过监控所有ibv_post_send调用采集发送操作事件,通过监控所有ibv_post_recv调用采集接收操作事件,通过采集ibv_poll_cq事件获取完成队列事件。

应当理解的是,ibv_post_send调用表示RDMA网络中的数据发送请求,ibv_post_recv调用代表RDMA网络上的数据接收请求,ibv_poll_cq事件用于确认发送操作和接收操作的完成状态。

(b5)将采集到的RDMA控制流事件、RDMA建立连接事件和RDMA数据流事件写入内核的ringbuffer。

需要说明的是,eBPF采集组件模块借助ringbuffer记录采集的数据,eBPF的ringbuffer机制允许高效数据传输,当RDMA事件发生时,eBPF采集组件模块捕获并将对应的数据即RDMA控制流事件、RDMA建立连接事件或RDMA数据流事件写入内核的ringbuffer,等后续需要使用时,用户空间程序则从中读取。

(b6)在单机环境中,从内核的ringbuffer中读取采集到的RDMA网络监控数据,使用标识符将所采集到的RDMA网络监控数据进行初步聚合,以实现单机侧数据聚合。

应当理解的是,通过上述步骤采集到RDMA网络监控数据后,会进行单机侧聚合环节,如图4所示。该模块使用一系列标识符,比如进程ID(PID)和队列对编号(QpNum),确保数据能够准确地反映RDMA网络操作的具体情况。

进一步地,在单机环境中,采集到的RDMA网络监控数据首先经过初步的聚合,如图5所示。即:使用标识符将RDMA网络监控数据与对应的应用程序或服务进行关联,以实现单机侧数据聚合,具体包括:

文件描述符(fd)级聚合:首先系统调用sys_enter_write和sys_exit_read,基于相同的文件描述符进行聚合,有助于确保聚合数据能够反映特定RDMA连接的活动;

队列对编号(QpNum)级聚合:然后基于相同的队列对编号将sys_enter_write和sys_exit_read的聚合数据与ibv_post_send和ibv_post_recv事件进行进一步聚合,形成关于队列对的数据视图;

工作请求标识符(WrId)级聚合:最后利用相同的工作请求标识符将ibv_post_send和ibv_post_recv事件的聚合数据与ibv_poll_cq事件进行聚合,以实现单机侧数据聚合,完成了对RDMA发包事件完整性的确立。

通过上述步骤,实现了对RDMA网络监控数据的全面采集和聚合,有效解决了RDMAverbs事件离散和难以关联的一大痛点。

应当理解的是,sys_enter_write和sys_exit_read的聚合数据为文件描述符级聚合后的聚合数据。ibv_post_send和ibv_post_recv事件的聚合数据为队列对编号级聚合后的聚合数据。

本实施例中,聚合组件模块包括多节点聚合模块和分析模块,多节点聚合模块用于对接收到的多个采集节点的RDMA网络监控数据进行聚合,分析模块用于分析聚合后的RDMA网络监控数据,以将采集到的RDMA网络监控数据与对应的应用程序进行关联。

本发明的关键点之一在于聚合组件模块的引入,该模块聚合和分析从eBPF探针收集的RDMA网络监控数据,以实时评估RDMA操作的效率,包括关键性能指标的监控,如数据包下发到网卡发送的延迟,从而确保网络的最优运行状态。

应当理解的是,聚合组件模块是数据处理的枢纽,它负责将分散在多个采集节点的RDMA网络监控数据整合汇总在一起,该聚合组件模块允许系统不仅在单节点上,而且跨多节点上进行全面的数据分析和洞察,这种集中式的数据处理方式,为监控系统提供了一个全局的视角。

进一步地,聚合组件模块具体包括:

(c1)通过多节点聚合模块将多个采集节点的RDMA网络监控数据进行聚合,该过程中,多节点聚合模块接收来自于多个采集节点的eBPF采集组件模块所获取的RDMA网络监控数据,并将多个RDMA网络监控数据融合成一个连贯数据集,如此便可为后续的分析提供了一个统一的视图。

(c2)在通信过程中,通过分析模块将RDMA网络使用的GID映射到IP地址,并保留所有IP地址和GID的映射关系,以根据目的GID查询并补全与RDMA网络监控数据相关的目的IP地址。

需要说明的是,聚合组件模块还解决了RDMA通信中的一个独特问题,即GID到IP地址的映射。由于RDMA使用GID作为唯一标识,而不是传统的IP地址,聚合器侧会保留所有IP和GID的映射关系,使得与RDMA数据相关的目的IP信息可以根据目的GID查询并补全。

应当理解的是,GID在RDMA通信中用作设备的唯一标识符,它是一个长数字,用于唯一地标识RDMA网络中的每个设备。GID类似于传统网络中的IP地址,但它是专门为RDMA设计的。GID是属于RDMA网络中的设备或端点(Endpoint),每个使用RDMA技术的设备都会有一个或多个GID,用于在网络中唯一标识自己。

(c3)通过分析模块将RDMA网络监控数据持久化到时序数据库,以实现数据的持久化,它保证了数据的持久性和可靠性,同时为长期的性能监控和分析提供了基础。

(c4)通过分析模块将采集到的每个事件中的线程组ID(tgid)映射到其对应的应用程序。

应当理解的是,eBPF采集组件模块在采集RDMA网络监控数据时,包括了RDMA控制流事件、RDMA建立连接事件和RDMA数据流事件,这里是将每个事件中的线程组ID(tgid)映射到其对应的应用程序。例如,通过bpf_get_current_pid_tgid,可以得到事件的tgid,通过tgid即可得知对应的应用程序。这一映射功能对于理解各个事件与应用程序之间的关系至关重要,提高了监控数据的可用性和分析的准确性。

本实施例中,指标组件模块用于对聚合组件模块处理后的聚合的RDMA网络监控数据进行分析和处理,以获取关键性能指标,并将关键性能指标转化为直观的表示形式展示在Prometheus平台上。

应当理解的是,在基于eBPF的RDMA监控框架中,指标组件模块扮演着关键的角色,负责将聚合组件模块处理后的RDMA网络监控数据转化为标准化的监控指标并导出至可观测平台Prometheus上。该指标组件模块的实现确保了与诸如Prometheus这类强大的监控工具的无缝集成,它不仅促进了数据的持久化存储,还为进一步的数据分析与可视化提供了基础。

进一步地,关键性能指标包括RDMA数据包下发到网卡发出数据包的延时、网卡发出数据包到对端网卡接收的延时以及RDMA事件的状态等,RDMA事件的状态为成功或失败。

进一步地,指标组件模块具体包括:

(d1)通过指标组件模块对聚合组件模块处理后的聚合的RDMA网络监控数据进行分析和处理,获取标准化的关键性能指标。

(d2)将关键性能指标导出到Grafana及Prometheus平台上,通过Grafana将关键性能指标转化为直观的表示形式,如直观的图表和仪表板,并展示在Prometheus平台上。

应当理解的是,Prometheus平台是一个开源的系统监控和报警平台,具有强大的查询语言和存储能力,能够为数据的长期趋势分析和即时警报提供支持。Grafana是一个广泛使用的数据可视化平台,它可以将关键性能指标转化为直观的图表和仪表板,还可以根据用户需求进行定制化展示。这种可视化能力极大地增强了网络管理员在监控、故障排除和性能优化方面的能力,使得能够快速识别问题并作出基于数据的决策。

另外,考虑到不同网络环境和应用场景的多样性,Grafana还可以根据用户需求进行定制化展示,可以根据自己的具体需求调整关键性能指标,如监控事件的类型和频率,使得本发明所述系统不仅适应于广泛的网络环境,而且还能满足特定用户的特定需求。

综上所述,本发明通过这些创新的组成部分,不仅提高了网络事件监控的效率和精度,大大提高了RDMA网络的可靠性、性能和维护效率,而且通过模块化的架构,确保了系统的可扩展性和可持续性。

值得一提的是,本发明实施例还提供了一种监控方法,该方法基于上述实施例中的基于eBPF的RDMA网络监控系统实现。

本发明的监控方法具体包括以下步骤:

(1)用户配置设置监控参数,控制组件模块向eBPF采集组件模块发送采集指令。

(2)eBPF采集组件模块接收到控制组件模块发送的采集指令之后,根据用户配置动态挂载uprobe探针和tracepoint探针,以采集RDMA网络监控数据。其中,RDMA网络监控数据包括RDMA控制流事件、RDMA建立连接事件和RDMA数据流事件。

(3)RDMA网络监控数据的各个事件被触发后发送到聚合组件模块中,通过聚合组件模块的多节点聚合模块将同一RDMA的多个采集节点的RDMA网络监控数据进行聚合,再交给分析模块分析聚合后的RDMA网络监控数据,以将采集到的RDMA网络监控数据与对应的应用程序进行关联,分析RDMA网络的性能和状态。

(4)指标组件模块获取聚合组件模块处理后的聚合的RDMA网络监控数据,对其进行分析和处理,获取关键性能指标,并将关键性能指标转化为直观的表示形式展示在Prometheus平台上。

示例性地,在某金融科技领域的公司中,面对低延迟的严格需求场景,传统的RDMA监控方法未能提供足够的支持。该公司的网络架构复杂,要求极高的数据传输效率和稳定性,任何微小的延迟都可能影响交易决策和执行。使用了本发明所述的基于eBPF的RDMA监控方法后,该公司得以实现对RDMA网络操作的实时、深入监控。该方法不仅能够精确追踪和分析数据传输过程中的每一个关键环节,还能够实时发现并快速响应潜在的网络问题。结果表明,应用这一监控方法后,数据传输更加高效和稳定,提升了系统的整体性能,从而有效地支持了公司的核心业务需求。

本发明显著提高了对RDMA网络操作的可观测性和分析深度;本发明突破了传统监控技术的局限,实现了对RDMA内存操作、数据传输等关键环节的全面监控;本发明能够即时捕获和精确分析各类网络事件,包括数据包的传输状态和内存访问模式;极大地缩短了问题诊断的时间,增强了对整个RDMA网络操作的洞察力,从而有效提升网络服务的整体性能和可靠性。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于RDMA的网络流量确定方法及装置
  • 一种基于多路RDMA和V2X的协同自动驾驶系统及方法
  • 一种基于RDMA的通信方法、装置及存储介质
  • 一种蓝藻水华自动化监测方法和系统
  • 一种基于eBPF的网络高速转发中继方法及系统
技术分类

06120116624038