Graf řízení toku programů v jazyce P4
Control Flow Graph for P4 Programs

Author
Advisor
Kekely, LukášReferee
Šišmiš, LukášGrade
AAltmetrics
Metadata
Show full item recordAbstract
Koncept SDN sa postupne stal jedným z najpopulárnejších riešení správy sietí. Umožňuje rýchlu rekonfigurovateľnosť sieťových zariadení tak, aby odrážala aktuálne požiadavky a taktiež umožňovala rýchle testovanie nových riešení. Týmto podporuje pokrok v sieťovej oblasti. Táto práca sa venuje jazyku P4, ktorý je jednou z implementácií konceptu SDN. Prínosom práce je zlepšenie časti existujúceho open-source prekladača jazyka P4, ktorá slúži na generovanie grafov riadenia toku programu. Nová implementácia zachytáva tok programu aj vo vnútri tabuliek a akcií, čo umožňuje ľahšie kontrolovať výstup prekladu a ďalej optimalizovať prekladač pre potreby redukcie mŕtveho kódu. Taktiež poskytuje možnosť generovať fullgraf vo formáte dot a preddefinovanom json formáte, ktorý zachytáva tok programu naprieč všetkými funkčnými blokmi daného P4 programu. Concept of SDN gradually became one of the most popular solutions for network management. It allows rapid reconfigurability of network devices, to reflect actual demands and to enable quick testing of new solutions, which supports overall advance in networking. This thesis focuses on P4 programming language, which is one of the implementations of SDN concept. The goal of this thesis is improvement of the existing open-source P4 compiler. More precisely, extension of a part used to generate control flow graphs. New implementation captures program flow even inside match-action tables and actions, which allows easier checking of compiler output and further optimization of compiler to reduce dead code. It also provides option to generate a fullgraph in dot format and a predefined json format that captures the flow of the program across all function blocks of the P4 program.
Keywords
SDN, OpenFlow, P4, p4c, prekladač, návštevník, graf riadenia toku, vyhľadávacia tabuľka, dot, fullgraf, SDN, OpenFlow, P4, p4c, compiler, visitor, control flow graph, match-action table, dot, fullgraphLanguage
čeština (Czech)Study brunch
Informační technologieComposition of Committee
doc. Ing. Ondřej Ryšavý, Ph.D. (předseda) doc. Ing. Jan Kořenek, Ph.D. (místopředseda) Ing. Vítězslav Beran, Ph.D. (člen) Ing. Bohuslav Křena, Ph.D. (člen) Ing. Filip Orság, Ph.D. (člen)Date of defence
2022-06-16Process 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 A. Otázky u obhajoby: Jaké má vygenerované řízení toku praktické využití? Navazuje někdo na backend vašeho rozšíření? Optimalizujete nějakým způsobem paralelní seřazení tabulek?Result of the defence
práce byla úspěšně obhájenaPersistent identifier
http://hdl.handle.net/11012/207243Source
PONEK, T. Graf řízení toku programů v jazyce P4 [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2022.Collections
- 2022 [309]