I. Introduction
Over a decade ago, researchers noticed a growing gap between server CPU performance and network throughput demands. This drove them to explore how to make CPU networking tasks more efficient. For example, MegaPipe [2] proposed a novel network stack that reduced operating system overheads. This gap has not disappeared; it has become even more pronounced due to increasing link speeds that have grown faster than single-core CPU performance [3]. Many researchers and companies have developed novel hardware and software features to improve network performance to try and combat this increasing gap [2], [4]–[7].