Efficiently executing the Dragonet network stack
نویسندگان
چکیده
Today’s network cards are getting more and more complex. One reason for this is that networks are still getting faster, while cores are not. Two common approaches for allowing network stacks to keep up, are distributing packets to multiple cores directly in the network card, and moving protocol processing fully or partially to the network card. However current network stacks were not designed to accommodate the varied sets of hardware features supported by different network cards, resulting in sub-optimal performance. This thesis discusses our approach of building a network stack based on modeling both the required network processing and the network card as dataflow graphs and then combining these graphs to arrive at a configuration for the network card and a description of what processing needs to be implemented in software. It extends on our earlier publications introducing the modelling based network stack approach, and discusses Dragonet, our implementation of a full network stack and its performance characteristics. Performance of the resulting implementation is evaluated and compared to Linux using multiple throughput and latency benchmarks. Our results showed that Dragonet is capable of providing applications with competitive and often superior throughput and latency, compared to the widely used Linux network stack.
منابع مشابه
Master's Thesis Nr. 125 Efficiently Executing the Dragonet Network Stack
Today’s network cards are getting more and more complex. One reason for this is that networks are still getting faster, while cores are not. Two common approaches for allowing network stacks to keep up, are distributing packets to multiple cores directly in the network card, and moving protocol processing fully or partially to the network card. However current network stacks were not designed t...
متن کاملWe Need to Talk About NICs
Operating systems fail both to efficiently exploit, and to effectively manage, the considerable hardware resources of modern network interface controllers. We survey the kinds of hardware facilities available and their applicability, and then investigate (and critique) the reasons why OS designers eschew core support for such features. We then describe Dragonet, a new network stack design based...
متن کاملIntelligent NIC Queue Management in the Dragonet Network Stack
Recent network adaptors are equipped with multiple transmit and receive hardware queues combined with a wide variety of filtering and demultiplexing functionality. Contemporary network stacks depend on this functionality for high performance and strong isolation, but face a challenge: how to allocate a limited set of queues and filters to the flows of a given workload. The problem is made worse...
متن کاملRethinking host network stack architecture
As the gap between the speed of networks and processor cores increases, the software alone will not be able to handle all incoming data without additional assistance from the hardware. The network interface controllers (NICs) evolve and add supporting features which could help the system increase its scalability with respect to incoming packets, provide Quality of Service (QoS) guarantees and r...
متن کاملHeterogeneous Multicores: When Slower is Faster
It is well-known that breaking up the OS in many small components is attractive from a dependability point of view. If one of the components crashes or needs an update, we can replace it on the fly without taking down the system. The question is how to achieve this without sacrificing performance and without wasting resources unnecessarily. In this paper, we show that heterogeneous multicore ar...
متن کامل