首页> 中文学位 >用户空间协议栈的并行化与性能优化
【6h】

用户空间协议栈的并行化与性能优化

代理获取

目录

声明

摘要

第1章 绪论

1.1 用户空间协议栈

1.2 网络程序并行化

1.3 网络应用编程接口

1.4 论文工作与主要贡献

1.5 论文内容组织

第2章 相关工作和技术基础

2.1 Libuinet

2.2 mTCP

2.3 多队列网卡

2.4 Netmap

2.5 本章小结

第3章 协议栈的并行化

3.1 系统构件

3.2 协议栈并行化模型

3.3 全局变量的私有化

3.4 网卡驱动并行化

3.5 应用逻辑的并行化

3.6 本章小结

第4章 协议栈回调API的设计

4.1 回调API的设计

4.2 使用回调接口进行应用开发的例子

4.3 回调API的实现

4.3.1 accept_cb事件的实现

4.3.2 recv_cb事件的实现

4.3.3 send_cb事件的实现

4.3.4 close_cb事件的实现

4.3.5 事件的传递和处理

4.4 本章小结

第5章 协议栈的性能优化

5.1 回调线程的优化

5.2 收发包线程的优化

5.3 基于线程调度的优化

5.4 本章小结

第6章 性能评估

6.1 实验系统设计

6.2 系统性能优化的实验

6.2.1 优化线程调度

6.2.2 优化收发包线程

6.2.3 线程亲和性绑定

6.3 系统性能评估

6.4 系统的扩放性

6.5 本章小结

第7章 结束语

7.1 论文总结

7.2 进一步的工作

参考文献

致谢

在读期间发表的学术论文与取得的其他研究成果

展开▼

摘要

随着多队列万兆网卡的普及,内核网络包I/O子系统的低效性越发突显。学术界和工业界为了解决这一问题而提出的高性能用户空间包I/O框架逐渐成为构建高性能网络系统的基础。然而大多数基础网络功能,尤其是TCP/IP协议栈,都是为内核空间设计和实现的。所以,目前迫切需要一套基于高性能用户空间包I/O框架设计和优化的高性能TCP/IP协议栈。
  本文基于移植自FreeBSD内核的用户空间协议栈Libuinet,结合高性能用户空间包I/O框架Netmap,为通用多核处理平台和多队列万兆网卡设计和实现了一套高性能用户空间协议栈。本文工作包括并行化、性能优化和编程接口设计三大部分。在并行化部分,基于万兆网卡的多队列技术和RSS技术以及FreeBSD协议栈的网络功能虚拟化技术,为协议栈设计了核与核之间完全没有竞争的并行化模型。在性能优化部分,改进了协议栈内部各线程的运行模型,并基于协议栈内部线程的工作内容优化了线程调度。在编程接口设计部分,为网络应用开发人员设计了一套基于回调的编程接口,实现了近似的隐式并行,在大多数情况下,开发人员只需关注程序自身逻辑的实现,大幅度简化了开发人员的开发工作。
  本文通过真实软硬件环境中的实验,验证了本文所提出的各项优化方案的有效性,并通过实验对比分析了本文改进过的用户空间协议栈与当前主流的内核协议栈在多队列万兆网卡平台上的性能差异。实验表明,改进过的用户空间协议栈在性能上得到了有效的提升。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号