Presentation is loading. Please wait.

Presentation is loading. Please wait.

2019/4/9 Fast Packet Classification on OpenFlow Switches Using Multiple R*-Tree Based Bitmap Intersection Author: Ding-Fong Huang and Chien Chen Publisher/Conf.:

Similar presentations


Presentation on theme: "2019/4/9 Fast Packet Classification on OpenFlow Switches Using Multiple R*-Tree Based Bitmap Intersection Author: Ding-Fong Huang and Chien Chen Publisher/Conf.:"— Presentation transcript:

1 2019/4/9 Fast Packet Classification on OpenFlow Switches Using Multiple R*-Tree Based Bitmap Intersection Author: Ding-Fong Huang and Chien Chen Publisher/Conf.: NOMS IEEE/IFIP Network Operations and Management Symposium Presenter: 林鈺航 Date: 2018/09/12 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. 1 CSIE CIAL Lab

2 Outline Introduction Related Works Performance Evaluation
R* -Tree Based Bitmap Intersection Enhanced R*-Tree Based Bitmap Intersection Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

3 Introduction In multiple -dimensional geometric space, we can represent a rule with a rectangle. It means each field of a rule represents a covered area in a different dimension. A great packet classification algorithm must have faster speed and less storage requirement at the same time. 在多維幾何空間中,我們可以用矩形表示規則。 這意味著規則的每個字段代表不同維度的覆蓋區域。 良好的數據包分類算法必須同時具有更快的速度和更少的存儲要求。 National Cheng Kung University CSIE Computer & Internet Architecture Lab

4 Bitmap intersection packet classification algorithm
It has great performance for classification speed. It can handle different dimensions separately. It requires a very huge memory space when handling a large rules table. National Cheng Kung University CSIE Computer & Internet Architecture Lab

5 R*Tree algorithm It utilizes a tree structure to index objects in geometric space, and has great performance on memory usage. It has slow speed when searching for objects, because it uses linear search in each node. National Cheng Kung University CSIE Computer & Internet Architecture Lab

6 We propose the R*Tree based Bitmap Intersection algorithm that tries to use the efficient spatial utilization of R*-Tree to conquer the large memory usage issue of Bitmap Intersection, and use the fast matching speed of Bitmap Intersection to improve linear search speed in each node of R*-Tree. We further propose an Enhanced R*-Tree based Bitmap Intersection to enhance the search performance of the tree so that the traversed paths are categorized into unnecessary and necessary paths. 我們提出了基於R * Tree的Bitmap Intersection算法,該算法試圖利用R * -Tree的有效空間利用來克服Bitmap Intersection的大內存使用問題,並使用Bitmap Intersection的快速匹配速度來提高R * -Tree的每個節點的線性搜索速度。 我們進一步提出了一種基於增強型R * -Tree的位圖交集,以增強樹的搜索性能,以便將遍歷的路徑分類為不必要的和必要的路徑。 National Cheng Kung University CSIE Computer & Internet Architecture Lab

7 An unnecessary path is minimized by using Bloom Filter (BF).
The number of necessary paths is also minimized by using Multiple R*-Tree that categorizes the path with high-priority rules that cover a small area in geometric space and the path with wild card rules that cover a large area in geometric space. National Cheng Kung University CSIE Computer & Internet Architecture Lab

8 Outline Introduction Related Works Performance Evaluation
R* -Tree Based Bitmap Intersection Enhanced R*-Tree Based Bitmap Intersection Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

9 Bitmap Intersection For N rules, a maximum of 2N+1 non-overlapping intervals are created on each dimension. When the size of the rule table grows large and the space complexity is O(dN2) It states that as the rule number grows linearly, the requirement of memory space grows quadratically. Besides, when the rule number becomes large, the length of the bit vector also grows, requiring more memory access to load the bit vector, so the matching speed also becomes slower. National Cheng Kung University CSIE Computer & Internet Architecture Lab

10 R*-Tree In R*Tree, spatial objects are considered a Minimal Bounding Region (MBR) Every node in R*-Tree indicates one MBR, and children nodes represent lower layers of MBRs. slow matching speed since it uses a linear search great performance on spatial utilization, since as the number of rules grows linearly National Cheng Kung University CSIE Computer & Internet Architecture Lab

11 Outline Introduction Related Works Performance Evaluation
R* -Tree Based Bitmap Intersection Enhanced R*-Tree Based Bitmap Intersection Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

12 R*-Tree based Bitmap Intersection algorithm
We translate rules into MBRs, each contains the start and end positions for every dimension, and it also retains information corresponding to the rule (i.e. priority, action). We use an original R*-Tree construction algorithm to insert these MBRs (i.e. rules) into R*-Tree until they have been all inserted into R*-Tree. On each node, we use Bitmap Intersection to translate MBRs into bit vectors and record these bit vectors back into a node until we reach a leaf node. National Cheng Kung University CSIE Computer & Internet Architecture Lab

13 R*-Tree based Bitmap Intersection algorithm
The MBRs that correlate with the bits that have been set to 1 in the resultant bit vector are overlapped with the query point. After finding overlapping MBRs, we then keep visiting nodes corresponding to these MBRs until reach a leaf node. Each node structure the one with the highest priority is going to be the final matching result. National Cheng Kung University CSIE Computer & Internet Architecture Lab

14 Outline Introduction Related Works Performance Evaluation
R* -Tree Based Bitmap Intersection Enhanced R*-Tree Based Bitmap Intersection Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

15 Enhanced R*-Tree Based Bitmap Intersection
Traversed paths can be categorized into two different types : Necessary paths : indicate the paths that will lead to a result, these paths are necessary to be traced for results and can’t be avoided. –use Bloom Filter. Unnecessary paths : indicate the paths that will not lead to a result. –use multiple R* -Trees We try to reduce unnecessary paths through Bloom Filter, which can filter unnecessary paths out. And we use multiple R* -Trees to separate necessary paths into multiple R* -Trees, which will decrease the number of necessary paths as we search one R*Tree 我們嘗試通過布隆過濾器減少不必要的路徑,這可以過濾掉不必要的路徑。 我們使用多個R * -Trees將必要的路徑分成多個R * -Trees,當我們搜索一個R *樹時,這將減少必要路徑的數量 National Cheng Kung University CSIE Computer & Internet Architecture Lab

16 Bloom Filter One Bloom Filter consists of a one-bit vector with length N and M hash functions. During searching in a higher level, a query returns either "possibly in the path" or "definitely not in path". 只能回答你絕對不在,但是無法確認該物件一定在.會有誤判 (false positive) 的可能. (但是不會有 False Negtive)資料節點,只能夠新增進去無法刪除 實際上是不能100%的肯定該字符串被Bloom Filter記錄過的。(因為有可能該字符串的所有位都剛好是被其他字符串所對應) 可能在其他hash function有命中(共用同個array) National Cheng Kung University CSIE Computer & Internet Architecture Lab

17 Bloom Filter When traversing a higher level node, it first utilizes the Bloom Filter which is stored in this node to check whether the searching packet belongs to the rules that are below this node. For implement, we first gather all the rules below this node, these rules located at leaf nodes below this node, then program a Bloom Filter with these rules in each field. National Cheng Kung University CSIE Computer & Internet Architecture Lab

18 Problem to solved Rules are stored in prefix form, but the fields inside packet are represented by a value. Use prefix expansion The prefix expanding could generate huge values. Divide the prefix into four subsets (0~8, 9~16, 17~24, 25~32) Bloom Filter requires executing the hash function many times while testing whether one element belongs to a set. These executions also spend time, so there will be an additional cost. requires more memory space for Bloom Filters National Cheng Kung University CSIE Computer & Internet Architecture Lab

19 Multiple R*-Tree Necessary paths can be generally categorized into two types High priority rule that covers a small area in geometric space normally Wildcard rule which has low priority and covers a large area in geometric space. We split the rule table into two tables 80% of the higher priorities 20% of the remaining priorities which include wildcard rules. trace的大多數necessary path是針對wildcard which has low priority。 這是因為wildcard rule覆蓋了幾何空間中的廣泛區域,因此在搜索期間更容易match (because wildcard rules usually have low priority) National Cheng Kung University CSIE Computer & Internet Architecture Lab

20 Outline Introduction Related Works Performance Evaluation
R* -Tree Based Bitmap Intersection Enhanced R*-Tree Based Bitmap Intersection Performance Evaluation National Cheng Kung University CSIE Computer & Internet Architecture Lab

21 Memory Access When the number of rules grows to 10000, the performance of our algorithm is 4.42 times that of Bitmap Intersection, and 5.16 times that of R*-Tree algorithm. Memory access represents the average number of memory access for performing one packet classification in Software-based OpenFlow switch. The major factor affecting performance of our algorithm is not the number of rules, but the distribution of our algorithm is not the number of rules, but the distribution of rules in geometric space is the true factor that affects performance. National Cheng Kung University CSIE Computer & Internet Architecture Lab

22 Memory Access National Cheng Kung University CSIE Computer & Internet Architecture Lab

23 Memory Usage When the number of rules is 10000, Bitmap Intersection requires 10 MB for acl rules table, 20 MB for fw rules table, and 7 MB for ipc rule tables. The memory usage of our algorithm and R*- Tree algorithm are similar. Our algorithm requires about 300 KB and R*-Tree requires about 420KB for these three different rules tables. Because the difference between these three algorithms is huge, we take a log2 here for ease of observing the data. National Cheng Kung University CSIE Computer & Internet Architecture Lab


Download ppt "2019/4/9 Fast Packet Classification on OpenFlow Switches Using Multiple R*-Tree Based Bitmap Intersection Author: Ding-Fong Huang and Chien Chen Publisher/Conf.:"

Similar presentations


Ads by Google