【笔记】Mellanox 公司的一些历史信息

Mellanox是一家专注于InfiniBand和以太网技术的公司,其产品如ConnectX系列网卡和QuantumIB交换机因其性能而知名。2019年,英伟达以69亿美元收购了这家公司,随后Mellanox品牌融入Nvidia网络部门。这家以色列-美国公司在高性能计算领域有重要贡献,其产品线还包括SpectrumETH交换机和LinkX系列线缆。

摘要图

在这里插入图片描述

细节:

  • Mellanox Technologies Ltd. 基于InfiniBand和以太网技术的以色列-美国跨国计算机网络产品供应商。无晶圆厂半导体公司。

  • 2019 年 3 月 11 日,英伟达宣布有意以 69 亿美元收购该公司。(其他愿意收购Mellanox的公司包括英特尔、赛灵思和Microsoft)

  • 2020 年并入 Nvidia 的网络部门,Nvidia 停止在其新网络产品中使用品牌名称“Mellanox”。

  • Mellanox成立于1999年5月,由英特尔的前以色列高管在以色列的Yokneam(上约克内阿姆)创立

  • Yokneam: 上约克内阿姆是以色列的城市,位於該國北部,面積7.39平方公里,海拔高度166米,2012年人口18,700,人口密度每平方公里2,530人。在这里插入图片描述

  • 2007年2月在纳斯达克进行了首次公开募股,筹集了1.02亿美元,公司估值超过五亿美元

  • 2018年该公司拥有 2900 名员工,其中大部分在以色列。

  • 从2011年开始,其芯片一直由台积电(TSMC)生产

  • 主要产品:网络适配器(ETH\IB)、交换机和电缆

    • ConnectX 系列:网卡
    • Quantum 系列:IB 交换机。 (提供un-matched延迟和数据包转发性能,以及高级HPC卸载:包括 SHARP(集体操作加速)和 SHIELD(自我修复)技术)
    • Spectrum 系列:ETH 交换机
    • LinkX 系列:电缆和收发器
<think>好的,用户的问题是关于如何通过DPDK查看Mellanox网卡接管后的统计信息。首先,我需要回忆一下DPDK的相关知识,尤其是关于统计信息获取的部分。根据用户提供的引用内容,特别是引用3中提到rte_eth_stats_get和rte_eth_xstats_get这两个函数,应该就是关键点。 接下来,我需要确定用户的具体需求。他们可能在使用Mellanox网卡并且已经配置了DPDK,现在想查看统计信息,比如收发包数量、错误计数等。需要分步骤说明如何使用DPDK的API来获取这些数据。 首先,可能需要初始化端口,确认网卡已经被正确识别和绑定。然后,在应用程序中调用相应的函数。根据引用3,Mellanox的驱动中,stats_get和xstats_get分别对应这两个API函数。因此,用户需要在代码中调用这些函数,并处理返回的数据结构。 另外,用户可能需要了解如何编译和运行DPDK应用,确保MLX4或MLX5驱动已启用,这在引用1和2中有提到。例如,需要确认CONFIG_RTE_LIBRTE_MLX4_PMD和CONFIG_RTE_LIBRTE_MLX5_PMD是否已经设置为y,这样才能正确支持Mellanox网卡。 还需要注意不同版本的DPDK可能函数名或参数有所不同,用户需要根据自己使用的版本来调整代码。同时,统计信息可能包括基本统计和扩展统计,用户需要根据需求选择合适的函数。 可能还需要考虑权限问题,比如DPDK应用需要足够的权限才能访问网卡。此外,用户可能想知道如何解析返回的统计信息,比如结构体中的各个字段代表什么,这可能需要在回答中简要说明。 最后,用户可能希望有示例代码片段来更直观地展示如何调用这些函数。所以,给出一个简单的C语言示例,展示如何获取并打印统计信息,这样用户可以直接参考使用。 总结步骤应该是:确认驱动配置正确,调用rte_eth_stats_get获取基本统计,调用rte_eth_xstats_get获取扩展统计,处理返回的数据,并注意可能的错误情况。同时,提醒用户编译时的注意事项和权限问题。</think>### 通过DPDK查看Mellanox网卡统计信息的方法 #### 1. **确认网卡驱动和DPDK配置** - Mellanox网卡使用DPDK前需确保已正确加载`mlx4`或`mlx5`驱动模块,并在编译DPDK时开启对应配置: ```bash # 在DPDK配置文件`common_base`中需设置: CONFIG_RTE_LIBRTE_MLX4_PMD=y # 支持MLX4芯片 CONFIG_RTE_LIBRTE_MLX5_PMD=y # 支持MLX5芯片 ``` 若未开启,DPDK将无法识别Mellanox网卡[^1]。 #### 2. **获取基本统计信息** DPDK提供`rte_eth_stats_get`函数获取基础统计信息(如收发包数量、错误计数等): ```c #include <rte_ethdev.h> struct rte_eth_stats stats; int port_id = 0; // 网卡端口号 if (rte_eth_stats_get(port_id, &stats) == 0) { printf("RX packets: %"PRIu64"\n", stats.ipackets); printf("TX packets: %"PRIu64"\n", stats.opackets); printf("RX errors: %"PRIu64"\n", stats.ierrors); printf("TX errors: %"PRIu64"\n", stats.oerrors); } ``` 此函数通过`mlx5_stats_get`实现具体统计数据的获取[^3]。 #### 3. **获取扩展统计信息** Mellanox网卡支持更详细的扩展统计信息(如队列深度、丢包原因等),需使用`rte_eth_xstats_get`: ```c #include <rte_ethdev.h> struct rte_eth_xstat *xstats; int num_xstats = rte_eth_xstats_get(port_id, NULL, 0); xstats = malloc(sizeof(struct rte_eth_xstat) * num_xstats); if (rte_eth_xstats_get(port_id, xstats, num_xstats) == num_xstats) { for (int i = 0; i < num_xstats; i++) { printf("%s: %"PRIu64"\n", xstats[i].name, xstats[i].value); } } free(xstats); ``` 该函数调用底层`mlx5_xstats_get`实现[^3]。 #### 4. **注意事项** - **权限要求**:DPDK应用需以`root`权限运行或拥有足够的`CAP_NET_ADMIN`能力。 - **驱动兼容性**:需确保MLNX_OFED驱动版本与DPDK版本兼容(例如MLNX_OFED 5.x对应DPDK 19.11)[^2]。 - **统计重置**:可通过`rte_eth_stats_reset(port_id)`清空统计计数器。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值