1. Homepage
  2. Programming
  3. Project 1 An in-depth analysis of congestion control algorithms

Project 1 An in-depth analysis of congestion control algorithms

Engage in a Conversation
PITTComputer NetworksC++PythonCcongestion control algorithmsTCP RenoCUBIC

Project 1 CourseNana.COM

An in-depth analysis of congestion control algorithms CourseNana.COM

  CourseNana.COM

In this project, the goal is to compare at least 3 congestion control algorithms (CCAs). TCP Reno, and CUBIC need to be implemented and be compared with each other as well as with BBR. You will compare the CCAs through experiments on Wide-Area networks. A fourth CCA can be implemented and compared with the other three CCAs as a bonus. CourseNana.COM

  CourseNana.COM

Implementation CourseNana.COM

The two (or three, if you are going for the bonus) CCAs can be implemented using simple socket-based communication. The algorithms can be coded in Python or C/C++. Docker-based testing scripts are optional. However, it is recommended that you make some automated testing scripts to verify that your CCAs are working as expected before you move on to experimenting on FABRIC. CourseNana.COM

  CourseNana.COM

You can simulate packet loss a few ways such as including a function on the server side that randomly drops an incoming packet according to an input parameter. Another way could be to have a proxy server that the client talks to and this proxy server either drops the packet or forwards it to the actual server. CourseNana.COM

  CourseNana.COM

Experiments CourseNana.COM

The experiments would be performed on FABRIC testbed. Through FABRIC, it is possible to run these experiments on servers that are far apart, geographically. You need to use your own implementation of the two CCAs for these experiments. BBR can either be used through the built-in implementation in Linux or you can also go through their GitHub repository and set up BBR through there. CourseNana.COM

  CourseNana.COM

For the experiments, select at least two nodes (a client and a server) that are some distance apart. Select a third node that is further apart from the server as compared to the first client. Mention the node placement and average latency and the standard deviation of latency between the two clients and the server. CourseNana.COM

  CourseNana.COM

Using the first client and server node, conduct experiments by measuring throughput, latency, and congestion window sizes while varying packet loss between the values 0% (i.e., no packet loss), 1%, 5%, 10%, and 50%. CourseNana.COM

  CourseNana.COM

Repeat the experiments with the other client to see if that affects the results. If this client is further away from the server as compared to the first client, then on average the latency would be greater for this client-server pair. We are trying to see the effect of this. You may perform additional experiments for more insight into this by adding a third client in the network or emulating latency, such as by adding a delay on server side. However, this is not required as part of the project. CourseNana.COM

  CourseNana.COM

Create graphs and/or tables, as appropriate for the data that you collect from the experiments. Average out results and include the average as well as standard deviation. CourseNana.COM

  CourseNana.COM

Report CourseNana.COM

You need to submit a final report for the project. The report would include (but is not limited to): CourseNana.COM

·      Your hypotheses i.e., what do you expect to see before you run the experiments CourseNana.COM

·      Your experimental set-up i.e., node placement, average latencies, etc. CourseNana.COM

·      Experimental results such as data and/or graphs CourseNana.COM

·      Explanation of results. CourseNana.COM

·      Whether your hypotheses were validated or not CourseNana.COM

·      Brief overview of your CCA implementation such as Data Structures used, Packet Headers, any challenges, improvements that you could make, etc. CourseNana.COM

  CourseNana.COM

It is possible that for some of the experiments, you get results that seem odd. You should still attempt to explain what happened there. CourseNana.COM

  CourseNana.COM

The report does not have a page limit. However, 3-4 pages are recommended. Please be concise. Please explain your experiment results. CourseNana.COM

  CourseNana.COM

A template could be as follows: CourseNana.COM

  CourseNana.COM

Title: CourseNana.COM

Your name, email, and Pitt ID CourseNana.COM

Experiment setup: also briefly explain these baseline algorithms; CourseNana.COM

Experiment results and explanation: CourseNana.COM

  CourseNana.COM

Final Submission and grading: CourseNana.COM

Submit the following for the final submission: CourseNana.COM

·      TCP Reno and CUBIC implementation code (required) CourseNana.COM

·      Data collected (required) CourseNana.COM

·      Report (required) CourseNana.COM

·      CCA testing scripts (optional) CourseNana.COM

·      Bonus CCA code (optional) CourseNana.COM

  CourseNana.COM

The final grading would be as follows: CourseNana.COM

·      TCP Reno implementation -- 25% CourseNana.COM

·      TCP CUBIC implementation -- 25% CourseNana.COM

·      Report (includes experiments and data) -- 50%. CourseNana.COM

·      Bonus – 10% CourseNana.COM

Deadline: by the end of 11/10/2023 CourseNana.COM

  CourseNana.COM

Resources CourseNana.COM

Samples of how such experiments can be performed: CourseNana.COM

·      Link 1 CourseNana.COM

·      Link 2 CourseNana.COM

BBR: CourseNana.COM

·      Github Repository CourseNana.COM

A list of some algorithms for the bonus: CourseNana.COM

·      link CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
PITT代写,Computer Networks代写,C++代写,Python代写,C代写,congestion control algorithms代写,TCP Reno代写,CUBIC代写,PITT代编,Computer Networks代编,C++代编,Python代编,C代编,congestion control algorithms代编,TCP Reno代编,CUBIC代编,PITT代考,Computer Networks代考,C++代考,Python代考,C代考,congestion control algorithms代考,TCP Reno代考,CUBIC代考,PITThelp,Computer Networkshelp,C++help,Pythonhelp,Chelp,congestion control algorithmshelp,TCP Renohelp,CUBIChelp,PITT作业代写,Computer Networks作业代写,C++作业代写,Python作业代写,C作业代写,congestion control algorithms作业代写,TCP Reno作业代写,CUBIC作业代写,PITT编程代写,Computer Networks编程代写,C++编程代写,Python编程代写,C编程代写,congestion control algorithms编程代写,TCP Reno编程代写,CUBIC编程代写,PITTprogramming help,Computer Networksprogramming help,C++programming help,Pythonprogramming help,Cprogramming help,congestion control algorithmsprogramming help,TCP Renoprogramming help,CUBICprogramming help,PITTassignment help,Computer Networksassignment help,C++assignment help,Pythonassignment help,Cassignment help,congestion control algorithmsassignment help,TCP Renoassignment help,CUBICassignment help,PITTsolution,Computer Networkssolution,C++solution,Pythonsolution,Csolution,congestion control algorithmssolution,TCP Renosolution,CUBICsolution,