Giter VIP home page Giter VIP logo

ckatsak / falcon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from munikarmanish/falcon

0.0 1.0 0.0 186.85 MB

Fast and bALanced Container Overlay Network

License: Other

Makefile 0.25% Roff 0.02% C 97.28% Assembly 1.16% C++ 0.73% Objective-C 0.07% Shell 0.22% Perl 0.12% Awk 0.01% Python 0.12% sed 0.01% Yacc 0.01% Lex 0.01% UnrealScript 0.01% SmPL 0.02% Gherkin 0.01% XS 0.01% Raku 0.01% Clojure 0.01% M4 0.01%

falcon's Introduction

FALCON

This repo contains the implementation of Falcon (Fast and Balanced Container Networking) as presented in the paper "Parallelizing Packet Processing in Container Overlay Networks" accepted in EuroSys 2021.

This implementation is based on the original Linux kernel v5.4.64. Most of the files are unchanged. We've modified some parts of the networking subsystem to implement the ideas of Falcon.

The main modifications are as follows:

  • drivers/net/ethernet/mellanox/mlx5/core/en_rx.c
    Packet type identification and GROsplit decision. For now, we only implement Falcon for the network driver we used (mlx5).

  • fs/proc/stat.c
    Adds some new proc files to configure Falcon dynamically from userspace.

  • include/linux/kernel_stat.h
    Adding some extra per-CPU variables, usef for load balancing.

  • include/linux/skbuff.h
    Adds few fields to the struct sk_buff structure to store packet type.

  • kernel/time/timekeeping.c
    Implements the function to measure and update CPU load statistics periodically.

  • net/core/dev.c
    Implements the Falcon softirq splitting and balancing algorithm.

  • net/core/gro_cells.c
    Enables Falcon for the generic gro_cell driver that is used by software bridges.

Experimental Results

We are working on preparaing the instructions and scripts to perform the experiments presented in the paper. Once completed, we will add them here.

Authors

falcon's People

Contributors

munikarmanish avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.