Comparing Model- and Delay-based Congestion Controls in a Kubernetes Cluster

University essay from Karlstads universitet/Institutionen för matematik och datavetenskap (from 2013)

Author: Robin Allansson; Vittcki Yang; [2024]

Keywords: ;

Abstract: Today's society is heavily influenced by the use of cloud-based services and the internet as a whole. This is causing higher demand for stable networks and maximized efficiency inside the cloud industry. The direction the cloud-based industry went was to maximize their hardware using virtualization. To make this happen they had two options one being virtual machines and the other which grew more common were containers. Kubernetes and Docker are top candidates for virtualized environments which also raises the question of whether the current network protocol is up to speed, TCP Cubic has been the standard network protocol in Linux kernels since 2006 but there are newer protocols that challenge the old standard mainly TCP BBR which was announced by Google 2016. The current situation between the explosive growth of network-based applications and the older network-based protocol that was not designed for this type of traffic which begs the question, is the current standard keeping up to the task? Is the virtualization causing an impact on the traffic flow and is the older protocol worth it compared to the newer protocol produced by Google? In this thesis we are going to investigate the impact on performance, particularly delay and throughput, of the mentioned network protocols. This will be done by running a Docker container in a Kubernetes cluster to have a virtualized environment while being able to compare it to a standard test instance outside of the virtualized container. When the instances are set up there will be traffic generated by the use of iperf, netem and socket statistics to get the data needed to compare and evaluate. The experiment that was performed showed an array of different results. When it came to the main questions that were investigated it was concluded that the TCP protocols BBR and Cubic were not affected by virtualization to the point that it was harmful to use them within Kubernetes, likewise it was concluded during the experiment that when introducing packet loss as a variable the protocols expect differently as theory dictated, TCP cubic handles package loss more aggressively which leads it to have a lower throughput compared to BBR that quickly tries to resume with the speed it had before a packet was lost. So to summarize the experiment, Kubernetes negatively effects both TCP protocols but it is minuscule enough that it will not cause issues when using virtualized environments. When it comes to the two protocols it is shown that BBR handles package loss better than Cubic but both protocols provide a similar throughput when the connection is stable. 

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)