Skip to content
No description, website, or topics provided.
C C++ Makefile Other
Branch: master
Clone or download
kkaffes Merge pull request #1 from shawnchan2014/master
Fixed the incorrect work3 variable name in client.cpp
Latest commit 46a2348 Jun 27, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
client Fixed the incorrect work3 variable name to make PortTrimodalBatchClie… Jun 27, 2019
deps Clean-up code Feb 12, 2019
dp Fix rdylist bug in i40e driver May 17, 2019
inc Clean-up code Feb 12, 2019
Makefile Clean-up code Feb 12, 2019 Clean-up code Feb 12, 2019
shinjuku.conf.sample Clean-up code Feb 12, 2019


Shinjuku is a dataplane operating system project from Stanford. It provides datacenter applications with:

  • low-latency (including at the tail)
  • high-throughput
  • preemptive scale that can handle any service time distribution

This work was published on NSDI'19:

Shinjuku is licensed under an MIT-style license. See LICENSE.


Shinjuku requires Intel DPDK and an Intel 82599 NIC. Support for more NICs is on the way.

Setup Instructions

There is currently no binary distribution of Shinjuku. You will therefore have to compile it from source. Additionally, you will need to fetch and compile the source dependencies:

  1. fetch the dependencies:

    sudo apt-get install libconfig-dev libnuma-dev
  2. Build the dependencies, set up the environment, and run Shinjuku:

    cp shinjuku.conf.sample shinjuku.conf
    # modify at least host_addr, gateway_addr, devices, cpu, and arp address (add client address)

    Then, try from another another Linux host:

    # add arp entry for the Shinjuku server
    sudo arp -s <IP> <MAC_ADDRESS>
    ./client/latency_client <IP> <PORT> <RPS> <SPIN_TIME>>
You can’t perform that action at this time.