bakalářská práce

Akcelerace síťových aplikací pomocí RTE Flow

Text práce 1.14 MB

Autor práce: Bc. Jakub Socha

Ak. rok: 2024/2025

Vedoucí: Ing. Jan Kučera, Ph.D.

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

Abstrakt:

Moderní sítě vyžadují vysokou propustnost a nízkou latenci, což tradiční jádrové zpracování paketů nezvládá. Tato práce demonstruje hardwarově akcelerované síťové funkce pomocí NVIDIA ConnectX SmartNIC a DPDK RTE Flow API. Cíle zahrnují: měření výkonu hardwarových offloadů, dynamickou správu pravidel přes šablony a stavové zpracování pomocí sledování spojení. Byly vyvinuty tři aplikace – vysokorychlostní IP filtr s asynchronní správou pravidel, hardwarový router s přepsáním MAC adres a stavový L4 firewall využívající sledování spojení na NIC. Práce poskytuje architektonické vzory pro kombinaci funkcí RTE Flow (hairpin fronty, MODIFY_FIELD), potvrzující schopnost programovatelných NIC plnit komplexní síťové funkce při zachování linkové rychlosti.

Klíčová slova:

DPDK, rte_flow, MLX5, RSS

Termín obhajoby

18.06.2025

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaDznamka

Klasifikace

D

Průběh obhajoby

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.

Otázky k obhajobě

  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í? 

Jazyk práce

angličtina

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

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)

Posudek vedoucího
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).

Kritérium hodnocení Slovní hodnocení
Informace k zadání

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.

Práce s literaturou

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

Aktivita během řešení, konzultace, komunikace

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.

Aktivita při dokončování

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

Publikační činnost, ocenění

Výsledky práce nebyly publikovány.

Výsledný počet bodů navržený vedoucím: 65

Známka navržená vedoucím: D

Posudek oponenta
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ů.

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: obtížnější zadání

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ší.

Prezentační úroveň technické zprávy

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
Formální úprava technické zprávy

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
Realizační výstup

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
Využitelnost výsledků

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.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno pouze částečně s vážnějšími výhradami

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í.

Rozsah technické zprávy

Stupeň hodnocení: splňuje pouze minimální požadavky

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.

Práce s literaturou

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
Výsledný počet bodů navržený oponentem: 63

Známka navržená oponentem: D

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová