基于自描述缓冲区的网络处理开发环境
DOI:
作者:
作者单位:

作者简介:

通讯作者:

中图分类号:

基金项目:

国家高技术研究发展计划(863)(2015AA010201);国家自然科学基金(61202483,61202485)


Network Processing Development Kit Based on Self-Described Buffer
Author:
Affiliation:

Fund Project:

National High-Tech R&D Program of China (863) (2015AA010201); National Natural Science Foundation of China (61202483, 61202485)

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    随着通用多核技术的发展,多核处理器在网络核心设备能够提供较高的I/O吞吐能力,并支持更复杂的网络处理,为网络处理与转发带来了前所未有的灵活性和普适性.但是,在核心网络中,多核处理器的处理与转发性能仍然面临着巨大的挑战.首先,随着网络带宽的不断提升,多核处理器需要提供越来越高的处理能力.其次,随着网络业务复杂度的提高,在网络报文处理与转发中,应用对报文的处理开销越来越大,对设备的I/O裸转发能力提出了更高的要求.提出了一种硬件缓冲区管理机制Self-Described Buffer(SDB),具有硬件低开销、软件高性能等优点.基于SDB的机制,设计并实现了一个通用的网络处理开发环境NPDK.NPDK采用零中断、零拷贝方式,提供内核与用户驱动,适用于通用多核CPU系统.不但具有简单、灵活、易开发等特点,而且在内核态下支持用户对每个CPU核上进行异构报文处理编程和在用户态下支持独占式多线程编程与共享式多进程并行编程.测试结果表明,基于SDB的网络处理开发环境在10G速率报文I/O转发性能接近线速,特别是64字节小报文可达到7.49Gbps.目前,NPDK已经在click路由器、OpenFlow交换机和网络探针等方面得到应用.

    Abstract:

    Incremental performance gain, especially in terms of higher I/O bandwidth and more complex packet processing capability, has made general purpose and multicore processors a preferable option building network devices in core networks, which brings unprecedented flexibility and universality into forwarding plane. However, challenges still exist because of lagging processing and forwarding performance. Firstly, with network link rate continuing booming, the multicore processor needs to offer corresponding higher processing throughput. Secondly, the increasing complexity of network services and applications will introduce more packet processing overhead inside network devices in forwarding and processing processes, indirectly resulting in higher requirements on pure I/O capabilities. Self-Described Buffer (SDB) is a hardware-based buffer management mechanism proposed in this paper which features low overhead in hardware and high performance in software. Furthermore, NPDK, a general network processing development environment has been designed and built based on SDB. It adopts zero interrupt and zero copy technology, provides kernel space and user space drivers and can be applied for general purposes and multicore systems. NPDK is not only easy to implement, flexible to program, feasible to deploy, but it also supports per-CPU-based hierarchical packet processing programmability in the kernel space, as well as monopolistic multi-threaded and shared multi-process programming in the user space. Experimental results show that NPDK can reach near line rate forwarding under 10Gbps link rate. Specifically 7.49Gbps for 64 Bytes packets. Currently NPDK has already been deployed and applied in Click routers, OpenFlow switches and network probing applications.

    参考文献
    相似文献
    引证文献
引用本文

唐路,徐东来,吕高锋,李韬,孙志刚.基于自描述缓冲区的网络处理开发环境.软件学报,2016,27(S2):25-34

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2015-05-31
  • 最后修改日期:2016-01-05
  • 录用日期:
  • 在线发布日期: 2017-01-10
  • 出版日期:
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号