您好,欢迎来到聚文网。 登录 免费注册
深入浅出DPDK

深入浅出DPDK

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 朱河清 等 编著
  • 出版日期: 2016-05-01
  • 商品条码: 9787111537830
  • 版次: 1
  • 开本: 16开
  • 页数: 267
  • 出版年份: 2016
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书汇聚了很资历的DPDK技术专家的精辟见解和实战体验,详细介绍了DPDK技术的发展趋势、数据包处理、硬件加速技术、虚拟化,以及DPDK技术在SDN、NFV、网络存储等领域的实际应用。作为靠前第 一本全面阐述网络数据面核心技术的书籍,本书主要面向IT、网络通信行业的从业人员,以及大专院校的学生。
目录
序言
引言
作者介绍
第一部分DPDK基础篇
第1章认识DPDK3
1.1主流包处理硬件平台3
1.1.1硬件加速器4
1.1.2网络处理器4
1.1.3多核处理器5
1.2初识DPDK7
1.2.1IA不适合进行数据包处理吗7
1.2.2DPDK实践9
1.2.3DPDK框架简介10
1.2.4寻找性能优化的天花板11
1.3解读数据包处理能力12
1.4探索IA处理器上巨的任务13
1.5软件包处理的潜力——再识DPDK14
1.5.1DPDK加速网络节点14
1.5.2DPDK加速计算节点15
1.5.3DPDK加速存储节点15
1.5.4DPDK的方法论16
1.6从融合的角度看DPDK16
1.7实例17
1.7.1HelloWorld17
1.7.2Skeleton19
1.7.3L3fwd22
1.8小结25
第2章Cache和内存26
2.1存储系统简介26
2.1.1系统架构的演进26
2.1.2内存子系统28
2.2Cache系统简介29
2.2.1Cache的种类29
2.2.2TLBCache30
2.3Cache地址映射和变换31
2.3.1全关联型Cache32
2.3.2直接关联型Cache32
2.3.3组关联型Cache33
2.4Cache的写策略34
2.5Cache预取35
2.5.1Cache的预取原理35
2.5.2NetBurst架构处理器上的预取36
2.5.3两个执行效率迥异的程序37
2.5.4软件预取38
2.6Cache一致性41
2.6.1CacheLine对齐41
2.6.2Cache一致性问题的由来42
2.6.3一致性协议43
2.6.4MESI协议44
2.6.5DPDK如何保证Cache一致性45
2.7TLB和大页47
2.7.1逻辑地址到物理地址的转换47
2.7.2TLB48
2.7.3使用大页49
2.7.4如何激活大页49
2.8DDIO50
2.8.1时代背景50
2.8.2网卡的读数据操作51
2.8.3网卡的写数据操作53
2.9NUMA系统54
第3章并行计算57
3.1多核性能和可扩展性57
3.1.1追求性能水平扩展57
3.1.2多核处理器58
3.1.3亲和性61
3.1.4DPDK的多线程63
3.2指令并发与数据并行66
3.2.1指令并发67
3.2.2单指令多数据68
3.3小结70
第4章同步互斥机制71
4.1原子操作71
4.1.1处理器上的原子操作71
4.1.2Linux内核原子操作72
4.1.3DPDK原子操作实现和应用74
4.2读写锁76
4.2.1Linux读写锁主要API77
4.2.2DPDK读写锁实现和应用78
4.3自旋锁79
4.3.1自旋锁的缺点79
4.3.2Linux自旋锁API79
4.3.3DPDK自旋锁实现和应用80
4.4无锁机制81
4.4.1Linux内核无锁环形缓冲81
4.4.2DPDK无锁环形缓冲82
4.5小结89
第5章报文转发90
5.1网络处理模块划分90
5.2转发框架介绍91
5.2.1DPDKruntocompletion模型94
5.2.2DPDKpipeline模型95
5.3转发算法97
5.3.1准确匹配算法97
5.3.2前缀匹配算法100
5.3.3ACL算法102
5.3.4报文分发103
5.4小结104
第6章PCIe与包处理I/O105
6.1从PCIe事务的角度看包处理105
6.1.1PCIe概览105
6.1.2PCIe事务传输105
6.1.3PCIe带宽107
6.2PCIe上的数据传输能力108
6.3网卡DMA描述符环形队列109
6.4数据包收发——CPU和I/O的协奏111
6.4.1全景分析111
6.4.2优化的考虑113
6.5PCIe的净荷转发带宽113
6.6Mbuf与Mempool114
6.6.1Mbuf114
6.6.2Mempool117
6.7小结117
第7章网卡性能优化118
7.1DPDK的轮询模式118
7.1.1异步中断模式118
7.1.2轮询模式119
7.1.3混和中断轮询模式120
7.2网卡I/O性能优化121
7.2.1Burst收发包的优点121
7.2.2批处理和时延隐藏124
7.2.3利用IntelSIMD指令进一步并行化包收发127
7.3平台优化及其配置调优128
7.3.1硬件平台对包处理性能的影响129
7.3.2软件平台对包处理性能的影响133
7.4队列长度及各种阈值的设置136
7.4.1收包队列长度136
7.4.2发包队列长度137
7.4.3收包队列可释放描述符数量阈值(rx_free_thresh)137
7.4.4发包队列发送结果报告阈值(tx_rs_thresh)137
7.4.5发包描述符释放阈值(tx_free_thresh)138
7.5小结138
第8章流分类与多队列139
8.1多队列139
8.1.1网卡多队列的由来139
8.1.2Linux内核对多队列的支持140
8.1.3DPDK与多队列142
8.1.4队列分配144
8.2流分类144
8.2.1包的类型144
8.2.2RSS145
8.2.3FlowDirector146
8.2.4服务质量148
8.2.5虚拟化流分类方式150
8.2.6流过滤150
8.3流分类技术的使用151
8.3.1DPDK结合网卡FlowDirector功能152
8.3.2DPDK结合网卡虚拟化及CloudFilter功能155
8.4可重构匹配表156
8.5小结157
第9章硬件加速与功能卸载158
9.1硬件卸载简介158
9.2网卡硬件卸载功能159
9.3DPDK软件接口160
9.4硬件与软件功能实现161
9.5计算及更新功能卸载162
9.5.1VLAN硬件卸载162
9.5.2IEEE1588硬件卸载功能165
9.5.3IPTCP/UDP/SCTPchecksum硬件卸载功能167
9.5.4Tunnel硬件卸载功能168
9.6分片功能卸载169
9.7组包功能卸载170
9.8小结172
第二部分DPDK虚拟化技术篇
第10章X86平台上的I/O虚拟化175
10.1X86平台虚拟化概述176
10.1.1CPU虚拟化176
10.1.2内存虚拟化177
10.1.3I/O虚拟化178
10.2I/O透传虚拟化180
10.2.1IntelVT-d简介180
10.2.2PCIeSR-IOV概述181
10.3PCIe网卡透传下的收发包流程183
10.4I/O透传虚拟化配置的常见问题184
10.5小结184
第11章半虚拟化Virtio185
11.1Virtio使用场景185
11.2Virtio规范和原理186
11.2.1设备的配置187
11.2.2虚拟队列的配置190
11.2.3设备的使用192
11.3Virtio网络设备驱动设计193
11.3.1Virtio网络设备Linux内核驱动设计193
11.3.2基于DPDK用户空间的Virtio网络设备驱动设计以及性能优化196
11.4小结198
第12章加速包处理的vhost优化方案199
12.1vhost的演进和原理199
12.1.1Qemu与virtio-net199
12.1.2Linux内核态vhost-net200
12.1.3用户态vhost201
12.2基于DPDK的用户态vhost设计201
12.2.1消息机制202
12.2.2地址转换和映射虚拟机内存203
12.2.3vhost特性协商204
……

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网