| | SLO | ENG | Cookies and privacy

Bigger font | Smaller font

Show document Help

Title:A general-purpose node editor for graph pipelines with just-in-time parallel execution : master's thesis
Authors:ID Nikov, Mitko (Author)
ID Mongus, Domen (Mentor) More about this mentor... New window
ID Žalik, Mitja (Comentor)
Files:.pdf MAG_Nikov_Mitko_2026.pdf (56,69 MB)
MD5: 1B9321E6F42C85C5CB7B7A7E7EDB494A
 
Language:English
Work type:Master's thesis/paper
Typology:2.09 - Master's Thesis
Organization:FERI - Faculty of Electrical Engineering and Computer Science
Abstract:In this thesis, we design a general-purpose, high-performance node editor for graph-based pipelines. It supports dynamically loading and hot-reloading node definitions via DLLs, integrates (JIT) parallel execution, and works with an advanced variant and type conversion system. We also introduce a custom-built retained-mode Direct2D rendering engine optimized for node graph visualization and interaction. The proposed implementation is validated through a series of evaluations, including an applied geospatial pipeline, JIT scheduling performance across input sizes, and scalability on synthetic, highly parallel graphs. Empirical results indicate near-theoretical multi-threaded speedup with high CPU utilization, overhead reductions on light workloads attributable to the JIT scheduler, and overall low engine overhead. Additionally, a comprehensive comparison with industry-standard editors (LabVIEW, Blender, Unreal Engine) is presented, highlighting the unique support for custom hot-reloadable nodes, CLI execution of individual graphs, and incremental graph execution. Finally, we showcase ongoing real-world deployments of our node editor system.
Keywords:node editor, graphs, parallelization, dataflow computation, just-in-time execution
Place of publishing:Maribor
Place of performance:Maribor
Publisher:[M. Nikov]
Year of publishing:2026
Number of pages:1 spletni vir (1 datoteka PDF (XIII, 54 str.))
PID:20.500.12556/DKUM-96980 New window
UDC:004.4'232(043.2)
COBISS.SI-ID:270487555 New window
Publication date in DKUM:03.03.2026
Views:208
Downloads:64
Metadata:XML DC-XML DC-RDF
Categories:KTFMB - FERI
:
Copy citation
  
Average score:(0 votes)
Your score:Voting is allowed only for logged in users.
Share:Bookmark and Share



Hover the mouse pointer over a document title to show the abstract or click on the title to get all document metadata.

Licences

License:CC BY-NC-ND 4.0, Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
Link:http://creativecommons.org/licenses/by-nc-nd/4.0/
Description:The most restrictive Creative Commons license. This only allows people to download and share the work for no commercial gain and for no other purposes.
Licensing start date:09.02.2026

Secondary language

Language:Slovenian
Title:Splošnonamenski urejevalnik vozlišč za grafovske cevovode s sprotnim vzporednim izvajanjem
Abstract:V magistrskem delu predstavimo zasnovo in implementacijo splošnonamenskega, visokozmogljivega urejevalnika vozlišč za grafovske cevovode. Ta uporabnikom omogoča vizualno grajenje in izvajanje procesnih cevovodov. Slednji so predstavljeni v obliki acikličnega grafa, pri čemer vozlišča predstavljajo operacije ali funkcije, povezave med njimi pa tok podatkov. Grafovski cevovodi so ključni koncept na številnih področjih, kot so obdelava podatkov, strojno učenje, računalniška grafika in avtomatizacija delovnih tokov, saj omogočajo modularno, pregledno in učinkovito modeliranje kompleksnih procesov. Urejevalnik vozlišč, ki smo ga zasnovali v tem magistrskem delu, je zmogljiv, razširljiv in enostaven za uporabo, zato je v praksi koristen za različne namene. Zasnovani sistem podpira dinamično nalaganje in zamenjavo definicij vozlišč iz dinamičnih knjižnic (DLL) med delovanjem, vključuje sprotno (JIT) vzporedno izvajanje in uporablja napreden sistem tipov s pretvorniki, ki omogočajo varno povezovanje priključkov različnih vhodov in izhodov med vozlišči. Pred zagonom pogon izvaja statično preverjanje grafov, skladnosti podatkovnih tipov ter prisotnosti ciklov, kar zagotavlja pravilnost izračuna. Za vizualizacijo in interakcijo z grafi smo razvili namenski upodabljalni pogon, ki temelji na Direct2D in je optimiziran za izris velikih grafov. Urejevalnik serializira in hrani grafe v formatu JSON, kar omogoča njihovo nalaganje ob ponovnem zagonu in izvajanje grafov brez grafičnega vmesnika prek ukazne vrstice (CLI). S tem omogočamo uporabo sistema v različnih okoljih, vključno s strežniki in avtomatiziranimi cevovodi. Implementirani urejevalnik eksperimentalno ovrednotimo v treh sklopih: (i) praktičen geoprostorski cevovod (agregacija točk in tvorjenje toplotnih kart) od uvoza do vizualizacije, (ii) merjenje zmogljivosti JIT razvrščevalnika ter (iii) razširljivost na sintetičnih usmerjenih acikličnih grafih (DAG) z visoko stopnjo paralelizma. Vgrajena instrumentacija meri uporabniški, procesorski in režijski čas izvajanja. V eksperimentih preizkusimo več nastavitev števila niti, da prikažemo učinek paralelizacije in režijskega časa samega pogona. Empirični rezultati prikazujejo skoraj teoretičen pospešek pri večnitnem izvajanju z visoko izkoriščenostjo CPU, zmanjšanje režijskega časa v primerih z lahkimi obremenitvami, kar je mogoče pripisati JIT razvrščevalniku, in nizek režijski čas pogona. Geoprostorski primer potrdi aplikativno delovanje od uvoza podatkov do vizualizacije, inkrementalno izvajanje pa opazno zmanjša ponovne izračune pri delnih spremembah in iterativnem razvoju cevovoda. Diagnostični podatki omogočajo hitro prepoznavo ozkih grl in optimizacijo cevovodov. V magistrskem delu naredimo tudi obširno primerjavo z obstoječimi urejevalniki vozlišč v industriji in kreativnih okolij (LabVIEW, Blender, Unreal Engine), pri čemer izpostavimo, da ti praviloma ne ponujajo podpore za izmenjavo definicij vozlišč med delovanjem, strogo statično preverjanje grafov, inkrementalno izvajanje ter izvajanje prek CLI. Naš pristop združuje možnost nalaganja zunanjih definicij vozlišč z zanesljivim sprotnim izvajanjem in s tem zapolnjuje vrzel med orodji za hitro iteracijo in orodji za avtomatizirane cevovode. Omejitve in nadaljnje delo vključujejo podporo za zanke in vgnezdeni grafi, izračun s podporo GPU ter pretvorbo obstoječih funkcij PyTorch C++ v vozlišča, kar bi omogočilo nalaganje, urejanje, učenje in inferenco modelov umetne inteligence znotraj urejevalnika vozlišč.
Keywords:urejevalnik vozlišč, grafi, paralelizacija, podatkovno vodeno računanje, sprotno izvajanje


Comments

Leave comment

You must log in to leave a comment.

Comments (0)
0 - 0 / 0
 
There are no comments!

Back
Logos of partners University of Maribor University of Ljubljana University of Primorska University of Nova Gorica