Cache for Flow Content: Solution to dependent packet processing in FPGA

Perpetual demand for bandwidth, fueled by the rapid growth of data and multimedia contents, calls for ever-faster packet processing capability in network infrastructure. For management and security reasons, packet flow information are sometimes stored, thus pushing the adoption of flow buffering techniques in various scenarios, e.g., in the architecture of FPGA with DDR SDRAM attached. Unfortunately, as the gap between two packets from the same flow shortens, latter packet write operation on SDRAM may probably neglects the former one, causing wrong flow state, just like the case of data hazard in CPU instruction pipeline. This paper analyzes the relationship between cache quantity and packet processing pipeline, exploring the organization of caches, and then a practical Cache for Flow Content (CFC) memory is proposed to solve the above-mentioned packet dependency problem.

[1]  C. V. Ramamoorthy,et al.  Pipeline Architecture , 1977, CSUR.

[2]  Chao Wang,et al.  Detecting Data Hazards in Multi-Processor System-on-Chips on FPGA , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[3]  John W. Lockwood,et al.  A Modular System for FPGA-Based TCP Flow Processing in High-Speed Networks , 2004, FPL.

[4]  Yale N. Patt,et al.  Handling of packet dependencies: a critical issue for highly parallel network processors , 2002, CASES '02.

[5]  Antonia Zhai,et al.  A scalable approach to thread-level speculation , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[6]  Russell Tessier,et al.  FPGA Architecture: Survey and Challenges , 2008, Found. Trends Electron. Des. Autom..

[7]  Feng Liu,et al.  Monitoring and analyzing big traffic data of a large-scale cellular network with Hadoop , 2014, IEEE Network.