深入浅出DPDK[图书]
展现软件优化的极致魅力,百万兆高性能网络就在身边。
剖析数据面软件中的核心算法和关键技术,全面展示DPDK与NFV的深度融合。
- 定价:¥69.00
- 校园优惠价:¥69.00 (100折) (马上了解)
- 评分:
(已有3条评价)
- 电子书:深入浅出DPDK[图书]
- 促销活动:
- 我要买:
基本信息

编辑推荐
难得的NFV数据面软件书籍,全面系统地阐述硬件平台和数据面软件中一系列关键技术。
权威的数据面软件开发指南, 深入剖析核心算法的原理及详尽的DPDK编程实践。
最前沿的数据面产业应用和动向,全面介绍DPDK与NFV、软件存储等领域的深度融合的案例。
内容简介
计算机书籍
近年来,随着半导体和多核计算机体系结构技术的不断创新和市场的发展,越来越多的网络设备基础架构开始向基于通用处理器平台的架构方向融合,期望用更低的成本和更短的产品开发周期来提供多样的网络单元和丰富的功能,如应用处理、控制处理、包处理、信号处理等。为了适应这一新的产业趋势,英特尔公司十年磨一剑,联合第三方软件开发公司及时推出了基于Intel? x86的架构DPDK(Data Plane Development Kit,数据平面开发套件),实现了高效灵活的包处理解决方案。经过近3年的开源与飞速发展,DPDK已经发展成业界公认的高性能网卡和多通用处理器平台的开源软件工具包,并已成为通用处理器平台上影响力最大的数据平面解决方案。主流的Linux发行版都已经将DPDK纳入,DPDK引发了基于Linux的高速网络技术的创新热潮,除了在传统的通信网络、安全设施领域应用之外,还被广泛应用于云计算、虚拟交换、存储网络甚至数据库、金融交易系统。
本书汇聚了最资深的DPDK技术专家的精辟见解和实战体验,详细介绍了DPDK技术的发展趋势、数据包处理、硬件加速技术、虚拟化以及DPDK技术在SDN、NFV、网络存储等领域的实际应用。书中还使用大量的篇幅讲解各种核心软件算法、数据优化思想,并包括大量详尽的实战心得和使用指南。
作为国内第一本全面阐述网络数据面的核心技术的书籍,本书主要面向IT、网络通信行业的从业人员,以及大专院校的师生,用通俗易懂的文字打开了一扇通向新一代网络处理架构的大门。DPDK完全依赖软件,对Linux的报文处理能力做了重大革新,它的发展历程是一个不可多得的理论联系实际的教科书般的实例。
作译者
陈静:湖北省沙市人,2006年毕业于华中科技大学,硕士。现为英特尔软件开发工程师,主要从事DPDK网卡驱动的开发和性能调优工作。
何少鹏:江西省萍乡人,毕业于上海交通大学,硕士。现为英特尔DPDK软件工程师,开发网络设备相关软件超过十年,也有数年从事互联网应用和SDN硬件设计工作。
胡雪焜:江西省南昌人,毕业于中国科学技术大学计算机系,硕士。现为英特尔网络通信平台部门应用工程师,主要研究底层虚拟化技术和基于IA架构的数据面性能优化,以及对网络演进的影响,具有丰富的SDN/NFV商业实践经验。
梁存铭:英特尔资深软件工程师,在计算机网络领域具有丰富的实践开发经验,提交过多项美国专利。作为DPDK早期贡献者之一,在PCIe高性能加速、I/O虚拟化、IA指令优化、改善闲时效率、协议栈优化等方面有较深入的研究。
刘继江:黑龙江省七台河人,毕业于青岛海洋大学自动化系,现主要从事DPDK网卡驱动程序和虚拟化研发,和overlay网络的性能优化工作。
陆文卓:安徽省淮南人,2004年毕业于南京大学计算机系,硕士。现为英特尔中国研发中心软件工程师。在无线通信、有线网络方面均有超过十年的从业经验。
欧阳长春:2006年毕业于华中科技大学计算机系,硕士。目前在阿里云任开发专家,从事网络虚拟化开发及优化,在数据报文加速、深度报文检测、网络虚拟化方面具有丰富开发经验。
仇大玉:江苏省南京人,2012年毕业于东南大学,硕士。现为英特尔亚太研发有限公司软件工程师,主要从事DPDK软件开发和测试工作。
陶喆:上海交通大学学士,上海大学硕士。先后在思科和英特尔从事网络相关的设备、协议栈和虚拟化的开发工作。曾获CCIE R&S认证。
万群:江西省南昌人,毕业于西安交通大学计算机系,硕士。现为英特尔上海研发中心研发工程师。从事测试领域的研究及实践近十年,对测试方法及项目管理有相当丰富的经验。
王志宏:四川省绵阳人,2011年毕业于华东师范大学,硕士。现为英特尔亚太研发中心高级软件工程师,主要工作方向为DPDK虚拟化中的性能分析与优化。
吴菁菁:江苏省扬州人,2007年毕业于西安交通大学电信系,硕士。现为英特尔软件工程师,主要从事DPDK软件开发工作。
许茜:浙江省杭州市人,毕业于浙江大学信电系,硕士,现为英特尔网络处理事业部软件测试人员,主要负责DPDK相关的虚拟化测试和性能测试。
杨子夜:2009年毕业于复旦大学软件学院,硕士。现为英特尔高级软件工程师,从事存储软件开发和优化工作,在虚拟化、存储、云安全等领域拥有5个相关专利以及20项申请。
张合林:湖南省湘潭人,2004年毕业于东华大学,工学硕士。现主要从事DPDK网卡驱动程序研发及性能优化工作。
张帆:湖南省长沙人,爱尔兰利莫里克大学计算机网络信息学博士。现为英特尔公司爱尔兰分部网络软件工程师,湖南省湘潭大学兼职教授。近年专著有《Comparative Performance and Energy Consumption Analysis of Different AES Implementations on a Wireless Sensor Network Node》等。发表SCI/EI检索国际期刊及会议论文3篇。目前主要从事英特尔DPDK在SDN应用方面的扩展研究工作。
朱河清:江苏省靖江人,毕业于电子科技大学数据通信与计算机网络专业,硕士,现为英特尔DPDK与Hyperscan软件经理,在英特尔、阿尔卡特、华为、朗讯有15年通信网络设备研发与开源软件开发经验。
Venky Venkatesan:毕业于印度孟买大学,现为英特尔网络产品集团高级主任工程师(Sr PE),DPDK初始架构师,在美国Oregon负责报文处理与加速的系统架构与软件创新工作。
目录
引言
作者介绍
第一部分 DPDK基础篇
第1章 认识DPDK 3
1.1 主流包处理硬件平台 3
1.1.1 硬件加速器 4
1.1.2 网络处理器 4
1.1.3 多核处理器 5
1.2 初识DPDK 7
1.2.1 IA不适合进行数据包处理吗 7
1.2.2 DPDK最佳实践 9
1.2.3 DPDK框架简介 10
1.2.4 寻找性能优化的天花板 11
1.3 解读数据包处理能力 12
1.4 探索IA处理器上最艰巨的任务 13
1.5 软件包处理的潜力——再识DPDK 14
1.5.1 DPDK加速网络节点 14
1.5.2 DPDK加速计算节点 15
1.5.3 DPDK加速存储节点 15
前言
2015年4月,第一届DPDK中国峰会在北京成功召开。来自中国移动、中国电信、阿里巴巴、IBM、Intel、华为以及中兴的专家朋友登台演讲,一起分享了以DPDK为中心的技术主题。表1列出了2015 DPDK中国峰会的主题及演讲者。
表12015 DPDK中国峰会主题及演讲者
主题 演讲者 公司
利用DPDK加速NFV 邓辉 中国移动
利用DPDK优化云基础设施 孙成浩 阿里巴巴
构建core以及高能效应用的最佳实践 梁存铭 Intel
基于英特尔ONP构建虚拟化的IP接入方案 欧亮 中国电信
DPDK加速无线数据核心网络 陈东华 中兴
电信业务场景下的数据面挑战 刘郡 华为
运行于Power架构下的DPDK和数据转发 祝超 IBM
这次会议吸引了来自各行业、科研单位与高校的200多名开发人员、专家和企业代表参会。会上问答交流非常热烈,会后我们就想,也许是时间写一本介绍DPDK、探讨NFV数据面的技术书籍。现在,很多公司在招聘网络和系统软件人才时,甚至会将DPDK作为一项技能罗列在招聘要求中。DPDK从一个最初的小众技术,经过10年的孕育,慢慢走来,直至今日已经逐渐被越来越多的通信、云基础架构厂商接受。同时,互联网上也出现不少介绍DPDK基础理论的文章和博客,从不同的角度对DPDK技术进行剖析和应用,其中很多观点非常新颖。作为DPDK的中国开发团队人员,我们意识到如果能够提供一本DPDK的书籍,进行一些系统性的梳理,将核心的原理进行深入分析,可以更好地加速DPDK技术的普及,触发更多的软件创新,促进行业的新技术发展。于是,就萌发了写这本书的初衷。当然,我们心里既有创作的激动骄傲,也有些犹豫忐忑,写书不是一件简单的事情,但经过讨论和考量,我们逐渐变得坚定,这是一本集结团队智慧的尝试。我们希望能够把DPDK的技术深入浅出地解释清楚,让更多的从业人员和高校师生了解并使用DPDK,促进DPDK发展日新月异,兴起百家争鸣的局面,这是我们最大的愿景。
多核
2005年的夏天,刚加入Intel的我们畅想着CPU多核时代的到来给软件业带来的挑战与机会。如果要充分利用多核处理器,需要软件针对并行化做大量改进,传统软件的并行化程度不高,在多核以前,软件依靠CPU频率提升自动获得更高性能。并行化改进不是一件简单的工作,许多软件需要重新设计,基本很难在短期实现,整个计算机行业都对此纠结了很久。2005年以前,整个CPU的发展历史,是不断提升芯片运算频率核心的做法,软件性能会随着处理器的频率升高,即使软件不做改动,性能也会跟着上一个台阶。但这样的逻辑进入多核时代已无法实现。首先我们来看看表2所示的Intel?多核处理器演进。
表2Intel?多核处理器演进的历史图表
Xeon处理器代码 制造工艺 最大核心数量 发布时间 超线程 双路服务器可
使用核心数量
WoodCrest 65nm ??2 2006年6月 否 ??4
Nehalem-EP 45nm ??4 2009年7月 是 16
Westmere-EP 32nm ??6 2010年2月 是 24
序言
作为运营商研发队伍的一员,我们无时不刻都能感受到NFV这个话题的灼热度。作为网络演进的大趋势,NFV将在未来为运营商实现网络重构扮演重要的角色。然而,大家都知道,NFV技术的发展之路存在各种屏障,性能问题是一道迈不过去的坎。这个问题的复杂性在于,它涉及I/O、操作系统内核、协议栈和虚拟化等多个层面对网络报文的优化处理技术。虽然IT界已发展出多类小众技术来应对,但这些技术对于普通应用技术人员而言比较陌生,即使对于传统网络的开发者而言,全面掌握这些技术也存在巨大的挑战。长久以来,用户更希望在这个领域有系统性的解决方案,能把相关的技术融会贯通,并系统性地组织在一起,同时也需要更为深入的细节技术支持工作。
DPDK的到来正逢其时,它之所以能脱颖而出,并迅速发展为业界在NFV加速领域的一种标杆技术,在于它不仅是上述技术的集大成者,更重要的是它的开放性和持续迭代能力,这些都得益于DPDK背后这支强大的专业研发团队,而本书的专业功力也可见一斑。
作为运营商的网络研发队伍,我们已关注DPDK近3年,尽管学习过DPDK部分源码和大量社区文档,也组织通过大量的DPDK相关NFV测试验证,但我们仍然觉得迫切需要系统性地介绍现代服务器体系架构,以及虚拟化环境下I/O优化的最新技术。令人倍感欣慰的是,本书作者对DPDK的讲解游刃有余,系统全面的同时又不乏敏锐的产业视角。可以说,深入浅出是本书最大的特点。
形而上者谓之道,形而下者谓之器。书中一方面透彻地讲解了现代处理器体系架构、网络I/O、内核优化和I/O虚拟化的原理与技术发展史,在这个“道用”的基础上,另一方面也清晰地介绍了DPDK细节性的“器用”知识,包括并行处理、队列调度、I/O调优、VNF加速等大量方法与应用,两方面相得益彰。结合DPDK社区的开源代码和动手实践,相信读者仔细学习完本书,必能加快对NFV性能关键技术的领悟。本书的受益对象首先是那些立志跨界转型的NFV研发工程师,也面向高等院校计算机专业希望在体系架构方面有更深发展的在校生,更包括像我们这样关注DPDK应用场景、NFVI集成和测试技术的最终用户。我们衷心感谢作者为业界带来的全新技术指引。这本书就像一粒种子,其中蕴含的知识未来定会在NFV这片沃土上枝繁叶茂,开花结果。
严格地讲,我们的团队只是DPDK用户的用户,我们研究DPDK的目的并非针对DPDK本身,而是为NFV的集成和开发提供一个准确的、可供评估的NFVI性能基准,减少各类网络功能组件在私有的优化过程中存在的不稳定风险。从对DPDK的初步评测来看,结果令人满意甚至超出预期,但我们仍应清醒地认识到,DPDK作为NFV加速技术架构仍有很长的路要走,打造成熟、规范和完善的产业链是近期要解决的重要课题。我们呼吁也乐见有更多的朋友加入DPDK应用推广的行列,众志成城,汇聚成一股SDN时代的创新洪流。
欧亮博士中国电信广州研究院
媒体评论
一一Sandra Rivera,英特尔数据中心网络平台事业部总裁
英特尔平台在软件优化方面拥有巨大的潜力,DPDK是一个非常出色的例子。过去10年是我人生中尤为珍贵的旅程,我有幸主持DPDK开发计划,亲眼见证DPDK从最初一个很小的软件库起步,逐步完善原型设计,获得客户认可。伴随着多核时代和高速以太网时代的到来,DPDK在电信业、云计算和企业服务中掀起了一股网络技术革新的浪潮。在未来几年,我们即将看到全行业开源步伐加快,最近思科公司VPP在www.fd.io发布是一个优秀的实践。我们很幸运,能够成为网络技术革新的领导者。
——St Leger,Jim,英特尔网络事业部软件产品总监
软件正在改变世界,DPDK这样的开源软件展示了软件在高速的网络报文处理中的魅力。本书能够帮助广大学生在系统地学习理论知识的同时紧密联系实际工程和应用,具有相当不错的参考价值。
一一金耀辉教授,上海交通大学网络中心