CN115086310B - 一种高吞吐量、低延迟的数据包转发方法 - Google Patents
一种高吞吐量、低延迟的数据包转发方法 Download PDFInfo
- Publication number
- CN115086310B CN115086310B CN202210202690.3A CN202210202690A CN115086310B CN 115086310 B CN115086310 B CN 115086310B CN 202210202690 A CN202210202690 A CN 202210202690A CN 115086310 B CN115086310 B CN 115086310B
- Authority
- CN
- China
- Prior art keywords
- data packet
- packet
- receiving
- combination
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种高吞吐量、低时延的数据包转发方法,应用于边缘网关,方法包括工作于网关操作系统用户空间的PCI/PCIe通信设备的驱动;服务于用户空间设备驱动程序的性能优化;所述的性能优化包括:数据包组合、自适应数据包组合大小算法、设置内存大页及设置CPU亲和性。针对频繁的系统调用和网关中复杂的包传递路径严重限制了内核驱动程序的数据吞吐量和数据包转发时延的问题,该方法将数据包的接收和传输行为置于网关操作系统的用户空间中,通过绕过网关操作系统内核和简化数据包传递路径实现高吞吐量和低时延的目的。实验表明,在边缘网关的以太网卡设备上转发数据包时,本发明提出的数据包转发方法与内核驱动程序相比,吞吐量提高了近39倍。
Description
技术领域
本发明涉及物联网、边缘计算、智慧城市的技术领域,具体指一种基于边缘网关的高 吞吐量、低延迟的数据包转发方法。
背景技术
边缘计算是相对传统集中通用计算而言,指将工作负载部署在边缘的一种计算方式。最 近几年,边缘计算的发展正在逐渐迎来它的高潮,主要是因为5G、IoT等业务和场景发展越 来越快,包括智能终端设备越来越多,造成对边缘计算业务的下沉诉求越来越多。如果所有 的处理全部放在中心,很难满足大规模边缘智能设备的增长。边缘计算目前在各行各业都开 始大规模使用,例如汽车、运输、能源等。总结来说,边缘计算就是让计算离用户或者离数 据源更近。
随着物联网、边缘计算应用领域的逐渐广泛,带来了越来越多的复杂性和互操作性问 题。此外,不同智能设备所使用的通信协议的高度多样性,以及其传输和操作的数据格式 和软件接口的异构性,进一步增加了数据集成和开发过程中的障碍。
边缘网关是一种可以在设备上运行本地计算、消息通信和数据缓存等功能的工业智能 网关,由于需要支持在某一区域的大部分边缘计算业务,因此具有接口丰富,支持海量连 接等特点。在边缘计算的场景下,边缘网关承担着智能设备产生的数据和云端服务器之间 的桥梁的作用。海量的连接一般伴随着海量的数据,这对边缘网关来说是一个重大的挑战。 同时,数据传输过程中大量特定的、反复的适配,支持多种通信协议的接入,也意味着大 量的时间开销。目前,因此数据的高吞吐量和低时延的消息转发对于当前的应用场景来说 是十分必要的,在车载物联网等硬实时的应用中,需要传递一些信息量较大的消息,较高 的时延可能会造成一些无法预料的事故。此外,在其他软实时的场景中,较低的吞吐量和 较高的时延也会影响用户的使用体验。
发明内容
本发明的目的是针对传统的物联网网关在转发和处理大规模终端数据时无法满足大 吞吐量、高实时性的要求而提供的一种高吞吐量、低时延的数据包转发方法。该方法将数 据包的接收和传输行为置于网关操作系统的用户空间中,通过绕过网关操作系统内核和简 化数据包传递路径实现高吞吐量和低时延的目的。
实现本发明目的的具体技术方案是:
一种高吞吐、低时延的数据包转发方法,应用于边缘网关,所述的数据包转发方法包括:
工作于用户空间的网关PCI/PCIe通信设备即以太网卡、无线网卡、蓝牙设备和ZigBee设备的驱动程序;所述驱动程序包括设备控制组件和数据包转发逻辑;所述驱动 程序通过设备控制组件完成对通信设备的配置和控制;而后利用数据包转发逻辑实现数 据包的接收和发送操作;
服务于用户空间设备驱动程序的性能优化;所述的性能优化包括:数据包组合、自适应数据包组合大小算法、设置内存大页及设置CPU亲和性;其中:
所述的驱动程序通过设备控制组件完成对通信设备的配置和控制,具体包括如下步 骤:
步骤1:将设备绑定到VFIO-PCI上,以便安全地把设备I/O、中断、DMA内存暴露给用户空间;
步骤2:通过内存映射的方式初始化设备的基地址寄存器即Base AddressRegisters, BARs,达到控制硬件设备的目的;
步骤3:为设备分配DMA内存,用于在设备和驱动程序之间拷贝数据包;
所述的数据包转发逻辑,其与接收和发送队列数据结构和数据包缓冲区池共同配合, 包括以下步骤:
步骤1:初始化时,为接收队列的每个条目分配一个空白的数据包缓冲区用于从通信 设备的数据寄存器接收数据包;
步骤2:将接收到的数据包的缓冲区指针交给CPU进行本地处理;或者交给发送队列 执行发送操作,完成发送操作后,将数据包缓冲区释放回缓冲区池;
步骤3:清理已经使用过的接收队列的条目信息,分配新的缓冲区给该条目用于下一 轮的接收;
所述的数据包组合,包括如下步骤:
步骤1:设置数据包组合过程中的最大等待时间T和最大组合大小S;
步骤2:数据包接收或者发送线程在收到较小的数据包后,即数据包的负载长度小于头部长度,并不立即执行接收或发送操作,而是等待后续的数据包到达;如果等待时 间超过T或者当前数据包的大小超过S,则完成本轮的组合;
步骤3:当有后续的数据包到达时,接收或发送线程对比当前数据包的目的地址与之 前的数据包的目的地址是否相同;
步骤4:如果目的地址相同,则线程拼接两个数据包的负载内容;此外,保留之前数据包的头部和当前数据包的源地址;即完成了一次组合;
所述的自适应数据包组合大小算法,包括如下步骤:
步骤1:初始化上一次的包组合等待时间t=0,上一次包组合大小s=0;初始化最大 等待时间T和最大数据包组合大小S;如果等待时间超出T或者数据包大小即将超过S,则完成本次的组合操作,对组合后的数据包执行接收或转发操作;
步骤2:记录上一次的等待时间t和数据包大小s;
步骤3:如果上一次的t与T显著不同,即t>1.5T或者t<0.5T,则设置T=t;如果s 和S显著不同,即s>1.25S或者s<0.75S,则设置S=s。
所述设置内存大页:为驱动配置更大的内存页面以减少TLB查询失败的次数,以此提 高数据包转发的性能;所述设置CPU亲和性:将包转发线程绑定在一个CPU核上以增加缓存命中的概率,提高数据包转发的性能。
本发明可以部署在边缘网关上进行实际的消息通信,满足了新型物联网边缘计算网关 高实时性、高吞吐量、低时延的要求。因此,本发明可以被认为是一种新型的高效的物联 网关数据包转发体系结构,具备很强的实用性。
附图说明
图1为实施本发明高效的数据包转发方法的整体架构框图;
图2为本发明包转发逻辑中无锁环形队列与数据包缓冲区池的关系示意图;
图3为本发明包转发逻辑中数据包接收与转发数据包的流程演示;
图4为性能优化中数据包组合方法的执行示意图。
具体实施方式
下面结合附图对本发明进行详细描述。本发明致力于实现一种高吞吐量、低时延的用 户空间边缘网关驱动程序。该驱动的整体架构如图1所示,包含:工作于用户空间的通信 设备驱动程序和服务于驱动程序的性能优化方法。所述驱动程序包括设备控制组件和数据 包转发逻辑;所述的性能优化包括:数据包组合、自适应数据包组合大小算法、设置内存 大页及设置CPU亲和性。
本发明中对于各部分的构建和实现方法,包括以下内容:
1.用户空间设备驱动的设计与实现
使用Linux操作系统提供的用户态驱动框架VFIO,实现用户空间设备驱动程序,旁路 网关操作系统内核,使得网关硬件可以直接与用户空间的应用程序交互。驱动程序可以在 用户空间接管硬件设备,避免了传统网关在消息传递过程中产生的频繁的系统调用和内存 拷贝,极大地提高数据包的接收和发送效率。VFIO提供两种基本服务:(1)向用户态提供访问硬件设备的接口;(2)向用户态提供配置IOMMU的接口。本发明采用VFIO实现用 户空间驱动的设备控制组件。
通过VFIO访问硬件和配置IOMMU的方式来实现设备控制组件。用VFIO访问硬件包括 如下步骤:
步骤1:打开设备所在IOMMU group在/dev/vfio/目录下的文件。
步骤2:使用VFIO_GROUP_GET_DEVICE_FD得到表示设备的文件描述,参数为设备名称, 一个典型的PCI设备名形如0000:02.01.0。
步骤3:对设备进行read/write/mmap等操作。
其次需要用VFIO配置IOMMU,具体包括如下步骤:
步骤1:打开/dev/vfio,得到container文件描述符。
步骤2:用VFIO_SET_IOMMU绑定一种IOMMU实现层。
步骤3:打开/dev/vfio/N,得到IOMMU group文件描述符。
步骤4:用VFIO_GROUP_SET_CONTAINER将IOMMU group加入container。
步骤5:用VFIO_IOMMU_MAP_DMA将此IOMMU group的DMA地址映射至进程虚拟地址空 间。
2.数据包转发逻辑的实现
在数据包接收和发送领域,无锁环形队列是一种常用的数据结构。无锁环形队列可以 实现数据包的“先进先出”;由于是一个元素数目固定的闭环,因此可以在环形队列初始 化时分配好确定的空间,实现队列元素的重复利用;此外,在数据包入队和出队的过程中, 由驱动程序操作队列的尾部索引、硬件设备操作队列的首部索引,可以实现免锁访问环形 队列操作,相比于带有同步和互斥操作的队列,无锁环形队列可以实现10倍以上的包转 发效率。此外,接收和发送环形队列本质上是一个包含数据包指针的结构体队列,因此需 要一个数据包缓冲区池来配合队列完成数据包的接收和发送操作,图2为无锁环形队列与 缓冲区池的关系示意图。最后,由于每完成一次数据包的接收和发送后,都要更新硬件设 备的索引寄存器,这是一个很耗时的操作,因此,本发明批量接收和发送数据包,即接收或发送多个数据包之后再执行一次寄存器更新操作,分摊每次更新索引寄存器的开 销,提高包转发效率。
步骤1:初始化接收队列和发送队列。为接收队列和发送队列分配内存空间。并为接收环 的每个条目分配一个位于缓冲区池的数据包缓冲区。
步骤2:数据接收过程中,首先驱动程序将通信设备数据寄存器中的相关数据拷贝到接收 队列中空闲的成员指向的数据包包缓冲区中,即完成了数据包的接收。需要注意的是,接 收算法批量接收数据包以提高接收效率。即设置批处理大小batch_size,每接收到batch_size个数据包后再更新硬件的索引寄存器。
步骤3:在完成数据包接收之后,将数据包缓冲区的指针传递给发送队列用于将数据包转 发到更高级的服务器,或者交给网关的用户程序用于本地处理。数据包的接收和转发只需 要传递接收队列和发送队列上的数据包缓冲区指针即可完成。以上过程实现了数据包转发 和处理过程中的零拷贝,省去了内存拷贝的开销。需要注意的是,发送算法批量发送数据 包以提高效率。即设置批处理大小batch_size,每发送到batch_size个数据包后再更新 硬件的索引寄存器。
步骤4:当发送队列完成数据包的发送之后,就将数据包缓冲区释放回缓冲区池,并将发 送队列的对应成员的完成状况置为“是”。在下一轮的接收时,驱动程序会为接收队列的 成员分配新的数据包缓冲区。图3为本发明包转发逻辑中接收与转发数据包时的流程演示; 3.性能优化方法的实现
加速模块主要由数据包组合算法、自适应数据包组合大小算法、大页内存模块和线程 亲和性模块组成。
观察到在数据包缓冲区大小相同的情况下,用户空间驱动发送大数据包时会获得更大 的数据吞吐量,本发明使用数据包组合算法,将众多头部相同的数据包组合为一个大包, 示意图如图4所示。具体的执行步骤如下:
步骤1:接收或发送线程在收到较小的数据包后,并不立即执行转发操作,而是等待后续的数据包到达。
步骤2:当有后续的数据包到达时,接收或发送线程判断数据包的目的地址是否和上 次记录的数据包头部信息相同,并且数据包大小和等待的时间是否超过预先设定的阈值。
步骤3:如果目的地址相同且未超过阈值,则线程开始组合数据包。组合数据包时,需要压缩后续其它数据包的头部,因为相同目的地的数据包只需要保留一份头部信息即可, 其余数据包只保留源地址的信息。当超过阈值时,线程发送或接收已经组合的大数据包并 开始新一轮的组合。
为了使网关在数据包流量急剧变化的情况下更好的发挥数据包组合方法的优势,使用 自适应数据包组合大小算法。所述的自适应数据包组合大小算法,包括如下步骤:
步骤1:初始化上一次的包组合等待时间t=0,上一次包组合大小s=0;初始化最大 等待时间T和最大数据包组合大小S;如果等待时间超出T或者数据包大小即将超过S,则完成本次的组合操作,对组合后的数据包执行接收或转发操作;
步骤2:记录上一次的等待时间t和数据包大小s;
步骤3:如果上一次的t与T显著不同,即t>1.5T或者t<0.5T,则设置T=t;如果s 和S显著不同,即s>1.25S或者s<0.75S,则设置S=s。
通过sched_setaffinity()方法实现线程亲和性。将一个线程或多个线程绑定到一个或多 个CPU上,这样在线程执行过程中,就不会被随意调度,一方面减少了线程间的频繁切换 带来的开销,另一方面避免了CPU缓存的局部失效性,增加了CPU缓存的命中率。
实施例
本发明的目的是为了解决传统的内核空间边缘网关驱动程序无法满足高吞吐量、低时 延的要求,而提出的一种基于边缘网关的高吞吐量、低时延的数据包转发方法。本发明进 行了相关实验,实验环境为:操作系统采用Linux发行版本Ubuntu20.04的虚拟机;CPU最高频率为2.4GHz,初步使用intel 82545EM以太网卡为网关的通信设备。
1.用户态网关驱动实验
首先,本实施例使用网卡的内核驱动发送128字节的数据包,结果显示,每秒可以发 送超过百万个数据包,即1.06Mpps。
由于批处理数据包对包转发速率有很大的影响,本实施例测试不同批处理大小下,128 字节的数据包的发送速率,得出结果如表1所示,在批处理大小达到8192时,发送速率 达到峰值,为36.46Mpps。
表1.不同批处理大小对转发速率的影响
批处理大小 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 |
数据包转发速率(Mpps) | 3.79 | 6.85 | 11.61 | 17.75 | 24.54 | 29.32 | 33.17 | 36.26 | 36.46 |
2.数据包组合对性能的影响
当利用1024字节的数据包缓冲区发送128字节的数据包时,分别设置组合大小S为256、512、1024字节,设置足够长的等待时间T。不同S下的包吞吐量和数据吞吐量如表 2所示,数据包组合方法会提高发送数据包时的数据吞吐量,但是也会增加数据包的平均 发送时延。
表2.数据包组合方法的吞吐量
数据包组合大小(字节) | 256 | 512 | 1024 |
包吞吐量(Mpps) | 15.6 | 11.96 | 8.6 |
数据吞吐量(Gbps) | 33.95 | 50.99 | 71.45 |
3.内存大页和CPU亲和性对发送速率的影响
表3是使用1GB大页之后的包转发速率。在批处理大小相同的情况下,包发送速率有 一定的提高。
表3.不同批处理大小设置1GB大页之后的包转发率
批处理大小 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 |
数据包吞吐量(Mpps) | 4.06 | 7.32 | 12.87 | 19.45 | 26.51 | 32.41 | 36.23 | 38.15 | 39.93 |
表4是在表3的实验基础上,启用线程亲和性模块加速后的结果。在表3的基础上,包发送效率又有一定的提升。当批处理大小是8192时,最大包吞吐量是内核驱动的39倍。
表4.不同批处理大小设置1GB大页和线程亲和性之后的包转发速率
批处理大小 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 |
数据包吞吐量(Mpps) | 4.12 | 7.47 | 13.15 | 19.95 | 26.82 | 32.50 | 36.50 | 38.94 | 41.49 |
Claims (2)
1.一种高吞吐、低时延的数据包转发方法,应用于边缘网关,其特征在于,所述的数据包转发方法包括:
工作于用户空间的网关PCI/PCIe通信设备即以太网卡、无线网卡、蓝牙设备和ZigBee设备的驱动程序;所述驱动程序包括设备控制组件和数据包转发逻辑;所述驱动程序通过设备控制组件完成对通信设备的配置和控制;而后利用数据包转发逻辑实现数据包的接收和发送操作;
服务于用户空间设备驱动程序的性能优化;所述的性能优化包括:数据包组合、自适应数据包组合大小算法、设置内存大页及设置CPU亲和性;其中:
所述的驱动程序通过设备控制组件完成对通信设备的配置和控制,具体包括如下步骤:
步骤1:将设备绑定到VFIO-PCI上,以便安全地把设备I/O、中断、DMA内存暴露给用户空间;
步骤2:通过内存映射的方式初始化设备的基地址寄存器即Base Address Registers,BARs,达到控制硬件设备的目的;
步骤3:为设备分配DMA内存,用于在设备和驱动程序之间拷贝数据包;
所述的数据包转发逻辑,其与接收和发送队列数据结构和数据包缓冲区池共同配合,包括以下步骤:
步骤1:初始化时,为接收队列的每个条目分配一个空白的数据包缓冲区用于从通信设备的数据寄存器接收数据包;
步骤2:将接收到的数据包的缓冲区指针交给CPU进行本地处理;或者交给发送队列执行发送操作,完成发送操作后,将数据包缓冲区释放回缓冲区池;
步骤3:清理已经使用过的接收队列的条目信息,分配新的缓冲区给该条目用于下一轮的接收;
所述的数据包组合,包括如下步骤:
步骤1:设置数据包组合过程中的最大等待时间T和最大组合大小S;
步骤2:数据包接收或者发送线程在收到较小的数据包后,即数据包的负载长度小于头部长度,并不立即执行接收或发送操作,而是等待后续的数据包到达;如果等待时间超过T或者当前数据包的大小超过S,则完成本轮的组合;
步骤3:当有后续的数据包到达时,接收或发送线程对比当前数据包的目的地址与之前的数据包的目的地址是否相同;
步骤4:如果目的地址相同,则线程拼接两个数据包的负载内容;此外,保留之前数据包的头部和当前数据包的源地址;即完成了一次组合;
所述的自适应数据包组合大小算法,包括如下步骤:
步骤1:初始化上一次的包组合等待时间t=0,上一次包组合大小s=0;初始化最大等待时间T和最大数据包组合大小S;如果等待时间超出T或者数据包大小即将超过S,则完成本次的组合操作,对组合后的数据包执行接收或转发操作;
步骤2:记录上一次的等待时间t和数据包大小s;
步骤3:如果上一次的t与T显著不同,即t>1.5T或者t<0.5T,则设置T=t;如果s和S显著不同,即s>1.25S或者s<0.75S,则设置S=s。
2.如权利要求1所述的数据包转发方法,其特征在于,所述设置内存大页:为驱动配置更大的内存页面以减少TLB查询失败的次数,以此提高数据包转发的性能;所述设置CPU亲和性:将包转发线程绑定在一个CPU核上以增加缓存命中的概率,提高数据包转发的性能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210202690.3A CN115086310B (zh) | 2022-03-02 | 2022-03-02 | 一种高吞吐量、低延迟的数据包转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210202690.3A CN115086310B (zh) | 2022-03-02 | 2022-03-02 | 一种高吞吐量、低延迟的数据包转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086310A CN115086310A (zh) | 2022-09-20 |
CN115086310B true CN115086310B (zh) | 2023-08-01 |
Family
ID=83246230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210202690.3A Active CN115086310B (zh) | 2022-03-02 | 2022-03-02 | 一种高吞吐量、低延迟的数据包转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086310B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117675574A (zh) * | 2022-12-07 | 2024-03-08 | 国电南瑞科技股份有限公司 | 一种设备远程批量升级方法、系统及分布式任务调度方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702688A (zh) * | 2009-11-24 | 2010-05-05 | 武汉绿色网络信息服务有限责任公司 | 一种数据包收发方法 |
CN113691397A (zh) * | 2021-08-12 | 2021-11-23 | 江苏杰瑞信息科技有限公司 | 工业控制数据传输用低延时5g无线透明传输方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707321B2 (en) * | 1999-08-04 | 2010-04-27 | Super Talent Electronics, Inc. | Chained DMA for low-power extended USB flash device without polling |
US7612903B2 (en) * | 2003-09-08 | 2009-11-03 | Castelle | Line utilization in integrated document delivery method and apparatus |
US20210243281A1 (en) * | 2020-02-05 | 2021-08-05 | City University Of Hong Kong | System and method for facilitating data communication of a trusted execution environment |
-
2022
- 2022-03-02 CN CN202210202690.3A patent/CN115086310B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702688A (zh) * | 2009-11-24 | 2010-05-05 | 武汉绿色网络信息服务有限责任公司 | 一种数据包收发方法 |
CN113691397A (zh) * | 2021-08-12 | 2021-11-23 | 江苏杰瑞信息科技有限公司 | 工业控制数据传输用低延时5g无线透明传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115086310A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649924B2 (en) | Network overlay systems and methods using offload processors | |
WO2020236295A1 (en) | System and method for facilitating efficient message matching in a network interface controller (nic) | |
JP5726320B2 (ja) | 単一のモデム・ボードにおける改善されたマルチセル・サポートのための方法およびシステム | |
US8321385B2 (en) | Hash processing in a network communications processor architecture | |
US9461930B2 (en) | Modifying data streams without reordering in a multi-thread, multi-flow network processor | |
KR102082020B1 (ko) | 다수의 링크된 메모리 리스트들을 사용하기 위한 방법 및 장치 | |
US20060129699A1 (en) | Network interface adapter with shared data send resources | |
US20210034560A1 (en) | Persistent kernel for graphics processing unit direct memory access network packet processing | |
US10909655B2 (en) | Direct memory access for graphics processing unit packet processing | |
WO2008045809A2 (en) | Network interface techniques | |
CN112953967A (zh) | 网络协议卸载装置和数据传输系统 | |
CN113225307A (zh) | 卸载引擎网卡中描述符预读取的优化方法、系统及终端 | |
CN115086310B (zh) | 一种高吞吐量、低延迟的数据包转发方法 | |
US11343176B2 (en) | Interconnect address based QoS regulation | |
US20040004972A1 (en) | Method and apparatus for improving data transfer scheduling of a network processor | |
CN111756586B (zh) | 一种数据中心网络中基于优先级队列的公平带宽分配方法、交换机及可读存储介质 | |
US20060187963A1 (en) | Method for sharing single data buffer by several packets | |
CN116471242A (zh) | 基于rdma的发送端、接收端、数据传输系统及方法 | |
CN115695578A (zh) | 一种数据中心网络tcp和rdma混合流调度方法、系统及装置 | |
CN115955441A (zh) | 一种基于tsn队列的管理调度方法、装置 | |
CN115687200B (zh) | 基于FPGA应用于EPA的PCIe数据传输方法及系统 | |
CN115529275B (zh) | 一种报文处理系统及方法 | |
US20230239257A1 (en) | Efficient packet reordering using hints | |
Díaz et al. | The lightweight protocol CLIC on Gigabit Ethernet | |
WO2024014995A1 (en) | Processing unit, packet handling unit, arrangement and methods for handling packets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |