Return to search

FPGA accelerated packet capture with eBPF : Performance considerations of using SoC FPGA accelerators for packet capturing. / FPGA-accelererad paketfångst med eBPF : Prestandaöverväganden vid användning av SoC FPGA acceleratorer för paketering.

With the rise of the Internet of Things and the proliferation of embedded devices equipped with an accelerator arose a need for efficient resource utilization. Hardware acceleration is a complex topic that requires specialized domain knowledge about the platform and different trade-offs that have to be made, especially in the area of power consumption. Efficient work offloading strives to reduce or at least maintain the total power consumption of the system. Offloading packet capturing is usually done in more powerful devices, hence scarce research is present concerning network packet acceleration in embedded devices. The thesis focuses on accelerating networking packets utilizing a Field Programmable Gate Array in an embedded Linux System. The solution is based on a custom Linux distribution assembled using the Buildroot tool, specially configured and patched Linux kernel, uboot bootloader, and the programmable logic for packet acceleration. The system is evaluated on a De0-Nano System on Chip development board through modifications to burst lengths, packet sizes, and programmable logic clock frequency. Metrics include packet capturing time, time per packet, and consumed power. Finally, the results are contrasted with baseline embedded Linux packet processing by inspection of a packet’s path through the kernel. Collected results provide a deeper understanding of the packet acceleration problem in embedded devices and the resultant system gives a solid starting point for possible extensions such as packet filtering. Key findings include an improvement in packet processing speed as the clock frequency and burst length are increased while maintaining power consumption. Additionally, the solution performs better when the packet sizes are above 64 bytes as the overhead of additional logic necessary for their processing is compensated. The project is also found to be significantly faster than regular in kernel processing with the caveat of providing just packet capturing whereas Linux contains a full network stack. / I och med uppkomsten av sakernas internet och spridningen av inbyggda enheter som är utrustade med en accelerator har det uppstått ett behov av effektivt resursutnyttjande. Hårdvaruacceleration är ett komplext ämne som kräver specialiserad domänkunskap om plattformen och olika avvägningar som måste göras, särskilt när det gäller energiförbrukning. Effektiv arbetsavlastning strävar efter att minska eller åtminstone bibehålla systemets totala energiförbrukning. Avlastning av paketering sker vanligtvis i kraftfullare enheter, och därför finns det knappt någon forskning om nätverksacceleration av paket i inbyggda enheter. Avhandlingen är inriktad på att påskynda nätverkspaket med hjälp av en Field Programmable Gate Array i ett inbäddat Linuxsystem. Lösningen bygger på en anpassad Linuxdistribution som sammanställts med hjälp av verktyget Buildroot, en särskilt konfigurerad och patchad Linuxkärna, uboot bootloader och den programmerbara logiken för paketacceleration. Systemet utvärderas på ett De0-Nano System on Chip-utvecklingskort genom ändringar av burstlängder, paketstorlekar och den programmerbara logikens klockfrekvens. Metrikerna omfattar tid för paketering, tid per paket och förbrukad effekt. Slutligen jämförs resultaten med grundläggande inbäddad Linux-paketbehandling genom inspektion av paketens väg genom kärnan. De samlade resultaten ger en djupare förståelse för problemet med paketacceleration i inbyggda enheter och det resulterande systemet ger en solid utgångspunkt för möjliga utvidgningar, t.ex. paketfiltrering. Bland de viktigaste resultaten kan nämnas en förbättring av hastigheten i paketbehandlingen när klockfrekvensen och burstlängden ökas samtidigt som strömförbrukningen bibehålls. Dessutom fungerar lösningen bättre när paketstorleken är större än 64 bytes eftersom den extra logik som krävs för att behandla paketen kompenseras. Projektet har också visat sig vara betydligt snabbare än vanlig kärnbearbetning, med den reservationen att det bara tillhandahåller paketupptagning, medan Linux innehåller en fullständig nätverksstack. / Rozwój Internetu Rzeczy i ąrosnca śćpopularno systemów wbudowanych ąposiadajcych wbudowany akcelerator ęsprztowy łsprawiy, że łwzrosa potrzeba na ich efektywne wykorzytanie. Akceleracja ęsprztowa jest ądziedzin nauki, która wymaga specjalistycznej wiedzy na temat platformy na której ma ćoperowa oraz wymaga śznajomoci potencjalnych komplikacji które ęsi z ąni ążąwi. Efektywna akceleracja ma na celu ęredukcj żzuycia energii, a przynajmnniej jej utrzymanie na dotychczasowym poziomie. Tematyka ta jest śćdo uboga pod ąktem ędostpnej literatury, żgdy zazwyczaj akceleratory stosowane do sieciowych ąńrozwiza ąs żuywane w ąrozwizaniach serwerowych gdzie ęąwystpuj innego rodzaju problemy. W pracy wykorzystany jest akcelerator Field Programmable Gate Array który jest ęśączci łpytki deweloperskiej De0-Nano System on Chip, gdzie łdziaa łąwspópracujc z wbudowanym systemem Linux, do którego przygotowania wykorzystano ęnarzdzie Buildroot. Na ńkocowe ąrozwizanie ponadto łskada ęsi łpoatane ąjdro Linuxa, bootloader uboot oraz programowalna logika ąrealizujca przechwytywanie pakietów sieciowych. ąRozwizanie poddane jest testom, w których parametry odpowiedzialne za łśćdugo transakcji typu burst, rozmiaru pakietu oraz ęśczstotliwoci zegara ąs poddawane modyfikacjom. Wyniki ąs przedstawione za ąpomoc czasu przetwarzania pakietu, czasu per pakiet oraz żzuycia mocy. Do oceny śefektywnoci ąrozwizania łżłposuyo żtake porównanie z czasem procesowania pakietu w niezmodyfikowanym systemie Linux Na podstawie eksperymentów dokonanych w pracy ęwysunite ąs ęąnastpujce wnioski: wraz ze wzrostem ęśczstotliwoci zegara oraz łśdugoci transakcji burst, czas procesowania pakietów maleje a żzuycie ąprdu pozostaje na dotychczasowym poziomie. Pakiety o rozmiarze ąprzekraczajcym 64 bajty ąs procesowane wydajniej w dostarczonym ąrozwizaniu poprzez ękompensacj dodatkowego łnakadu czasu narzuconego przez ęlogik ąąązarzdzajc przetwarzaniem. System porównano żtake do łzwykego przetwarzania pakietów ąodbywajcego ęsi w systemie Linux które łokazao ęsi zdecydowanie wolniejsze z żzastrzeeniem, żi ów system dokonuje łpenego przetworzenia pakietów a ąrozwizanie w pracy jedynie ich przechwytywania. Projekt stanowi ępodstaw do ewentualnych ńrozszerze, na łprzykad filtrowania pakietów. Wnioski ęwysunite łżąsu łępogbieniu wiedzy w domenie sieci wbudowanych systemów Linux oraz ęsprztowej akceleracji.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-323072
Date January 2022
CreatorsDuchniewicz, Jakub
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS), Stockholm : KTH Royal Institute of Technology
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageUnknown
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2022:865

Page generated in 0.0029 seconds