DocumentCode :
1396331
Title :
An Efficient Parallelized L7-Filter Design for Multicore Servers
Author :
Guo, Danhua ; Bhuyan, Laxmi Narayan ; Liu, Bin
Author_Institution :
Microsoft Corp., Mountain View, CA, USA
Volume :
20
Issue :
5
fYear :
2012
Firstpage :
1426
Lastpage :
1439
Abstract :
L7-filter is a significant deep packet inspection (DPI) extension to Netfilter in Linux´s QoS framework. It classifies network traffic based on information hidden in the packet payload. Although the computationally intensive payload classification can be accelerated with multiple processors, the default OS scheduler is oblivious to both the software characteristics and the underlying multicore architecture. In this paper, we present a parallelized L7-filter algorithm and an efficient scheduler technique for multicore servers. Our multithreaded L7-filter algorithm can process the incoming packets on multiple servers boosting the throughput tremendously. Our scheduling algorithm is based on Highest Random Weight (HRW), which maintains the connection locality for the incoming traffic, but only guarantees load balance at the connection level. We present an Adapted Highest Random Weight (AHRW) algorithm that enhances HRW by applying packet-level load balancing with an additional feedback vector corresponding to the queue length at each processor. We further introduce a Hierarchical AHRW (AHRW-tree) algorithm that considers characteristics of the multicore architecture such as cache and hardware topology by developing a hash tree architecture. The algorithm reduces the scheduling overhead to O(log N) instead of O( N) and produces a better balance between locality and load balancing. Results show that the AHRW-tree scheduler can improve the L7-filter throughput by about 50% on a Sun-Niagara-2-based server compared to a connection locality-based scheduler. Although extensively tested for L7-filter traces, our technique is applicable to many other packet processing applications, where connection locality and load balancing are important while executing on multiple processors. With these speedups and inherent software flexibility, our design and implementation provide a cost-effective alternative to the traffic monitoring and filtering ASICs.
Keywords :
Linux; application specific integrated circuits; inspection; multi-threading; multiprocessing systems; network servers; packet switching; parallel architectures; processor scheduling; quality of service; resource allocation; software packages; telecommunication traffic; tree data structures; AHRW tree scheduler; AHRW-tree algorithm; L7-filter throughput; Linux; Netfilter; QoS; adapted highest random weight; connection locality; deep packet inspection; default OS scheduler; filtering ASIC; hash tree architecture; hierarchical AHRW algorithm; intensive payload classification; multicore architecture; multicore server; multithreaded L7-filter algorithm; network traffic classification; packet level load balancing; packet payload; packet processing application; parallelized L7-filter design; queue length; scheduler technique; software characteristics; software flexibility; traffic monitoring; Hardware; Load management; Multicore processing; Program processors; Protocols; Scheduling; Servers; Cache topology; L7-filter; connection locality; deep packet inspection (DPI); load balance; multicore processors; multithreading;
fLanguage :
English
Journal_Title :
Networking, IEEE/ACM Transactions on
Publisher :
ieee
ISSN :
1063-6692
Type :
jour
DOI :
10.1109/TNET.2011.2177858
Filename :
6101571
Link To Document :
بازگشت