TY - JOUR
T1 - CARR
T2 - A scalable solution for network packet classification
AU - Li, Wei
AU - Zheng, Weibin
AU - Lin, Juanjuan
AU - Guan, Xiaohong
AU - Li, Ling
AU - Chaudhry, Sohail S.
AU - Wang, Pan
AU - Liu, Yanping
PY - 2012/2
Y1 - 2012/2
N2 - Modern Internet routers have to handle a large number of packet classification rules, which requires classification schemes to be scalable both in time and space. In this paper, we present a scalable packet classification algorithm that is developed by combining two new concepts to the well-known bit vector (BV) scheme. We propose a range search method based on a cache-aware tree (CATree) which makes full use of processor's cache line to reduce the number of dynamic random access memory (DRAM) accesses. Theoretically, the number of DRAM accesses of CATree is about log(m+1) times lower than that of the widely used binary search algorithm, where m is the number of keys in a single cache line. Based on our computational results on a set of 1024 keys, the CATree algorithm is 36%faster than binary search algorithm and the performance is better when applied to a larger set of keys. In addition, we develop a rule re-arrangement algorithm to reduce the bitmap space of BV. With this rearrangement, the rules for the same action may be assigned an identical priority. This reduces the number of priorities as well as the memory space of the bitmap. Furthermore, this also reduces the number of memory accesses and hence, increases the CPU cache utilization. With CATree and rule re-arrangement, the cache-aware bit vector with rule re-arrangement algorithm achieves better performance in comparison with the regular BV scheme, both in space and time. In our experiments, the proposed algorithm reduces the bitmap memory space of a practical set of firewall rules by two orders of magnitude and is 91% faster than the regular BV.
AB - Modern Internet routers have to handle a large number of packet classification rules, which requires classification schemes to be scalable both in time and space. In this paper, we present a scalable packet classification algorithm that is developed by combining two new concepts to the well-known bit vector (BV) scheme. We propose a range search method based on a cache-aware tree (CATree) which makes full use of processor's cache line to reduce the number of dynamic random access memory (DRAM) accesses. Theoretically, the number of DRAM accesses of CATree is about log(m+1) times lower than that of the widely used binary search algorithm, where m is the number of keys in a single cache line. Based on our computational results on a set of 1024 keys, the CATree algorithm is 36%faster than binary search algorithm and the performance is better when applied to a larger set of keys. In addition, we develop a rule re-arrangement algorithm to reduce the bitmap space of BV. With this rearrangement, the rules for the same action may be assigned an identical priority. This reduces the number of priorities as well as the memory space of the bitmap. Furthermore, this also reduces the number of memory accesses and hence, increases the CPU cache utilization. With CATree and rule re-arrangement, the cache-aware bit vector with rule re-arrangement algorithm achieves better performance in comparison with the regular BV scheme, both in space and time. In our experiments, the proposed algorithm reduces the bitmap memory space of a practical set of firewall rules by two orders of magnitude and is 91% faster than the regular BV.
KW - Binary search algorithm
KW - Cache-utilization tree
KW - Packet classification
UR - https://www.scopus.com/pages/publications/84860845601
U2 - 10.1111/j.1468-0394.2010.00563.x
DO - 10.1111/j.1468-0394.2010.00563.x
M3 - 文章
AN - SCOPUS:84860845601
SN - 0266-4720
VL - 29
SP - 70
EP - 83
JO - Expert Systems
JF - Expert Systems
IS - 1
ER -