深入浅出DPDK - (EPUB全文下载)

文件大小:0.46 mb。
文件格式:epub 格式。
书籍内容:

深入浅出DPDK
第1章 认识DPDK
1.1 主流包处理硬件平台
1.2 初识DPDK
1.3 解读数据包处理能力
1.4 探索IA处理器上最艰巨的任务
1.5 软件包处理的潜力——再识DPDK
1.6 从融合的角度看DPDK
1.7 实例
1.8 小结
第2章 Cache和内存
2.2 Cache系统简介
2.3 Cache地址映射和变换
2.4 Cache的写策略
2.5 Cache预取
2.6 Cache一致性
2.7 TLB和大页
2.8 DDIO
2.9 NUMA系统
第3章 并行计算
3.1 多核性能和可扩展性
3.2 指令并发与数据并行
3.3 小结
第4章 同步互斥机制
4.1 原子操作
4.2 读写锁
4.3 自旋锁
4.4 无锁机制
4.5 小结
第5章 报文转发
5.1 网络处理模块划分
5.2 转发框架介绍
5.3 转发算法
5.4 小结
第6章 PCIe与包处理I/O
6.1 从PCIe事务的角度看包处理
6.2 PCIe上的数据传输能力
6.3 网卡DMA描述符环形队列
6.4 数据包收发——CPU和I/O的协奏
6.5 PCIe的净荷转发带宽
6.6 Mbuf与Mempool
6.7 小结
第7章 网卡性能优化
7.1 DPDK的轮询模式
7.2 网卡I/O性能优化
7.3 平台优化及其配置调优
7.4 队列长度及各种阈值的设置
7.5 小结
第8章 流分类与多队列
8.1 多队列
8.2 流分类
8.3 流分类技术的使用
8.4 可重构匹配表
8.5 小结
第9章 硬件加速与功能卸载
9.1 硬件卸载简介
9.2 网卡硬件卸载功能
9.3 DPDK软件接口
9.4 硬件与软件功能实现
9.5 计算及更新功能卸载
9.6 分片功能卸载
9.7 组包功能卸载
9.8 小结
第二部分 DPDK虚拟化技术篇
第10章 X86平台上的I/O虚拟化
10.1 X86平台虚拟化概述
10.2 I/O透传虚拟化
10.3 PCIe网卡透传下的收发包流程
10.4 I/O透传虚拟化配置的常见问题
10.5 小结
第11章 半虚拟化Virtio
11.1 Virtio使用场景
11.2 Virtio规范和原理
11.3 Virtio网络设备驱动设计
11.4 小结
第12章 加速包处理的vhost优化方案
12.1 vhost的演进和原理
12.2 基于DPDK的用户态vhost设计
12.3 DPDK vhost编程实例
12.4 小结
第三部分 DPDK应用篇
第13章 DPDK与网络功能虚拟化
13.1 网络功能虚拟化
13.2 OPNFV与DPDK
13.3 NFV的部署
13.4 VNF部署的形态
13.5 VNF自身特性的评估
13.6 VNF的设计
13.7 实例解析和商业案例
13.8 小结
第14章 Open vSwitch(OVS)中的DPDK性能加速
14.1 虚拟交换机简介
14.2 OVS简介
14.3 DPDK加速的OVS
14.4 小结
第15章 基于DPDK的存储软件优化
15.1 基于以太网的存储系统
15.2 以太网存储系统的优化
15.3 SPDK介绍
15.4 小结
附录A 缩略词
附录B 推荐阅读
第1章 认识DPDK
什么是DPDK?对于用户来说,它可能是一个性能出色的包数据处理加速软件库;对于开发者来说,它可能是一个实践包处理新想法的创新工场;对于性能调优者来说,它可能又是一个绝佳的成果分享平台。当下火热的网络功能虚拟化,则将DPDK放在一个重要的基石位置。虽然很难用短短几语就勾勒出DPDK的完整轮廓,但随着认识的深入,我们相信你一定能够认可它传播的那些最佳实践方法,从而将这些理念带到更广泛的多核数据包处理的生产实践中去。
DPDK最初的动机很简单,就是证明IA多核处理器能够支撑高性能数据包处理。随着早期目标的达成和更多通用处理器体系的加入,DPDK逐渐成为通用多核处理器高性能数据包处理的业界标杆。
1.1 主流包处理硬件平台
DPDK用软件的方式在通用多核处理器上演绎着数据包处理的新篇章,而对于数据包处理,多核处理器显然不是唯一的平台。支撑包处理的主流硬件平台大致可分为三个方向。
·硬件加速器
·网络处理器
·多核处理器
根据处理内容、复杂度、成本、量产规模等因素的不同,这些平台在各自特定的领域都有一定的优势。硬件加速器对于本身规模化的固化功能具有高性能低成本的特点,网络处理器提供了包处理逻辑软件可编程的能力,在获得灵活性的同时兼顾了高性能的硬件包处理,多核处理器在更为复杂多变的高层包处理上拥有优势,随着包处理的开源生态系统逐渐丰富,以及近年来性能的不断提升,其为软件定义的包处理提供了快速迭代的平台。参见[Ref1-2]。
随着现代处理器的创新与发展(如异构化),开始集成新的加速处理与高速IO单元,它们互相之间不断地融合。在一些多核处理器中,已能看到硬件加速单元的身影。从软件包处理的角度,可以卸载部分功能到那些硬件加速单元进一步提升性能瓶颈;从硬件包处理的流水线来看,多核上运行的软件完成了难以固化的上层多变逻辑的任务;二者相得益彰。
1.1.1 硬件加速器
硬件加速器被广泛应用于包处理领域,ASIC和FPGA是其中最广为采用的器件。
ASIC(Application-Specific Integrated Circuit)是一种应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的优点是面向特定用户的需求,在批量生产时与通用集成电路相比体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等。但ASIC的缺点也很明显,它的灵活性和扩展性不够、开发费用高、开发周期长。
为了弥补本身的一些缺点,ASIC越来越多地按照加速引擎的思路来构建,结合通用处理器的特点,融合成片上系统(SoC)提供异构处理能力,使得ASIC带上了智能(Smart)的标签。
FPGA(Field-Programmable Gate Array)即现场可编程门 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 深入浅出DPDK - (EPUB全文下载)