A scalable multithreaded L7-filter design for multi-core servers

  • Authors:
  • Danhua Guo;Guangdeng Liao;Laxmi N. Bhuyan;Bin Liu;Jianxun Jason Ding

  • Affiliations:
  • University of California, Riverside, CA and Cisco Systems, Inc., San Jose, CA;University of California, Riverside, CA;University of California, Riverside, CA;Tsinghua University, Beijing, China;Cisco Systems, Inc., San Jose, CA

  • Venue:
  • Proceedings of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

L7-filter is a significant component in Linux's QoS framework that classifies network traffic based on application layer data. It enables subsequent distribution of network resources in respect to the priority of applications. Considerable research has been reported to deploy multi-core architectures for computationally intensive applications. Unfortunately, the proliferation of multi-core architectures has not helped fast packet processing due to: 1) the lack of efficient parallelism in legacy network programs, and 2) the non-trivial configuration for scalable utilization on multi-core servers. In this paper, we propose a highly scalable parallelized L7-filter system architecture with affinity-based scheduling on a multi-core server. We start with an analytical study of the system architecture based on an offline design. Similar to Receive Side Scaling (RSS) in the NIC, we develop a model to explore the connection level parallelism in L7-filter and propose an affinity-based scheduler to optimize system scalability. Performance results show that our optimized L7-filter has superior scalability over the naive multithreaded version. It improves system performance by about 50% when all the cores are deployed.