1 research outputs found

    High-throughput traffic classification on multi-core processors

    No full text
    Abstract—Traffic classification is a critical mechanism per-formed for many important network management tasks at Internet routers. Decision-trees are commonly used in Machine Learning (ML)-based traffic classification algorithms to realize efficient search operations. Most of the existing works are hardware-based, while a new trend for network applications is to use software accelerators and virtual machines. Since the decision-tree used for traffic classification is highly imbalanced, it is challenging to achieve high throughput for decision-tree-based traffic classification on multi-core processors. In this paper, we present a high-throughput traffic classifier employing scalable data structures on multi-core processors. We convert decision-trees used in ML-based algorithms into a compact rule set table. Based on this data structure, we develop a divide-and-conquer algorithm by (1) searching all the columns of this table in parallel, and (2) merging the outcomes from all the columns into the final classification result. A high throughput can be sustained using our approach even if the size of the rule set table is scaled up in (1) vertical direction with respect to the number of decision-tree leaves, and (2) horizontal direction with respect to the number of features examined during the classification process. We prototype our design on state-of-the-art multi-core processors. For a typical decision-tree-based traffic classifier consisting of 128 leaf nodes and 6 flow-level features, our traffic classifier achieves a throughput of 90 Million Lookups Per Second (MLPS). Our traffic classifier sustains high throughput even for highly imbalanced decision-trees consisting of a large number of nodes. We achieve 13× throughput compared to the SVM-based traffic classifiers on multi-core processors. Keywords-traffic classification, multi-core, performance I
    corecore