The Power of Batching in the Click Modular Router
The Click modular router has been one of the most popular software router platforms for rapid prototyping and new protocol development. Unfortunately, its internal architecture has not caught up with recent hardware advancements, and the performance remains sub-optimal in high-speed networks despite its benefit of flexible module composition. In this paper, the authors identify the performance bottlenecks of the existing Click router and extend it to scale with modern computer systems. Their improvements focus on both I/O and computation batching, and include various optimizations for multi-core systems and multi-queue network cards.