面向通用多核CPU的高性能网络I/O加速研究与实现
摘要 | 第9-10页 |
ABSTRACT | 第10-11页 |
第一章 绪论 | 第12-18页 |
1.1 研究背景 | 第12-14页 |
1.2 多核CPU网络I/O加速 | 第14-16页 |
1.3 主要工作和创新点 | 第16页 |
1.4 论文的组织结构 | 第16-18页 |
第二章 相关研究 | 第18-25页 |
2.1 PF_RING | 第18-19页 |
2.2 netmap高性能网络I/O框架 | 第19-21页 |
2.3 DPDK数据面开发套件 | 第21-22页 |
2.4 SDB硬件缓冲区管理 | 第22-23页 |
2.4.1 SDB的无中断轮询功能 | 第23页 |
2.4.2 SDB的CPU亲和机制 | 第23页 |
2.5 本章小结 | 第23-25页 |
第三章 NPDK开发环境 | 第25-47页 |
3.1 分层处理体系结构 | 第25-26页 |
3.2 分组转发模块功能 | 第26-35页 |
3.2.1 kLibNPE内核态模块功能 | 第26-29页 |
3.2.2 uLibNPE用户态模块功能 | 第29-35页 |
3.3 多核动态编程接口 | 第35-42页 |
3.3.1 内核态编程接口 | 第35-40页 |
3.3.2 用户态编程接口 | 第40-42页 |
3.4 分组处理流程 | 第42-46页 |
3.4.1 内核态分组处理流程 | 第42-44页 |
3.4.2 用户态分组处理流程 | 第44-46页 |
3.5 本章小结 | 第46-47页 |
第四章 NPDK实现的关键技术 | 第47-60页 |
4.1 虚拟网络驱动与接口管理 | 第47-54页 |
4.1.1 虚拟网络驱动架构实现 | 第47-49页 |
4.1.2 SDB与SKB报文格式转换 | 第49-52页 |
4.1.3 伸缩式虚拟接口管理 | 第52-54页 |
4.2 分组处理编程机制 | 第54-57页 |
4.2.1 内核态分组处理编程 | 第54-56页 |
4.2.2 用户态分组处理编程 | 第56-57页 |
4.3 内核与用户空间的双向地址转换技术 | 第57-59页 |
4.3.1 内存地址说明 | 第57-58页 |
4.3.2 基于双向地址转换的零拷贝技术 | 第58-59页 |
4.4 本章小结 | 第59-60页 |
第五章 基于NPDK的转发应用验证与分析 | 第60-67页 |
5.1 NPDK开发环境配置 | 第60-61页 |
5.2 实验环境与测试方案 | 第61-63页 |
5.2.1 实验环境 | 第61-62页 |
5.2.2 实验方案 | 第62-63页 |
5.3 测试数据结果与分析 | 第63-66页 |
5.3.1 I/O性能测试 | 第63-64页 |
5.3.2 应用性能测试 | 第64-66页 |
5.4 本章小结 | 第66-67页 |
第六章 结束语 | 第67-68页 |
6.1 本文总结 | 第67页 |
6.2 工作展望 | 第67-68页 |
致谢 | 第68-69页 |
参考文献 | 第69-72页 |
作者在学期间取得的学术成果 | 第72-73页 |
附录A NPDK开发环境测试配置信息 | 第73-74页 |