We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

PASTE: Fast End System Networking with netmap

Formale Metadaten

Titel
PASTE: Fast End System Networking with netmap
Serientitel
Anzahl der Teile
45
Autor
Lizenz
CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
We introduce PASTE, an extension to the netmap framework for end systems to exploit high speed NICs, kernel TCP/IP stack and emerging persistent memory. We describe design and implementation of PASTE, as well as how to write applications on top of it. New hardware, such as high-speed NICs and persistent memory introduces significant challenges in system software design and implementation. Today's socket APIs are already unable to serve on 10 Gbps under message-oriented workloads. Suppose a server that runs a poll/kqueue event loop to handle concurrent TCP connections. Arriving messages create a long queue of ready sockets where each must be processed by a pair of read/write system calls; If the application is notified of 100 messages on parallel TCP connections, it requires 200 system calls to process this single event, significantly reducing throughput and increasing end-to-end latency. Persistent memory eliminates a bottleneck of disks/SSDs because of 2-3 orders of magnitude lower access latency, which makes the network stack be a bottleneck even when the application persists receiving data. In particular, data copy from socket buffer to persistent memory comes at significant cost. To solve these problems, we introduce PASTE, an extension to the netmap framework. Unlike the original netmap, it supports TCP/IP in the kernel, yet offering the netmap API to applications for zero copy and batching of system calls and packet I/O, even across multiple TCP connections. PASTE further supports emerging persistent memory, allowing applications to persist data without copying data since NIC's DMA. Applications can form persistent data structures using netmap's packet buffers backed by a file. PASTE was initially implemented in Linux for research purpose and demonstrated notable performance improvements. We are now porting it to FreeBSD. We will report software architecture and performance of our FreeBSD prototype. We then would like to discuss necessary extensions beyond the netmap framework, which include socket structures and NVDIMM supports. With PASTE, we believe the netmap API to be an even more generic, promising networking API of FreeBSD beyond packet I/O framework, and to enable building efficient end systems by exploiting emerging hardware.