Clustered container infrastructures are increasingly popular for deploying applications. The networking in these clusters is provided by specialized container networking solutions that often lead to complex network configurations on the nodes hosting the containers. Thereby, they can have a significant impact on the performance of the applications hosted in the cluster. While the throughput that can be achieved by the container networking solutions is regularly studied, the latency and subsequently jitter introduced by them is often underreported. This thesis investigates the latency and jitter introduced by the packet processing in the Linux kernel using different container networking solutions. This requires very detailed data about the processing of packets, which existing tracing tools for Linux fail to provide. Therefore, a custom tracing application is developed using eBPF that focuses on the flow of packets through the kernel. The application is evaluated and then used to compare the latency and jitter behavior of commonly used container networking solutions. The results show that the choice of transport protocols for real-time applications has a significant impact on the latency introduced by the kernel irrespective of the container networking. Also, some container networking solutions fall short of providing their proclaimed benefits in their default configurations. This highlights the need for performance evaluation in environments representative of the production setting and the need for tuning the configuration of container networking solutions and system resources to match the requirements of real-time use cases. The data also show that there is a need for more lightweight tracing technologies for packet processing. / Klustrade containerinfrastrukturer blir alltmer populära för att distribuera applikationer. Nätverket i dessa kluster tillhandahålls av specialiserade nätverkslösningar för containrar, vilket ofta leder till komplexa nätverkskonfigurationer på de noder som är värdar för containrarna. De kan därför ha en betydande inverkan på prestandan hos de applikationer som finns i klustret. Även om den bandbredd som kan uppnås med olika nätverkslösningar för containrar regelbundet studeras, är den latens och det jitter som de medför ofta underrapporterade. I den här avhandlingen undersöks den latens och jitter som introduceras av pakethanteringen i Linux-kärnan med hjälp av olika nätverkslösningar för containrar. Detta kräver mycket detaljerade uppgifter om pakethanteringen, som befintliga spårningsverktyg för Linux inte kan tillhandahålla. Därför utvecklas ett anpassat spårningsprogram med eBPF som fokuserar på flödet av paket genom kärnan. Programmet utvärderas och används sedan för att jämföra latens- och jitterbeteendet hos vanliga containernätverkslösningar. Resultaten visar att valet av transportprotokoll för realtidsapplikationer har en betydande inverkan på den latens som införs av kärnan, oberoende av containernätverken. Vissa lösningar för containernätverk klarar inte heller av att ge de fördelar de utlovat i sina standardkonfigurationer. Detta understryker behovet av att utvärdera prestanda i miljöer som är representativa för produktionsmiljöer och behovet av att justera konfigurationen av containernätverkslösningar och systemresurser så att de motsvarar kraven för realtidsbaserade användningsfall. Resultaten visar också att det finns ett behov av mindre resurskrävande spårningstekniker för pakethantering.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-304351 |
Date | January 2021 |
Creators | Maurer, Felix |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2021:619 |
Page generated in 0.0029 seconds