Bachelor's Thesis

Acceleration of Network Applications with RTE Flow

Final Thesis 1.14 MB

Author of thesis: Bc. Jakub Socha

Acad. year: 2024/2025

Supervisor: Ing. Jan Kučera, Ph.D.

Reviewer: Ing. Lukáš Šišmiš

Abstract:

Modern networks demand unprecedented throughput and latency, challenging traditional kernel-based packet processing. This thesis demonstrates hardware-accelerated network functions using NVIDIA ConnectX SmartNICs and DPDK’s RTE Flow API. We address three objectives: quantifying performance gains from hardware offloads, implementing dynamic flow management via templates, and validating stateful processing through connection tracking. Three applications were developed—a high-speed IP filter using asynchronous rule insertion, a hardware-offloaded router with MAC rewriting, and a stateful L4 firewall leveraging NIC-based connection tracking. The work provides architectural patterns for combining RTE Flow features like hairpin queues and MODIFY_FIELD actions, proving programmable NICs can absorb complex network functions while maintaining line-rate performance.

Keywords:

DPDK, rte_flow, MLX5, RSS

Date of defence

18.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaDznamka

Grading

D

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm D.

Topics for thesis defence

  1. Co je nejnáročnější část této bakařské práce? 
  2. V čem spočívala HW akcelerace? 
  3. Proč se vám nepodařilo dokončit 2 ze 3 aplikací? 

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Ondřej Ryšavý, Ph.D. (předseda)
Ing. Tomáš Milet, Ph.D. (člen)
Ing. Marcela Zachariášová, Ph.D. (člen)
Ing. Filip Orság, Ph.D. (člen)
doc. RNDr. Dana Hliněná, Ph.D. (člen)

Supervisor’s report
Ing. Jan Kučera, Ph.D.

Práce si kladla za cíl implementovat vhodné DPDK aplikace a ověřit funkcionalitu RTE Flow rozhraní na vybraných síťových platformách. Tyto cíle se podařilo splnit, nicméně rozsah práce, zejména prezentace testů a výsledků měření výkonnosti a kapacity, měl být obsáhlejší. Student pracoval víceméně samostatně a řešení své práce v druhé polovině roku takřka nekonzultoval. Celkově proto hodnotím aktivitu studenta a dosažené výsledky práce jako uspokojivé (D).

Evaluation criteria Verbal classification
Information about assignment

Cílem bakalářské práce bylo seznámit se s knihovnou DPDK, implementovat několik síťových aplikací a na nich demonstrovat podporu rozhraní RTE Flow na dostupných síťových kartách. Práci hodnotím jako obtížnější, jelikož se DPDK podpora rozhraní RTE Flow neustále vyvíjí, dokumentace není vždy dostupná, kompletní nebo na takové úrovni, aby umožnila zcela bezproblémový vývoj. Základních cílů práce se podařilo dosáhnout a vhodné aplikace implementovat. Testování a vyhodnocení však mělo být zpracováno podrobněji. Ačkoliv student už během konzultací prezentoval předběžné výsledky měření, v technické zprávě není kapacita platforem z hlediska dostupného počtu pravidel či měření výkonnosti vůbec uvedeno.

Work with literature

Student využil především dokumentaci ke knihovně DPDK. Další související zdroje si byl schopný dohledat sám.

Activity during solution, consultations, communication

Student řešení zpočátku pravidelně konzultoval a na konzultace byl dobře připraven. V druhé polovině roku však přestal komunikovat a navazující postup prací, zejména vznikající části textu, už nebyly dostatečně konzultovány.

Activity during completion

Práce byla dokončena těsně před odevzdáním. Finální verze práce nebyla konzultována.

Publication activity, awards

Výsledky práce nebyly publikovány.

Points proposed by supervisor: 65

Grade proposed by supervisor: D

Reviewer’s report
Ing. Lukáš Šišmiš

Tato bakalářská práce poskytuje přehled nových funkcionalit hardwarové akcelerace v kartách Connect-X od společnosti NVIDIA prostřednictvím knihoven Data Plane Development Kit (DPDK). Navzdory dobré analýze síťových karet omezuje neúplná implementace ukázkových aplikací celkovou využitelnost práce. Tuto bakalářskou práci hodnotím stupněm D, 63 bodů.

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: more difficult assignment

Zadání vyžadovalo nejen detailní pochopení DPDK a RTE Flow API, ale také praktickou analýzu možností NVIDIA Connect-X SmartNIC, návrh a implementaci více síťových aplikací a jejich validaci pomocí Spirent TestCenter a Cisco T-Rex. Zadání proto považuji za obtížnější.

Presentation level of the technical report

Text práce je pro čtenáře dobře pochopitelný. Všechny potřebné znalosti jsou přehledně popsány v úvodu práce a pokročilejší kapitoly z nich vhodným způsobem čerpají.

81
Formal preparation of a technical report

Práce ve značné míře využívá seznamy, což místy navozuje dojem nesouvislého textu. Dále práce nevyužívá nezlomitelné mezery a odkazy nejsou správně formátovány (např. „figure 2.2“ není správně typograficky označeno).

72
Realisation output

Student úspěšně přistoupil k analýze funkcionalit síťových karet i k návrhu ukázkových aplikací. Práce by byla hodnotnější, pokud by obsahovala výsledky analýzy karet Connect-X. Dvě ze tří aplikací však nebyly zcela implementovány. Z rozpracovaných aplikací je možné čerpat inspiraci, nelze je ale považovat za plně funkční příklady. Dokončená aplikace po drobných úpravách dosahovala dobrých výsledků. Práci rovněž chybí vyhodnocení dosažených výsledků.

52
Usability of results

Práce poskytuje kvalitní základ znalostí pro pochopení funkcionalit moderních síťových karet NVIDIA Connect-X. Tyto informace byly získány z dokumentace knihovny, specifikací síťových karet a vlastního experimentování. Práce se rovněž snaží demonstrovat využití nových funkcí hardwarové akcelerace síťového zpracování na kartách NVIDIA.

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled only partially with major reservations

Student měl dobře rozpracovanou analýzu podpory rozhraní RTE_FLOW (bod 2 zadání) na síťových kartách a při praktické ukázce demonstroval vícero měření posuzujících různé aspekty podpory RTE_FLOW na síťových kartách NVIDIA. Také navržené síťové aplikace byly dobře analyzovány. Kvůli neúplné implementaci aplikací se však studentovi nepodařilo zcela splnit bod č. 4 zadání. Díky popisu podporovaných funkcí síťových karet je možné jejich využití dobře pochopit, ale pro implementační ukázku to není dostačující. Dokončení implementace aplikací by umožnilo zajímavější diskuzi v rámci bodu č. 5 zadání.

Extent of the technical report

Evaluation level: meets the minimum requirements only

Bakalářská práce splňuje minimální rozsah a je spíše kratšího rozsahu. Obsahově by bylo vhodné posílit kapitoly zaměřené na návrh, implementaci a vyhodnocení aplikací - například doplněním diagramů a grafů či přepracováním seznamů do souvislého textu komentujícího obsažený materiál.

Work with literature

Zadání práce vyžaduje hluboké prozkoumání a pochopení dokumentace knihovny DPDK i samotného kódu. Ukázkové aplikace využívají poměrně nové funkcionality knihovny, a proto neočekávám výraznější využití odborné literatury. Některé zdroje však postrádají uvedení data posledního přístupu.

85
Points proposed by reviewer: 63

Grade proposed by reviewer: D

Responsibility: Mgr. et Mgr. Hana Odstrčilová