High-Performance Many-Core Networking: Design and Implementation
Jordi Ros-Giralt, Alan Commike, Daniel Honey, Richard Lethin
Publication Source: International Conference for High Performance Computing, Networking, Storage and Analysis (SC), Second Workshop on Innovating the Network for Data-Intensive Science (INDIS), Austin, TX, USA, ACM, November, 2015.
Operating systems play a key role in providing general purpose services to upper layer applications at the highest available performance level. The two design requirements generality and performance — are however in contention: the more general purpose a service layer is, the more overhead it incurs in accessing domain-specific high-performance features provided by the layers beneath it. This trade-off comes to manifest in modern computer systems as the state-of-the-art has evolved from architectures with a few number of cores to systems employing a very large number of cores (many-core systems). Such evolution has rendered the networking layer in current operating systems inefficient as its general purpose design deprives it from a proper use of the large number of cores. In this paper we introduce DNAC (Dynamic Network Acceleration for Many-Core), a high-performance abstraction layer designed to target the maximum network performance available from the network interface in many-core general purpose operating systems.