The network stack, from the very first incarnation has offered applications the same "pipe" abstraction; each app writes to a (sender-side) socket "pipe" and the network stack delivers to the receiver side via the NIC queues("pipes") and on the receiver side we have the driver queue(another "pipe") leading to an application "pipe" (socket interface). These pipes are then tied to compute cores which due to their vertical nature cant scale as IO becomes demanding. 100gbps clearly exposes this problem, 400gbps is already being deployed and terabit is on its way.
Qizhe Cai et al performed experiments tying cores for network and application processing and assesed applications with long flows and others which are characterized by short flows; in the former the measurements show the bottleneck is the application interfacing compute core (copies etc become dominant) and in the later it is the network processing core (packet/sec is dominant).
To resolve these new challenges Qizhe Cai et al introduce NetChannel which hopes to lay the intellectual foundation for a rearchitecture of the kernel network stack.
NetChannel disaggregates the tightly-integrated packet processing "pipeline" in today's kernel network stack into layers each of which can be horizontally scaled by throwing more compute or IO/queues on as need basis.
More details: https://netdevconf.info/0x16/session.html?Towards-%C2%B5s-Tail-Latency-and-T...
For netchannel kernel code, see: https://github.com/Terabit-Ethernet/NetChannel
cheers, jamal