欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > 其他教程 > 深入浅出DPDK (朱河清等著) 【PDF】【9.86MB】

深入浅出DPDK (朱河清等著) 【PDF】【9.86MB】

2018-12-20 3673 收藏 0 赞一个 2 真差劲 3 去评论 去下载

内容简介

本书汇聚了最资深的DPDK技术专家的精辟见解和实战体验,详细介绍了DPDK技术的发展趋势、数据包处理、硬件加速技术、虚拟化,以及DPDK技术在SDN、NFV、网络存储等领域的实际应用。作为国内第一本全面阐述网络数据面核心技术的书籍,本书主要面向IT、网络通信行业的从业人员,以及大专院校的学生。

目录

序  言引  言作者介绍第一部分 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.1IA不适合进行数据包处理吗  7
1.2.2DPDK最佳实践  9
1.2.3DPDK框架简介  10
1.2.4 寻找性能优化的天花板 11
1.3 解读数据包处理能力  12
1.4 探索IA处理器上最艰巨的任务  13
1.5 软件包处理的潜力——再识DPDK 14
1.5.1DPDK加速网络节点  14
1.5.2DPDK加速计算节点  15
1.5.3DPDK加速存储节点  15
1.5.4DPDK的方法论  16
1.6 从融合的角度看DPDK 16
1.7 实例  17
1.7.1HelloWorld 17
1.7.2Skeleton 19
1.7.3L3fwd  22
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.2TLB Cache 30
2.3Cache地址映射和变换  31
2.3.1 全关联型Cache 32
2.3.2 直接关联型Cache 32
2.3.3 组关联型Cache 33
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.1Cache Line对齐  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.2TLB  48
2.7.3 使用大页  49
2.7.4 如何激活大页  49
2.8DDIO  50
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读写锁主要API  77
4.2.2DPDK读写锁实现和应用  78
4.3 自旋锁  79
4.3.1 自旋锁的缺点  79
4.3.2Linux自旋锁API  79
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.1DPDK run to completion模型  94
5.2.2DPDK pipeline模型  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/O  105
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与Mempool  114
6.6.1Mbuf  114
6.6.2Mempool 117
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 利用Intel SIMD指令进一步并行化包收发  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.2RSS  145
8.2.3Flow Director 146
8.2.4 服务质量  148
8.2.5 虚拟化流分类方式 150
8.2.6 流过滤  150
8.3 流分类技术的使用  151
8.3.1DPDK结合网卡Flow Director功能  152
8.3.2DPDK结合网卡虚拟化及Cloud Filter功能  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.3IP TCP/UDP/SCTP checksum硬件卸载功能  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.1Intel? VT-d简介  180
10.2.2PCIe SR-IOV概述  181
10.3PCIe网卡透传下的收发包流程  183
10.4I/O透传虚拟化配置的常见问题  184
10.5 小结  184第11章 半虚拟化Virtio  185
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-net  199
12.1.2Linux内核态vhost-net  200
12.1.3 用户态vhost 201
12.2 基于DPDK的用户态vhost设计  201
12.2.1 消息机制  202
12.2.2 地址转换和映射虚拟机内存 203
12.2.3vhost特性协商  204
12.2.4virtio-net设备管理  205
12.2.5vhost中的Checksum和TSO功能卸载 205
12.3DPDK vhost编程实例  206
12.3.1 报文收发接口介绍 206
12.3.2 使用DPDK vhost lib进行编程  207
12.3.3 使用DPDK vhost PMD进行编程  209
12.4 小结  210第三部分 DPDK应用篇第13章 DPDK与网络功能虚拟化  213
13.1 网络功能虚拟化  213
13.1.1 起源  213
13.1.2 发展  215
13.2OPNFV与DPDK  217
13.3NFV的部署  219
13.4VNF部署的形态  221
13.5VNF自身特性的评估  222
13.5.1 性能分析方法论 223
13.5.2 性能优化思路 224
13.6VNF的设计  225
13.6.1VNF虚拟网络接口的选择  225
13.6.2IVSHMEM共享内存的PCI设备  226
13.6.3 网卡轮询和混合中断轮询模式的选择 228
13.6.4 硬件加速功能的考虑 228
13.6.5 服务质量的保证 229
13.7 实例解析和商业案例 231
13.7.1Virtual BRAS 231
13.7.2Brocade vRouter 5600  235
13.8 小结  235第14章 Open vSwitch(OVS)中的DPDK性能加速  236
14.1 虚拟交换机简介  236
14.2OVS简介  237
14.3DPDK加速的OVS  239
14.3.1OVS的数据通路  239
14.3.2DPDK加速的数据通路  240
14.3.3DPDK加速的OVS性能比较  242
14.4 小结  244第15章 基于DPDK的存储软件优化  245
15.1 基于以太网的存储系统  246
15.2 以太网存储系统的优化 247
15.3SPDK介绍  249
15.3.1 基于DPDK的用户态TCP/IP栈  249
15.3.2 用户态存储驱动 254
15.3.3SPDK中iSCSI target实现与性能  257
15.4 小结  261附录A 缩略词  262附录B 推荐阅读  265

深入浅出DPDK (朱河清等著) 【PDF】【9.86MB】

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论