cmu-snap / SLOMO

Relevant Material for SIGCOMM 2020 paper "Contention-Aware Performance Prediction for Virtualized Network Functions"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SLOMO

Material for SLOMO performance prediction framework presented at SIGCOMM 2020

Hardware & OS

We use two machines for our experiments, one for hosting NFs and another for traffic generation. Below we describe two such hardware setups.

Setup 1

  • CPU: Intel Xeon E5-2620 v4

  • NIC: Intel XL710 - 40GbE QSFP+ 1584 (2 NICs/server)

  • OS: Ubuntu 18.04.3 LTS - 4.15.0-99-generic

  • DPDK: 18.05.1 stable

  • NIC Drivers: i40e-2.9.21 - iavf-3.7.53

Setup 2

  • CPU: Intel Xeon Silver 4110

  • NIC: Mellanox MT27700 Family [ConnectX-4] 1013 (2 NICs/server)

  • OS: Ubuntu 18.04.2 LTS - 4.15.0-48-generic

  • DPDK: 18.11.1 stable

  • NIC Drivers: MLNX_OFED_LINUX-4.5-1.0.1.0-ubuntu18.04-x86_64

Note:

  • Each port on the generator is directly attached to the corresponding physical port of the testing server.
  • Ideally, both machines should be dual-socket with high core count processors. Hyper-threading should be deactivated.
  • The specific driver NICs were necessary to ensure that DPDK would work seamlessly on top of SR-IOV.

Installation - Setup

  • setup/ contains sample setup commands for partitioning the NIC with SRIOV.

  • experiment_scripts/ contains sample scripts that initiate NF experiments

  • data_processing/ contains sample routines for parsing experiment data

  • traffic_generator/ contains a sample traffic generation script

  • The NFs we used in our work rely on DPDK for I/O.

  • Please ensure that your NIC’s VF drivers are updated and that a compatible version of DPDK is being used.

  • Please ensure that NFs will be spawned on cores of the same CPU socket as the NIC they will be receiving traffic from to avoid unnecessary communication over QPI.

About

Relevant Material for SIGCOMM 2020 paper "Contention-Aware Performance Prediction for Virtualized Network Functions"

License:BSD 3-Clause Clear License


Languages

Language:Shell 60.2%Language:Python 31.8%Language:Lua 8.1%