dpdk tcp/ip协议栈

原创 2015年11月19日 09:03:29

经过很长时间大家的努力,基于dpdk的用户态的tcp/ip协议栈终于完整,先把简要的测试数据分享一下:

  • 三层转发性能
    |--------------------------------------| 
    |      L3 forwarding performance       |
    |             (one lcore)              |
    |--------------------------------------| 
    | Packet size(byte)| Throughput(Mpps)  | 
    |--------------------------------------|
    |     64           |      3.682        | 
    |--------------------------------------| 
    |     128          |      3.682        | 
    |--------------------------------------| 
    |     256          |      3.683        | 
    |--------------------------------------| 
    |     512          |      2.35         |
    |--------------------------------------| 
    |     1024         |      1.197        | 
    |--------------------------------------| 
    |     1500         |      0.822        | 
    |--------------------------------------| 
  • tcp连接建立释放性能。
一个连接的过程包括 建立tcp连接,传输一个tcp数据,释放tcp连接。用ab测试工具测试。
    |--------------------------------------| 
    |      TCP Server accept performance   |
    |--------------------------------------| 
    | Linux with epoll | NETDP with epoll  | 
    |    (Multi core)  |    (one core)     |
    |--------------------------------------|
    | 53k connection/s | 43k connection/s  | 
    |--------------------------------------| 
  • tcp socket数据传输性能
一个socket发送190M tcp payload 数据,一个socket接受130M tcp payload数据。总共测试10次的结果。

Communication(synchronization)  0 runtime:   0.734931 s
Communication(synchronization)  1 runtime:   0.469566 s
Communication(synchronization)  2 runtime:   0.449729 s
Communication(synchronization)  3 runtime:   0.648432 s
Communication(synchronization)  4 runtime:   0.449422 s
Communication(synchronization)  5 runtime:   0.647259 s
Communication(synchronization)  6 runtime:   0.457027 s
Communication(synchronization)  7 runtime:   0.457691 s
Communication(synchronization)  8 runtime:   0.67568 s
Communication(synchronization)  9 runtime:   0.736285 s

详细数据参见:https://github.com/opendp/dpdk-ans



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

mTCP 和 DPDK 构造百万千万并发TCP连接

mTCP是一个userspace TCP协议栈. 适用于多核CPU,高可扩展性. 结合 userspace I/O packet engine 如 DPDK, netmap, psio. 可并发百万千...

dpdk中文-mbuf的基本操作

mbuf是报文中的描素的结构体,是整个转发过程中最核心的数据结构之一。主要针对于mbuf的常用API与基本原理做一个简单的介绍: 首先我们看一下rte_mbuf的数据结构的定义:先主要说明几个跟数据...

用户态TCP协议栈的调研

一、各种用户态socket的对比 1、MTCP 简单介绍: 韩国高校的一个科研项目,在DPDK的2016年的技术开发者大会上有讲,所以intel将这个也放到了官方上,所以一般搜索DPDK的用户态的协...

Linux网络编程socket模型介绍

socket是我们网络编程所必须的工具;至于什么是socket参考我另外一篇文章: http://blog.csdn.net/bestboyxie/article/details/52811381?...

volatile 分析

下面是valatite与普通变量的反汇编代码对比: 普通没有加valatite变量再执行自加运算时: 1。把值放入rbp寄存器中 2。直接将变量寄存器进行自加操作; 3。清零eax寄存器 加...

DPDK中文-mTCP编译

下载mTCP源码 https://github.com/eunyoung14/mtcp 解压 unzip mtcp-master.zip (git clone 跳过这个阶段) 安装libnuma库支持...

基于dpdk的redis,性能大大提高

基于dpdk的userspace 协议栈上的redis,一个lcore性能大大提高,redis的性能也大大提高。 ====ENV=== CPU:Intel(R) Xeon(R) CPU...

移植Free BSD TCP/IP stack到dpdk-架构

dpdk介绍

linux入门-使用vs2015开发与调试linux下应用

1、常见Linux下开发的流程 linux :vim/emacs +GDB windows+linux:source insight+winscp+GDB 都无法解决一个问题GDB调试需要学习大...

转载-TCP协议实现原理

TCP协议是端到端的传输控制协议,之所以是“端到端”的协议,是因为”路由“是由IP协议负责的,TCP协议负责为两个通信端点提供可靠性保证,这个可靠性不是指一个端点发送的数据,另一个端点肯定能收到(这显...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)