View on GitHub

Postman Project

A distributed NFV service to improve network performance for small packet processing

Download this project as a .zip file Download this project as a tar.gz file

Welcome to Postman Project

Postman is a distributed service aming to improve system performance in the network layer for small packets by offloading packet processing.

Introduction

Network layer usually performs poorly when processing small packets, because there is a constant overhead associated with processing every packet. For example, for each packet, Linux needs to handle the interrupt (and the associated context switch) caused by the packet, perform protocol operations, such as checksum verification and congestion control, and process related system calls (also the associated context switch) made by applications. As a result, when transferring 64-byte packets on 10Gb ethernet, Linux can only deliver a throughput of 0.5Gb/s.

Postman deployes a number of helper nodes, which are equipped with new techniques for packet processing (e.g., DPDK), to assemble small packets to the same server, so that a server application can enjoy both the high performance of processing large packets and the convenience of working on a classic operating system.

Postman Design

Postman aims to achieve the following targets: