网络加速 [18]

RDMA 编程详解

本文通过一个RDMA通信完整代码 RDMA-EXAMPLE展示RDMA 网络使用过程。 为适合初学者阅读,附录中简单介绍了RDMA 的架构与原理。 RDMA 编程详解 RDMA 通信过程 libibverbs库提供了用于使用RDMA的高级用户空间API3 4。使用这些API,程序运行过程如下:

RDMA 编程实践

RDMA 编程实践 本文介绍了RDMA编程基础知识,让你从代码角度理解IB RDMA工作原理。 背景信息 通道适配器(Channel Adapter, CA) 通道适配器是Infiniband网络中的端节点,相当于以太网网络接口卡(NIC),但具有更多关于Infiniband和RDMA的功能1。 这

使用GPUDirect RDMA编码实践

通过使用CUDA和RDMA库,在GPU和远程内存之间启用GPUDirect RDMA功能,可以实现RDMA支持GPUDirect特性。 下面是使用GPUDirect RDMA的示例代码,本文将对该代码进行逐段解析: // 1. 初始化CUDA和RDMA cudaSetDevice(0); cudaM

Nvidia GPU Direct RDMA技术

Nvidia GPU Direct RDMA技术 1. 概述 GPUDirect RDMA是在Kepler类GPU和CUDA 5.0中引入的一项技术,它使用PCI Express的标准功能在GPU和第三方对等设备之间建立了直接数据交换路径。第三方设备的示例包括:网络接口,视频采集设备,存储适配器。G

使用GPU Direct RDMA优化基于GPU数据传输

使用GPU Direct RDMA优化基于GPU数据传输 本文章通过gptschools.cn翻译,原论文:Optimizing Data Movement for GPU-Based In-Situ Workflow Using GPUDirect RDMA 摘要 在大规模计算领域,GPU加速系统

高端路由器buffer的发展历史与趋势

高端路由器buffer的发展历史与趋势 简介 本文探讨了高端路由器中数据包缓冲的历史和演变。在路由器和交换机中,缓冲器对于防止网络拥塞期间的数据丢失至关重要。这些缓冲器的适当大小是学术界和工业界都激烈争论的问题。 本文试图提供当前实践和未来趋势的概述。 网络芯片中的缓冲器 在典型的路由/交换芯片中,

Nvidia 数据包喷洒技术、自适应路由技术实验验证

数据包喷洒技术是一种保证网络链路均匀性的技术,它基于包或者cell进行负载均衡。 本文基于Nvidia Connect X6 DX网卡,开启网卡无序报文接收功能,使用支持乱序传输的RoCEv2 RC协议,对该技术进行实验验证。

RDMA协议详解

RDMA协议详解 RDMA,即 Remote Direct Memory Access,是一种绕过远程主机 OS kernel 访问其内存中数据的技术,概念源自于 DMA 技术。在 DMA 技术中,外部设备(PCIe 设备)能够绕过 CPU 直接访问 host memory;而 RDMA 则是指外部

NVIDIA Spectrum-X: 为AI定制的Ethernet网络平台

NVIDIA Spectrum-X: 基于Ethernet的AI加速网络平台 人工智能工作负载的特点是少量的任务处理大量的GPU之间的数据传输,尾延迟会对整体应用性能产生显著影响。使用传统的网络路由机制来处理这种流量模式可能导致GPU性能不一致和人工智能工作负载低利用率。 NVIDIA Spectr

如何解决AI/ML训练中负载不均问题?包转发还是流转发?

如何解决AI/ML训练中负载不均问题?包转发还是流转发? 引言 在AI/ML训练中,单个GPU与其他GPU同步训练数据时,通常发送多少个活动IP流? 答案是只有一个。而且流量以满接口速率发送,目前是400Gbps。 现在以太网架构,最常用的负载均衡方式是根据流负载均衡。这种方式在GPU训练场景(流数

大模型中的互联技术

大模型中的互联技术 介绍 生成式人工智能(Generative AI)和大型语言模型(Large Language Models)以惊人的速度吸引了全世界的关注。 本文简要介绍LLM、训练这些模型所面临的硬件挑战,以及GPU和网络领域在优化训练AI方面所做的努力。 本文通过gpt4(gptschoo

简述tcp协议对http性能的影响及优化

当网站服务器并发连接达到一定程度时,你可能需要考虑服务器系统中tcp协议设置对http服务器的影响。 tcp相关延时主要包括: 1、tcp连接时建立握手; 2、tcp慢启动拥塞控制; 3、数据聚集的Nagle算法; 4、用于捎带确认的tcp延迟确认算法; 5、TIME_WAIT时延和端口耗尽。

dpdk中QSBR具体实现

概述 dpdk19.01提供了qsbr模式的rcu库,其具体实现在lib/librte_rcu目录中。 librte_rcu是无锁线程安全的,这个库提供了读者报告静默状态的能力,让写者知道读者是否进入过静默状态。 dpdk中QSBR具体实现是通过一个struct rte_rcu_qsbr_cnt变量

RCU基础

什么是RCU?是Read,Copy-Update的缩写,意指读-复制更新。是一种同步机制。其将同步开销的非对称分布发挥到逻辑极限, RCU 基本概念 读侧临界区 (read-side critical sections): RCU读者执行的区域,每一个临界区开始于rcu_read_lock(),结束

1小时学会P4-16编程基础

本文主要讲述一些P4-16的基本元素,以及相关基础架构,旨在帮助初学者快速上手P4-16。 P4开源项目 P4项目源码可以在github上直接获取(https://github.com/p4lang)。 项目关系 项目关系如下: <

从P4 workshop 2021看P4的发展趋势

P4 概述 2013年, 当时还在德州仪器(TI)的 Pat Bosshart,联合斯坦福Nick、微软研究院的 George 等人在SIGCOMM上提出了一种RMT交换机实现,其实现了网络协议的自定义解析,自定义匹配、处理、转发,这个就是现在Intel Tofino 芯片的原型。但当时相关网络编程

P4可编程设备在工业界的落地情况

学术界对P4已进行大量的研究与应用,各个应用场景如下图所示,包括INT、QoS、拥塞控制、多播、负载均衡、加速计算、聚合、网络测量、安全、测试等领域。但是学术界的研究要真正落地,还需要考虑很多其他因素,如实可运维性、占用资源情况、多租户共享支持、异常场景处理、平滑演进等等。 考虑诸多因素,工业界使用

dpdk rte_mbuf详解

DPDK(数据平面开发套件)是一套用于快速处理数据包的库和驱动,广泛用于高性能和高吞吐量的网络程序设计。rte_mbuf是DPDK中一个核心的数据结构,用于表示网络数据包(mbuf 是 memory buffer 的缩写)。 rte_mbuf结构体不仅包含了数据包的内容,还包含了关于数据包的其他元数