https://github.com/kishan-25/solving-bufferbloat-using-multilevel-feedback-queues-mlfq-
Developed an advanced Multilevel Feedback Queueing (MLFQ) algorithm to mitigate network performance issues like latency, jitter, and bufferbloat. Optimized packet prioritization for real-time applications, improving throughput, latency, and bandwidth fairness, with validated results demonstrating enhanced network efficiency.
https://github.com/kishan-25/solving-bufferbloat-using-multilevel-feedback-queues-mlfq-
algortithms cpp ns3-simulator
Last synced: about 1 year ago
JSON representation
Developed an advanced Multilevel Feedback Queueing (MLFQ) algorithm to mitigate network performance issues like latency, jitter, and bufferbloat. Optimized packet prioritization for real-time applications, improving throughput, latency, and bandwidth fairness, with validated results demonstrating enhanced network efficiency.
- Host: GitHub
- URL: https://github.com/kishan-25/solving-bufferbloat-using-multilevel-feedback-queues-mlfq-
- Owner: kishan-25
- License: other
- Created: 2024-09-13T09:13:50.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-19T17:27:35.000Z (over 1 year ago)
- Last Synced: 2025-02-19T18:31:05.401Z (over 1 year ago)
- Topics: algortithms, cpp, ns3-simulator
- Homepage:
- Size: 161 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Solving Bufferbloat using Multilevel Feedback Queues (MLFQ)
## Installation
The research paper is not published yet, so the code is not available.
## Project Overview
This project implements a **Multilevel Feedback Queue (MLFQ)** algorithm to mitigate the **bufferbloat** problem in networking. The MLFQ prioritizes packet scheduling based on real-time requirements, ensuring low latency for critical applications like video conferencing, online gaming, and streaming services.
## Overview
Bufferbloat occurs due to excessive packet queuing in oversized network buffers, leading to increased **latency, jitter, and packet loss**. This project presents an MLFQ-based scheduling mechanism that prioritizes packets dynamically to enhance **Quality of Service (QoS)** in networks.
## Features
- **Priority-based scheduling**: Categorizes packets into different priority queues.
- **Real-time adaptation**: Uses a feedback mechanism to promote long-waiting packets.
- **Latency Reduction**: Minimizes delay for real-time applications.
- **Efficient Bandwidth Utilization**: Ensures fair distribution of bandwidth.
- **Simulation of Network Traffic**: Models packet scheduling in a simulated environment.
## Usage
Modify the `config.py` file to customize simulation parameters like packet arrival rates, queue size, and priority levels. Then, execute `main.py` to analyze MLFQ performance.
## Algorithm Details
### 1. **Packet Classification**
- Video conferencing packets (UDP, ports 16384-32767) → **Highest Priority**
- Online gaming packets (UDP, ports 3478-3480) → **High Priority**
- Streaming packets (TCP, keyword 'video') → **Medium Priority**
- File downloads (Other TCP/UDP traffic) → **Lowest Priority**
### 2. **MLFQ Structure**
- **Level 0:** Real-time critical packets (video calls, gaming)
- **Level 1:** Streaming packets
- **Level N:** Non-time-sensitive traffic (downloads, background processes)
### 3. **Feedback Mechanism**
- If a packet waits too long in a lower-priority queue, it gets promoted to a higher-priority queue to prevent starvation.
## Results
The simulation evaluates MLFQ efficiency using the following metrics:
- **Packet processing time**
- **Queue wait times**
- **Dropped packets due to congestion**
- **Improved latency for real-time applications**
## Future Work
- Implement **machine learning** for dynamic traffic classification.
- Optimize **aging mechanisms** to balance fairness and efficiency.
- Extend support for **Software-Defined Networking (SDN)** environments.
## References
Relevant research papers and sources used in this project:
- J. Gettys and K. Nichols, "Bufferbloat: Dark buffers in the Internet," Communications of the ACM, 2012.
- K. Nichols and V. Jacobson, "Controlling queue delay," ACM, 2012.
- Various studies on SFQ, CoDel, and FQ-CoDel techniques.
---
### Author
Developed by **Balkishan**