Summary: | 碩士 === 中原大學 === 電子工程研究所 === 99 === Offloading locality buffering technique may reduce the loading of the CPU and number of memory accesses which lead to a better performance. However, sorting the packets from all possible destination port, from port 0 up to port 65535, is not possible on hardware with a small memory capacity. NetFPGA is a programmable, four-port Gigabit Ethernet card, which is widely used by researchers. The current receiving function in NetFPGA device driver for Linux is extremely prone to the receive livelock phenomenon where resources of the CPU are fully consumed by busy handling of the interrupts.
This research is to study the feasibility of the implementation of locality buffering and interrupt mitigation on NetFPGA. The implementation of our simplified locality buffering on libpcap library by utilizing memory mapping shows 9% increase for the Snort’s throughput in online mode. Moreover, the L2 cache miss ratio and packet loss rate are decreased in an average of 38.13% and 56.47%. Using polling, the implementation of interrupt mitigation in the driver managed to reduce the number of interrupts. It is not optimal because of several constraints on the DMA engine. Therefore, several changes in the DMA engine are proposed as future work.
|