Master's Thesis

Network Switch for 100Gb Ethernet in FPGA

Final Thesis 1.65 MB

Author of thesis: Ing. Tomáš Hak

Acad. year: 2024/2025

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

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

Abstract:

This thesis addresses the topic of hardware acceleration of network data processing, with the main goal being the design, implementation, configuration, and testing of a network switch for 100Gb Ethernet. The switch is developed for target architectures that feature field-programmable gate array (FPGA) chips, which are nowadays a common part of accelerated network interface cards. These chips represent an effective compromise between performance and flexibility of a given solution, as they support highly parallel data streams processing, while also allowing reconfiguration to change their functionality when the need arises. Accelerated network interface cards, often equipped with multiple network interfaces, can thus act as a switch whose functionality can be further extended to support virtualization and monitoring tools. The emphasis in this work is on the modularization of the whole solution and on the compatibility of the switch with standard network device configuration tools.

Keywords:

FPGA, hardware acceleration, SmartNIC, network switch, Ethernet, VLAN, virtualization, AXI4-Stream, NDK-FPGA, cocotb

Date of defence

24.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

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, 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ě.

Topics for thesis defence

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

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Computer Networks (NNET)

Composition of Committee

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)

Supervisor’s report
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.

Evaluation criteria Verbal classification
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.

Points proposed by supervisor: 90

Grade proposed by supervisor: A

Reviewer’s report
Ing. Lukáš Kekely, Ph.D.

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.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: 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

Evaluation level: 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í

Evaluation level: 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.

Topics for thesis defence:
  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)?
Points proposed by reviewer: 92

Grade proposed by reviewer: A

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