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

Computer Engineering & Science

Previous Articles     Next Articles

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

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