• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学

• 计算机网络与信息安全 • 上一篇    下一篇

CoFM:一种加速Middlebox应用的软硬件协同流管理机制

税潇宇,厉俊男,孙志刚,黄金锋   

  1. (国防科技大学计算机学院,湖南 长沙 410073)
  • 收稿日期:2018-09-03 修回日期:2018-10-17 出版日期:2019-06-25 发布日期:2019-06-25

CoFM: A hardware/software co-processing flow
management mechanism for middlebox acceleration

SHUI Xiaoyu,LI Junnan,SUN Zhigang,HUANG Jinfeng   

  1. (School of Computer,National University of Defense Technology,Changsha 410073,China)
  • Received:2018-09-03 Revised:2018-10-17 Online:2019-06-25 Published:2019-06-25

摘要:

流管理是Middlebox实现有状态报文处理的基础,负责管理端到端通信所建立的连接及其状态。为了满足不同Middlebox对于流管理的多样化需求,流管理功能通常采用软件实现,以保证灵活性,例如Bro、mOS。但是,受限于CPU的处理性能,软件流管理的性能有限。针对现有解决方案无法兼顾性能和灵活性的缺点,
提出一种软硬件协同的流管理机制——CoFM,将流管理解耦为应用无关的映射管理(即根据流标识查找连接)和应用相关的连接管理2部分,将映射管理卸载到硬件上实现,在减少软件的访存次数提升性能的同时,保持了软件连接管理的灵活性。此外,CoFM的映射管理还支持新映射的动态插入和超时映射的删除,分别用于减少软硬件交互次数和降低硬件资源开销。最后,使用Verilog语言在FPGA上实现了映射管理功能,并基于CAIDA数据集对其做了相应的性能和资源开销测试。实验结果表明,CoFM的映射管理具有50 Gbps的吞吐率和极低的处理延时(<1 μs),且硬件资源开销相对较少,适合用于流管理的加速。
 

关键词: Middlebox, 流管理, 映射管理, 软硬件协同

Abstract:

Flow management is the basis for Middlebox to implement stateful message processing. It is responsible for managing the connection established by endtoend communication and the management of its status. In order to meet the diverse needs of different Middleboxes for flow management, flow management functions are usually implemented in software such as Broand mOS to ensure flexibility. However, due to limited capability of CPUs, software flow management has the disadvantages of low throughput and high processing delay. 
To achieve both performance and flexibility, we propose a software/hardware coprocessing flow management mechanism, called CoFM,  to accelerate Middleboxes. The basic idea of the CoFM is decoupling flow management into applicationindependent mapping management (that is, finding connections according to flow identifiers) and applicationrelated connection management. And the mapping management can be offloaded to hardware to reduce the number of memory access without affecting the flexibility of connection management. Furthermore, the mapping management supports dynamic insertion of new mappings and deletion of outtime mappings, which can reduce the number of hardware/software interactions and hardware resource consumption, respectively. Finally, we implement the mapping management on FPGA using Verilog language. The results show that the mapping management of the CoFM has a throughput of 50 Gbps with low processing latency (<1 μs), and needs only a relatively small hardware resource cost, which is suitable to accelerate flow management.
 

Key words: middlebox, flow management, mapping management, hardware/software co-processing