Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/research-camp/qjump-on-nic

Queue jump over NIC queues.
https://github.com/research-camp/qjump-on-nic

c c-programming kernel-module linux linux-kernel network nic qjump queue

Last synced: 6 days ago
JSON representation

Queue jump over NIC queues.

Awesome Lists containing this project

README

        

# QJump over NIC queue

Moving high priority packets to the front of the network interface card (aka ```queue jumping```).
The idea of this project comes from a paper called
[__Queues Don’t Matter When You Can JUMP Them!__](https://www.usenix.org/conference/nsdi15/technical-sessions/presentation/grosvenor) that
its focus is on deployable approach to controlling network interference in datacenter networks.

Our goal is to create a kernel module to perform this approach on our local system's __NIC__. In this repository
we present this module's code-base. In the next sections we are going to describe this module by presenting 4
steps that its taking.

## collaborators

- __Amirhossein Najafizadeh__ (Amirkabir University of Technology), research assistant
- __Dr. Seyed Ahmad Javadi__ (Amirkabir University of Technology), project supervisor

## project steps

### step one (NIC event capturing)

The first step is to capture packets that are inserted into NIC queues. We should capture both
input packets and output packets.

### step two (event management)

Next step is creating a event callback function to be called whenever we capture a packet. This callback
function gets packet data and decides where it belongs to.

### step three (queue reordering)

After callback function is called, we need to reorder our system's NIC queue.

### step four (system logging)

In the final step we log these events into a file for debugging and tracing.