Runtime Support for Multicore Packet Processing Systems
Network processors promise a flexible, programmable packet processing infrastructure for network systems. To make full use of the capabilities of network processors, it is imperative to provide the ability to dynamically adapt to changing traffic patterns in the form of a network processor runtime system. The differences from existing operating systems and the main challenges lie in the multiprocessor nature of NPs, their on-chip resource constraints, and real-time processing requirements. In this paper, the authors explore the key design trade-offs that need to be considered when designing a network processor operating system. In particular, they explore the performance impact of application analysis on partitioning, traffic characterization, workload mapping, and runtime adaptation.