A datacenter network framework that aims for high utilization with zero queueing. A logically centralized arbiter controls and orchestrates all network transfers.
C 79.69%C++ 1.41%Shell 1.16%Python 10.68%R 3.32%Makefile 0.86%Groff 2.88%
fastpass's Introduction
This is a code release of Fastpass:
"a datacenter network framework that aims for high utilization with
zero queueing. It provides low median and tail latencies for packets,
high data rates between machines, and flexible network resource
allocation policies. The key idea in Fastpass is fine-grained control
over packet transmission times and network paths.
A logically centralized arbiter controls and orchestrates all network
transfers."
DIRECTORY STRUCTURE
src/
- arbiter/ main arbiter loop and multi-core communications
- grant-accept/ PIM allocator
- graph-algo/ path selection, and max-min fair and SJF allocators
- kernel-mod/ Linux kernel module
- protocol/ FCP (Fastpass Control Protocol) implementation
- tcp-benchmark/ fine-grained socket throughput measurement for Linux
bindings/
- graph-algo/ SWIG bindings for graph-algo, for testing.
tests/
- graph-algo/ Some tests for allocators and path selection
- protocol/ Protocol-related tests
Note that tests were sporadically maintained after modification to src/, so
some might not pass.
COMPILING, AND MORE INFORMATION
Please see http://fastpass.mit.edu
I am new to data center coding. After following the instructions on your website, I somehow cannot run your test script due to some package missing. Some of them are too old that I cannot find a proper one to install, e.g structures, graph_utils.
Could you please give some advice on how to run the test code?
Hi, I was wondering if there was a doc on how to build & run fastpass?
The README doesn't cover it, and fastpass.mit.edu only describes how to build the proper kernel for it, but I could not find any info on building & running fastpass.
I was able to import all the projects into eclipse, but then the build failed, error msg was
"Neither FASTPATH_CONTROLLER or FASTPATH_ENDPOINT was defined". So I am guessing there is a set of additional environment variables that need to be set?
I am running on a ubuntu 16.04 machine. It seems dpdk 1.6.0r0 cannot be well installed. Hence I installed the new version of dpdk and then followed the rest install instruction on http://fastpass.mit.edu
However, I cannot make the arbiter. The error is: /home/ubuntu/fastpass/src/arbiter/main.c:143:3: error: unknown field ‘header_split’ specified in initializer .header_split = 0, /**< Header Split disabled */ ^ /home/ubuntu/fastpass/src/arbiter/main.c:144:3: error: unknown field ‘hw_ip_checksum’ specified in initializer .hw_ip_checksum = 1, /**< IP checksum offload enabled */
FYI, I am using gcc4.9. Do you have any idea how could I compile the arbiter and kernel-mod on ubuntu 16.04?