UNIVERZITET U TUZLI
FAKULTET ELEKTROTEHNIKE
O B J A V L J U J E
Kandidat Mak Redžić, bachelor inž. el., javno će braniti završni magistarski rad pod nazivom “Integracija C++20 korutina i Linux io_uring mehanizma za razvoj visokoperformantnog asinhronog sistema za logiranje”, u petak, 10.04.2026. godine u 11:00 sati u Stelektu, pred Komisijom u sastavu:
- Dr. sc. Amer Hasanović, redovni profesor
na užoj naučnoj oblasti “Računarstvo i informatika” na Fakultetu elektrotehnike Univerziteta u Tuzli – predsjednik komisije, - Dr.sc. Edin Pjanić, vanredni profesor
na užoj naučnoj oblasti “Računarstvo i informatika” na Fakultetu elektrotehnike Univerziteta u Tuzli – mentor i član komisije, - Dr.sc. Emir Mešković, vanredni profesor
na užoj naučnoj oblasti “Računarstvo i informatika” na Fakultetu elektrotehnike Univerziteta u Tuzli – član komisije.
- Dr. sc. Emir Skejić, vanredniprofesor – zamjenski član
(uža naučna oblast ”Računarstvo i informatika ” Fakultet elektrotehnike Univerziteta u Tuzli),
Završni magistarski rad može se pogledati u Sekretarijatu Fakulteta radnim danom od 10,00 do 14,00 sati.
Pristup javnosti je slobodan.
REZIME RADA
Ovaj magistarski rad istražuje mogućnosti kombinovanja C++20 korutina i io_uring mehanizma u cilju razvoja efikasnih asinhronih softverskih sistema. Fokus rada je na razumijevanju i demonstraciji savremenih pristupa asinhronom programiranju u C++ okruženju, a ne na samom problemu logiranja kao krajnjem cilju. Kao praktičan primjer integracije ovih tehnologija razvijen je sistem za logiranje pod nazivom MrLogger.
U radu je analiziran problem performansi kod tradicionalnih sinhronih I/O operacija, posebno u aplikacijama sa velikim stepenom konkurentnosti. Takvi sistemi često pate od blokiranj niti i povećane latencije, što negativno utječe na ukupne performanse. Korištenjem asinhronog pristupa omogućava se efikasnije upravljanje resursima i neblokirajuće izvršavanje operacija.
Implementacija koristi io_uring kao savremeni Linux mehanizam za izvođenje I/O operacija sa smanjenim brojem sistemskih poziva. Istovremeno, C++20 korutine omogućavaju strukturiran i pregledan način upravljanja asinhronim tokom izvršavanja. Njihova kombinacija omogućava izgradnju sistema koji su i efikasni i razumljivi za razvoj.
MrLogger je implementiran kao demonstracioni sistem koji koristi arhitekturu proizvođač–potrošač, gdje se log poruke obrađuju asinhrono. Korutine upravljaju izvršavanjem zadataka, dok io_uring omogućava optimizovan pristup diskovnimoperacijama. Ovakav pristup smanjuje blokiranje i poboljšava skalabilnost sistema u uslovima većeg opterećenja.
Eksperimentalna evaluacija obuhvata poređenje sa postojećim rješenjima, uključujući biblioteku spdlog. Rezultati pokazuju da razvijeni pristup ne donosi prednosti u jednostavnim, jednonitnim scenarijima. Međutim, u okruženjima sa više niti, ovo rješenje pokazuje bolju skalabilnost i efikasnije upravljanje konkurentnim operacijama.
Dobijeni rezultati potvrđuju da kombinacija C++20 korutina i io_uring predstavlja perspektivan pristup za razvoj visokoperformantnih asinhronih sistema. Iako implementacija uvodi dodatnu kompleksnost i zavisnost od Linux platforme, pokazuje značajan potencijal u aplikacijama sa visokim zahtjevima za performansama.
Rad time doprinosi boljem razumijevanju modernih tehnika asinhronog programiranja i pruža
osnovu za njihovu primjenu u različitim domenima softverskog inženjerstva.
Ključne riječi: C++20 korutine, io_uring, asinhrono programiranje, visokoperformantni sistemi, konkurentnost (multithreading)
