superlitong / fillp-demo

This repository provides a demo of FillP, a UDP-based full transport protocol implementation of TACK.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

This repository provides a demo of FillP, containing the executable files of a client and a server. FillP is a UDP-based full transport protocol implementation of TACK. A world-wide performance evaluation of FillP can be seen at the Pantheon from Stanford University.

Please cite the papers as follows (or use this bibtex record).

0. Clone and Setup

git clone https://github.com/superlitong/fillp-demo.git
cd bin/client   or    cd bin/server
export LD_LIBRARY_PATH=./  (this should be done in both server and client folders to enable the path)

1. Buffer Configuration

The client and server are executable which are built in Ubuntu 14.04.5 LTS with gcc 4.8.4, and do not need to be built again. FillP does need any sysctl configuration to your system. That is, with default setting of your system, it works well. But before running FillP in the network with bandwidth of 10 Gbps, you can extend the sending/receiving buffer as follows:

    sysctl -w net.ipv4.udp_mem="98304 268435456 268435456“
    sysctl -w net.core.wmem_max=268435456

2. Transfer Data Stream

    ./server -s server_ip -p server_port -r testcase001

    ./client -c server_ip -p server_port -r testcase001

For more details, use

client -H or server -H

About

This repository provides a demo of FillP, a UDP-based full transport protocol implementation of TACK.

License:Apache License 2.0


Languages

Language:Shell 100.0%