Logo image
Improved Memory Management for User-level Packet Processing on Linux
Thesis

Improved Memory Management for User-level Packet Processing on Linux

Wei-Fan Chen
Masters, 國立清華大學, 資訊工程學系
2006

Abstract

An user-level programmable router architecture supports flexible programmability of router functions and facilitates network researchers to experiment with new ideas. This architecture conquers the inflexibility of traditional router that extends its functions only within kernel. New extended functions are executed like user-level applications that are loaded on this platform dynamically, so no program errors will crash the whole system like only-kernel extensible router do. The trade-off to these flexibilities is the lower performance of user-level and kernel communication. To achieve user-level packet processing functions, the packet user space traveling is required. As everyone knows, there is a strict discrimination between kernel and user space to protect system. Though, with the help of application interface (e.g. BSD), user-level applications can get another duplication of forward packet that. This time-consuming method does not suit network service. Moreover, the router are always flooded by a burst of traffic, it is possible that the all packets are dropped because of the system cant respond in time. Under this condition, the system easily suffers from Livelock that make on progress. In order to building a user-level programmable router without the defects mentioned above. We modified the kernel that supports memory-remapping mechanism to eliminate data copy and provides a new skb allocation/deallocation for network memory management. Our work also tries to improve Livelock problem by control interrupt.

Metrics

1 Record Views

Details

Logo image