diplomová práce

Síťový přepínač pro 100Gb Ethernet v FPGA

Text práce 1.65 MB

Autor práce: Ing. Tomáš Hak

Ak. rok: 2024/2025

Vedoucí: Ing. Jiří Matoušek, Ph.D.

Oponent: Ing. Lukáš Kekely, Ph.D.

Abstrakt:

Tato práce se zabývá problematikou hardwarové akcelerace zpracování síťových dat, přičemž jejím hlavním cílem je návrh, implementace, konfigurace a testování síťového přepínače pro 100Gb Ethernet. Přepínač je vyvíjen pro cílové architektury využívající čipy s programovatelnými hradlovými poli (FPGA), které jsou dnes běžnou součástí akcelerovaných síťových karet. Takové čipy představují efektivní kompromis mezi výkonností a flexibilitou daného řešení, neboť umožňují vysoce paralelní zpracování datových toků, a zároveň je možné je v případě potřeby rekonfigurovat a změnit tak jejich funkcionalitu. Akcelerované síťové karty, často vybavené několika síťovými rozhraními, tak mohou zastávat roli přepínače, jehož funkcionalita může být navíc dále rozšířena o podporu nástrojů pro virtualizaci a monitorování sítí. Důraz je v této práci kladen na modularizaci celého řešení a na kompatibilitu přepínače se standardními nástroji pro konfiguraci síťových zařízení.

Klíčová slova:

FPGA, hardwarová akcelerace, SmartNIC, síťový přepínač, Ethernet, VLAN, virtualizace, AXI4-Stream, NDK-FPGA, cocotb

Termín obhajoby

24.06.2025

Výsledek obhajoby

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

znamkaAznamka

Klasifikace

A

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, např. ohledně způsobu implementace AXI rozhraní, důvod pro použití AXI sběrnice či konkrétně implementovaných bloků přepínače. 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 A - výborně.

Otázky k obhajobě

  1. Jaký je aktuální stav a postup začlenění (Merge Request) vytvořené implementace do hlavní větve balíčku/repozitáře platformy NDK? Kdy očekáváte dokončení tohoto procesu?
  2. Na obrázku 5.1 je zobrazen graf propustnost zpracování rámců různých délek. Co by bylo potřeba v implementaci změnit pro zmírnění/odstranění zobrazených propadů propustnosti v případě nezarovnaných délek rámců?
  3. Je možné jednoduše škálovat praktickou propustnost implementace pro podporu síťových linek s rychlostmi nad 100 Gb/s (např. 400GbE)?

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie a umělá inteligence (MITAI)

Specializace

Počítačové sítě (NNET)

Složení komise

doc. Ing. Petr Matoušek, Ph.D., M.A. (předseda)
prof. Ing. Tomáš Hruška, CSc. (člen)
doc. Ing. Ondřej Lengál, Ph.D. (člen)
doc. Ing. Ondřej Ryšavý, Ph.D. (člen)
Ing. Martin Hrubý, Ph.D. (člen)
Ing. Vojtěch Mrázek, Ph.D. (člen)

Posudek vedoucího
Ing. Jiří Matoušek, Ph.D.

I přes větší náročnost bylo zadání zcela splněno. Práce na implementačních výstupech zároveň směřuje k jejich brzkému zveřejnění na GitHub, čímž dojde ke zpřístupnění první implementace 100 Gb/s síťového přepínače na FPGA. S výsledky práce jsem tedy velmi spokojen a navrhuji hodnocení známkou A.

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

Cílem této práce bylo navrhnout a implementovat síťový přepínač pro síťové karty osazené FPGA čipem. Ačkoliv lze síťový přepínač zařadit mezi standardní síťová zařízení s dobře definovanou architekturou, zadání práce mělo svou náročnost, která spočívala v požadavku na 100 Gb/s propustnost. Tento požadavek přitom vycházel z běžných parametrů platformy NDK-FPGA vyvíjené sdružením CESNET, která se nabízí jako první místo pro uplatnění implementovaného přepínače. Jeho rozhraní je nicméně založeno na standardních sběrnicích podporovaných i hlavními výrobci FPGA čipů, takže je možné jej snadno nasadit v rámci široké škály platforem pro vývoj síťových aplikací akcelerovaných na FPGA. S dosaženými výsledky jsem tedy velmi spokojen.

Aktivita při dokončování

Práce byla dokončena v dostatečném předstihu na to, aby bylo možné provést úplnou revizi první kompletní verze technické zprávy. Moje komentáře sice student obdržel jen dva dny před termínem odevzdání práce, ale i tak je zvládl do finální verze technické zprávy kompletně zapracovat. 

Publikační činnost, ocenění

V tuto chvíli jsou implementační výstupy práce součástí samostatné větve v interní verzi repozitáře NDK-FPGA spravovaného sdružením CESNET. Po začlenění do hlavní vývojové větve nicméně bude implementovaný přepínač k dispozici ve volně přístupné verzi repozitáře NDK-FPGA na serveru GitHub.

Práce s literaturou

Student zvládal práci s literaturou zcela samostatně.

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

Student byl po celou dobu řešení diplomové práce aktivní a svůj postup průběžně konzultoval s odborným konzultantem ze sdružení CESNET. Na tyto konzultace byl vždy řádně připraven.

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

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

Student vytvořil zajímavou implementaci 100GbE přepínače paketů pro čipy technologie FPGA jako součást open source firmwarové platformy NDK. Kvalitou a výkonem tato implementace nezaostává za realizacemi jiných částí této platformy. Praktické využití na síťových kartách s FPGA čipem je tedy jednoduše možné.


Celkově navrhuji hodnocení stupněm A.

Kritérium hodnocení Slovní hodnocení Body
Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Práce splnila všechny body zadání. Realizovány byly všechny požadované častí v dostatečné kvalitě.

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Textová správa má obvyklý rozsah diplomové práce. Ten je rozdělen přibližně půl na půl mezi teoretický rozbor a popis samotné realizace. Nic v textu neschází a nic nepůsobí nadbytečným dojmem.

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

Práce jasně a výstižně uvádí zajímavé informace. Je jasná návaznost kapitol a text má velice dobrou logickou strukturu.  

90
Formální úprava technické zprávy

Technická správa je napsána kvalitní češtinou. Malou připomínkou je občasné použití ne úplně spisovných spojení nebo zbytečně anglických pojmů. Z typografického pohledu je text vhodně formátován. Opět jenom drobná připomínka z pohledu občasného výskytu osamocených slov na koncích řádků.

90
Práce s literaturou

Autor používá a cituje relevantní primární zdroje pro všechny potřebné technologie. Celkový počet referencí je trochu nad rámcem standardu implementační diplomové práce.

90
Realizační výstup

Výsledkem práce je implementace síťového přepínače paketů pro akcelerované zpracování dat na čipu technologie FPGA. Součástí implementace je také konfigurační API v jazyce Python pro ovládání funkce přepínače za provozu. Implementace všech částí byla podrobně otestována pomocí funkční verifikace. Dosaženo je zároveň propustnosti a spotřeby FPGA zdrojů dostatečné pro praktické vysokorychlostní nasazení na linkách o rychlostech až do 100GbE.

95
Využitelnost výsledků

Výsledná realizace bude součástí open source firmwarového repozitáře platformy NDK, kde přidává zajímavou novou funkcionalitu. Praktické využití výsledků je možné v řešených výzkumných projektech sdružení Cesnet na reálných FPGA akcelerovaných síťových kartách. Doporučil bych také zkusit prezentovat schopnosti vytvořené implementace jako poster nebo student paper na vhodnou FPGA nebo síťovou konferenci.

Náročnost zadání

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

Student musel navrhnout a realizovat nejen relativně komplexní FPGA jednotku, ale také její kompletní softwarové řízení spolu s funkční verifikací celého systému.

Otázky k obhajobě:
  1. Na obrázku 5.1 je zobrazen graf propustnost zpracování rámců různých délek. Co by bylo potřeba v implementaci změnit pro zmírnění/odstranění zobrazených propadů propustnosti v případě nezarovnaných délek rámců?
  2. Jaký je aktuální stav a postup začlenění (Merge Request) vytvořené implementace do hlavní větve balíčku/repozitáře platformy NDK? Kdy očekáváte dokončení tohoto procesu?
  3. Je možné jednoduše škálovat praktickou propustnost implementace pro podporu síťových linek s rychlostmi nad 100 Gb/s (např. 400GbE)?
Výsledný počet bodů navržený oponentem: 92

Známka navržená oponentem: A

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