Dynamic Core Allocation and Packet Scheduling in Multicore Network Processors

With ever increasing network traffic rates, multicore architectures for network processors have successfully provided performance improvements through high parallelism. However, naively allocating the network traffic to multiple cores without considering diversified applications and flow locality results in issues such as packet reordering, load imbalance and inefficient cache usage. Consequently, these issues degrade the performance of latency sensitive network processors by dropping packets or delivering packets out of order. In this paper, we propose a packet scheduling scheme that considers the multiple dimensions of locality to improve the throughput of a network processor while minimizing out of order packets. Our scheduling policy tries to maintain packet order my maintaining the flow locality, minimizes the migration of flows from one core to another by identifying the aggressive flows, and partitions the cores among multiple services to gain instruction cache locality. Our light weight hardware implementation shows improvement of 60 percent in the number of packets dropped and 80 percent in the number of out-of-order packet deliveries over previously proposed techniques.

[1]  Yi Lu,et al.  Robust Counting Via Counter Braids: An Error-Resilient Network Measurement Architecture , 2009, IEEE INFOCOM 2009.

[2]  Lukas Kencl,et al.  Sequence-preserving adaptive load balancers , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

[3]  Pawel Gburzynski,et al.  Load balancing for parallel forwarding , 2005, IEEE/ACM Transactions on Networking.

[4]  Y. Ebihara Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[5]  Laxmi N. Bhuyan,et al.  An efficient packet scheduling algorithm in network processors , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[6]  Theofanis Orphanoudakis,et al.  Queue management in network processors , 2005, Design, Automation and Test in Europe.

[7]  尤达亚玛卡尔·斯瑞尼瓦桑,et al.  Dynamic load balancing without packet reordering , 2012 .

[8]  Witold Litwin,et al.  Linear Hashing: A new Algorithm for Files and Tables Addressing , 1980, ICOD.

[9]  Lukas Kencl LOAD SHARING FOR MULTIPROCESSOR NETWORK NODES , 2003 .

[10]  Yin Li,et al.  Queue management for QoS provision build on network processor , 2003, The Ninth IEEE Workshop on Future Trends of Distributed Computing Systems, 2003. FTDCS 2003. Proceedings..

[11]  Bin Liu,et al.  On the Extreme Parallelism Inside Next-Generation Network Processors , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[12]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[13]  Padmaja Duggisetty Design and Implementation of a High Performance Network Processor with Dynamic Workload Management , 2015 .

[14]  Vern Paxson,et al.  End-to-end Internet packet dynamics , 1997, SIGCOMM '97.

[15]  Devavrat Shah,et al.  Analysis of a statistics counter architecture , 2001, HOT 9 Interconnects. Symposium on High Performance Interconnects.

[16]  Tilman Wolf,et al.  Locality-aware predictive scheduling of network processors , 2001, 2001 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS..

[17]  Jake D. Brutlag,et al.  Aberrant Behavior Detection in Time Series for Network Monitoring , 2000, LISA.

[18]  Anand Srinivasan,et al.  Multiprocessor Scheduling in Processor-Based Router Platforms: Issues and Ideas , 2004 .

[19]  Xavier Hesselbach,et al.  Hashing based traffic partitioning in a multicast-multipath MPLS network model , 2005, LANC '05.

[20]  Harrick M. Vin,et al.  A case for run-time adaptation in packet processing systems , 2004, Comput. Commun. Rev..

[21]  Lizy Kurian John,et al.  Flow Migration on Multicore Network Processors: Load Balancing While Minimizing Packet Reordering , 2013, 2013 42nd International Conference on Parallel Processing.

[22]  Michael Meitinger,et al.  An Application-Aware Load Balancing Strategy for Network Processors , 2010, HiPEAC.

[23]  Daniel D. Gajski,et al.  SPECC: Specification Language and Methodology , 2000 .

[24]  Lizy Kurian John,et al.  Design and performance evaluation of a cache assist to implement selective caching , 1997, Proceedings International Conference on Computer Design VLSI in Computers and Processors.

[25]  Milo M. K. Martin,et al.  Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset , 2005, CARN.

[26]  Xin Huang,et al.  Evaluating Dynamic Task Mapping in Network Processor Runtime Systems , 2008, IEEE Transactions on Parallel and Distributed Systems.

[27]  Gero Dittmann,et al.  Network Processor Load Balancing for High-Speed Links , 2000 .

[28]  Marco Canini,et al.  Evolution of cache replacement policies to track heavy-hitter flows , 2010, 2010 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[29]  D. Llorente,et al.  Accelerating Packet Buffering and Administration in Network Processors , 2007, 2007 International Symposium on Integrated Circuits.

[30]  George Varghese,et al.  New directions in traffic measurement and accounting: Focusing on the elephants, ignoring the mice , 2003, TOCS.

[31]  David Wentzlaff,et al.  Gigabit IP Routing on Raw , 2002, HPCA 2002.

[32]  Yi Lu,et al.  ElephantTrap: A low cost device for identifying large flows , 2007, 15th Annual IEEE Symposium on High-Performance Interconnects (HOTI 2007).

[33]  Fang Hao,et al.  ACCEL-RATE: a faster mechanism for memory efficient per-flow traffic estimation , 2004, SIGMETRICS '04/Performance '04.

[34]  Larry Peterson,et al.  Inter-AS traffic patterns and their implications , 1999, Seamless Interconnection for Universal Services. Global Telecommunications Conference. GLOBECOM'99. (Cat. No.99CH37042).

[35]  Ellis Horowitz,et al.  Fundamentals of data structures in C , 1976 .

[36]  Lizy Kurian John,et al.  Efficient traffic aware power management for multicore communications processors , 2012, 2012 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[37]  Liang Guo,et al.  The war between mice and elephants , 2001, Proceedings Ninth International Conference on Network Protocols. ICNP 2001.

[38]  Chita R. Das,et al.  Design of a Dynamic Priority-Based Fast Path Architecture for On-Chip Interconnects , 2007 .

[39]  Marco Canini,et al.  Tracking elephant flows in internet backbone traffic with an FPGA-based cache , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[40]  Arun Raghunath,et al.  Framework for supporting multi-service edge packet processing on network processors , 2005, 2005 Symposium on Architectures for Networking and Communications Systems (ANCS).

[41]  Laxmi N. Bhuyan,et al.  LATA: A latency and Throughput-Aware packet processing system , 2010, Design Automation Conference.

[42]  Marcel Waldvogel,et al.  IBM PowerNP network processor: Hardware, software, and applications , 2003, IBM J. Res. Dev..

[43]  Tilman Wolf,et al.  On runtime management in multi-core packet processing systems , 2008, ANCS '08.

[44]  Guy Koren,et al.  Architecture of a 100-Gbps network processor for next generation video networks , 2010, 2010 IEEE 26-th Convention of Electrical and Electronics Engineers in Israel.

[45]  Kunle Olukotun,et al.  Niagara: a 32-way multithreaded Sparc processor , 2005, IEEE Micro.

[46]  Satheesh Abimannan,et al.  Dynamic Adaptive Self-Configurable Network Processor , 2010, 2010 7th International Conference on Ubiquitous Intelligence & Computing and 7th International Conference on Autonomic & Trusted Computing.

[47]  Ellen W. Zegura,et al.  Performance of hashing-based schemes for Internet load balancing , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).