<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>TCP | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/tcp/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/tcp/index.xml" rel="self" type="application/rss+xml"/><description>TCP</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Wed, 21 Feb 2024 00:00:00 +0000</lastBuildDate><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/media/logo_hub6795c39d7c5d58c9535d13299c9651f_74810_300x300_fit_lanczos_3.png</url><title>TCP</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/tag/tcp/</link></image><item><title>Evaluating congestion controls past and future</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/nyu/congestion-control/</link><pubDate>Wed, 21 Feb 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/nyu/congestion-control/</guid><description>&lt;ul>
&lt;li>&lt;strong>Topics:&lt;/strong> computer networks, congestion control, reproducibility&lt;/li>
&lt;li>&lt;strong>Skills:&lt;/strong> Python, Bash scripting, Linux, computer network performance evaluation&lt;/li>
&lt;li>&lt;strong>Difficulty:&lt;/strong> Medium&lt;/li>
&lt;li>&lt;strong>Size:&lt;/strong> Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentors:&lt;/strong> &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/fraida-fund/">Fraida Fund&lt;/a> and &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/ashutosh-srivastava/">Ashutosh Srivastava&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Project Idea Description&lt;/strong>&lt;/p>
&lt;p>In computer networks, congestion control protocols play an outsize role in determining our experience with networked applications. New congestion control algorithms are regularly proposed by researchers to improve throughput and latency performance, adapt to new types of networks, and align more closely with the needs of new applications.&lt;/p>
&lt;p>However, our understanding of the benefits of a new congestion control protocol depends to a large extent on the evaluation - the network topology, the network delay and throughput, the type of flow, the type of competing traffic - and there is no single standard way to evaluate a congestion control protocol. The &lt;a href="https://pantheon.stanford.edu/static/pantheon/documents/pantheon-paper.pdf" target="_blank" rel="noopener">Pantheon&lt;/a> project (which is no longer supported) sought to fill this gap somewhat and address the problem of reproducibility of congestion control results, but their approach is not easily adapted to evaluation scenarios representative of new types of applications or networks. Nor is it capable of representing the evaluation scenarios in most published results related to congestion control.&lt;/p>
&lt;p>The goal of this project, therefore is to create an evaluation suite for congestion control protocols that can be used to reproduce existing congestion control results in the academic literature, &lt;em>and&lt;/em> to evaluate new protocols under similar evaluation conditions, &lt;em>and&lt;/em> to be easily extended to new scenarios. An &amp;ldquo;evaluation scenario&amp;rdquo; includes:&lt;/p>
&lt;ul>
&lt;li>a Python notebook to realize the network topology on the FABRIC and/or Chameleon testbed, and configure the network characteristics,&lt;/li>
&lt;li>scripts to generate the data flow(s) needed for the evaluation,&lt;/li>
&lt;li>and scripts to capture data from the experiment and visualize the results.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Writing a successful proposal for this project&lt;/strong>&lt;/p>
&lt;p>To write a good proposal for this project, you should review the most influential papers on TCP congestion control, and especially those related to TCP protocols that are available in the Linux kernel.&lt;/p>
&lt;p>Use your findings to explain what your proposed evaluation suite will include (what network topologies, what flow generators), and justify this with reference to the academic literature. Also indicate which &lt;em>specific results&lt;/em> you expect to be able to reproduce using this suite (e.g. include figures from influential papers showing evaluation results! with citation, of course).&lt;/p>
&lt;p>You can also take advantage of existing open source code that reproduces a congestion control result, e.g. &lt;a href="https://github.com/sdatta97/imcbbrrepro" target="_blank" rel="noopener">Replication: When to Use and When Not to Use BBR&lt;/a>, or &lt;a href="https://github.com/ashutoshs25/bbr-dominance-experiments" target="_blank" rel="noopener">Some of the Internet may be heading towards BBR dominance: an experimental study&lt;/a>.&lt;/p>
&lt;p>&lt;strong>Github link&lt;/strong>&lt;/p>
&lt;p>There is no pre-existing Git repository for this project - at the beginning of the summer, the contributor will create a new repository for this project.&lt;/p>
&lt;p>&lt;strong>Project Deliverables&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&amp;ldquo;Packages&amp;rdquo; of evaluation scenarios that can be used to evaluate a congestion control algorithm implemented in the Linux kernel&lt;/li>
&lt;li>&lt;a href="https://chameleoncloud.org/experiment/share/" target="_blank" rel="noopener">Trovi&lt;/a> artifacts for realizing each evaluation scenario on Chameleon&lt;/li>
&lt;/ul></description></item></channel></rss>