- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DPDKL2fwd代码走读报告(代码流程分析)课件
****DPDK 学习L2 fwd代码走读报告导师:*** 学生:***
2016-2-18
目录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc443582088 一、对于DPDK的认识: PAGEREF _Toc443582088 \h 2
HYPERLINK \l _Toc443582089 二、对L2 fwd的认识: PAGEREF _Toc443582089 \h 3
HYPERLINK \l _Toc443582090 2.1运行配置 PAGEREF _Toc443582090 \h 3
HYPERLINK \l _Toc443582091 2.2运行环境搭建 PAGEREF _Toc443582091 \h 4
HYPERLINK \l _Toc443582092 2.3功能分析: PAGEREF _Toc443582092 \h 6
HYPERLINK \l _Toc443582093 2.4详细流程图(调用关系)如下: PAGEREF _Toc443582093 \h 6
HYPERLINK \l _Toc443582094 2.5运行截图 PAGEREF _Toc443582094 \h 8
HYPERLINK \l _Toc443582095 2.6详细代码注释分析: PAGEREF _Toc443582095 \h 8
一、对于DPDK的认识:
主要应用x86通用平台,转发处理网络数据包,定位在不需要专用网络处理器,但通用网络处理器对数据处理性能又不能满足需求的客户。
DPDK,搭载x86服务器,成本变化不大,但对数据的处理性能又有非常显著的提高,对传统linux技术做一定的优化,特别之处在于:hugepage,uio,zero copy, cpu affinity等。
关于hugetlbpage(在这块大页面上做自己的内存管理系统),之前讲过,它的主要好处当然是通过利用大内存页提高内存使用效率,。由于DPDK是应用层平台,所以与此紧密相连的网卡驱动程序(当然,主要是intel自身的千兆igb与万兆ixgbe驱动程序)都通过uio(用户层驱动、轮询、0拷贝)机制运行在用户态下。cpu affinity(多核架构,核线程绑定物理核)机制是多核cpu发展的结果,,在越来越多核心的cpu机器上,如何提高外设以及程序工作效率的最直观想法就是让各个cpu核心各自干专门的事情,比如两个网卡eth0和eth1都收包,可以让cpu0专心处理eth0,cpu1专心处理eth1,没必要cpu0一下处理eth0,一下又处理eth1,还有一个网卡多队列的情况也是类似,等等,DPDK利用cpu affinity主要是将控制面线程以及各个数据面线程绑定到不同的cpu,省却了来回反复调度的性能消耗,各个线程一个while死循环,专心致志的做事,互不干扰(当然还是有通信的,比如控制面接收用户配置,转而传递给数据面的参数设置等)。
总结如下:
1、 使用大页缓存支持来提高内存访问效率。
2、 利用UIO支持,提供应用空间下驱动程序的支持,也就是说网卡驱动是运行在用户空间 的,减下了报文在用户空间和应用空间的多次拷贝。
3、 利用LINUX亲和性支持,把控制面线程及各个数据面线程绑定到不同的CPU核,节省了 线程在各个CPU核来回调度。
4、 提供内存池和无锁环形缓存管理,加快内存访问效率。
在x86服务器,1G/10G/40G网卡包转发,64Byte小包,基本能做到70%以上的转发,而传统linux系统只能达5%左右,在网络大数据流时代,DPDK加码,优势明显。
二、对L2 fwd的认识:
2.1运行配置
虚拟机软件:VMWare WorkStation?12.0.0 build-2985596CPU: 2个CPU, 每个CPU 2个核心内存: 1GB+网卡:intel网卡*2, 用于dpdk试验;另一块网卡用于和宿主系统进行通信
2.2运行环境搭建
在root权限下:
1)编译dpdk
进入dpdk主目录dpdk,输入
make install T=x86_64-native-linuxapp-gcc进行编译
2)配置大页内存(非NUMA)
echo 128 /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
mkdir /mnt/huge
mount -t hugetlbfs nodev /mnt/huge
可以用以下命令查看大页内存状态:
cat /pro
您可能关注的文档
- 拓扑学练习题详解.doc
- Devicenet诊断课件.ppt
- DevelopandtuneapplicationonPower_L3_移植调优案例分享_v3课件.ppt
- 拓巨LWH-25汽车外廓尺寸自动测量仪产品宣传册详解.doc
- dexie_Platform_2010Fall_03_移动式平台的重量与重心课件.ppt
- DCN网络设计课件.ppt
- 拖地车课程设计说明书详解.doc
- Desktop使用手册课件.pptx
- DFB简介课件.ppt
- 拖把市场分析(初级版)详解.pptx
- 七章货物的保险.pptx
- 三章国际间接投资.pptx
- 人性假设理论.pptx
- 外研高一英语必修三ModuleIntroduction汇总市公开课获奖课件省名师示范课获奖课件.pptx
- 月相成因优质获奖课件.pptx
- 小学二年级语文课件《狐假虎威》省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 养羊业概况专题知识讲座.pptx
- 微生物的实验室培养市公开课获奖课件省名师示范课获奖课件.pptx
- 人教版六年级下册式与方程整理与复习市公开课获奖课件省名师示范课获奖课件.pptx
- 必威体育精装版高中精品语文教学:第二单元-第7课-诗三首:涉江采芙蓉、-短歌行、归园田居市公开课获奖课件省名师.pptx
文档评论(0)