GenMatcher: A Generic Clustering-Based Arbitrary Matching Framework Academic Article uri icon

abstract

  • Packet classification methods rely upon packet content/header matching against rules. Thus, throughput of matching operations is critical in many networking applications. Further, with the advent of Software Defined Networking (SDN), efficient implementation of software approaches to matching are critical for the overall system performance. This article presents 1 GenMatcher, a generic, software-only, arbitrary matching framework for fast, efficient searches. The key idea of our approach is to represent arbitrary rules with efficient prefix-based tries. To support arbitrary wildcards, we rearrange bits within the rules such that wildcards accumulate to one side of the bitstring. Since many non-contiguous wildcards often remain, we use multiple prefix-based tries. The main challenge in this context is to generate efficient trie groupings and expansions to support all arbitrary rules. Finding an optimal mix of grouping and expansion is an NP-complete problem. Our contribution includes a novel, clustering-based grouping algorithm to group rules based upon their bit-level similarities. Our algorithm generates near-optimal trie groupings with low configuration times and provides significantly higher match throughput compared to prior techniques. Experiments with synthetic traffic show that our method can achieve a 58.9X speedup compared to the baseline on a single core processor under a given memory constraint.

published proceedings

  • ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION

author list (cited authors)

  • Wang, P., Mchale, L., Gratz, P. V., & Sprintson, A.

citation count

  • 1

complete list of authors

  • Wang, Ping||Mchale, Luke||Gratz, Paul V||Sprintson, Alex

publication date

  • December 2019