Univerzitet u Beogradu
Katedra za računarstvo i informatiku

PLATO

Programski jezici i alati

Direktno snimanje podataka i deljenje snimaka između aplikacija u oblaku

Motivacija

Aplikacije zasnovane na oblaku i bezserverske (serverless) aplikacije često pokreću više instanci istog programa u izolovanim okruženjima za izvršavanje. Svaka instanca može iznova da obavlja pripremu istih podataka, na primer da učita i inicijalizuje model mašinskog učenja ili da izgradi strukture potrebne za obradu zahteva. Ova ponovljena priprema produžava vreme pokretanja i povećava upotrebu procesora, dok duplirani podaci zauzimaju dodatnu memoriju i mogu da povećaju troškove računarstva u oblaku.

Pristup DOSS

DOSS je sistem za direktno pravljenje snimaka objekata iz hipa programa i njihovu ponovnu upotrebu u kompatibilnim okruženjima za izvršavanje. Za razliku od pristupa zasnovanih na serijalizaciji, on beleži objekte bez pretvaranja u posredni format, pa se snimci mogu učitati bez deserijalizacije. Tako se mogu ponovo koristiti podaci pripremljeni tokom izvršavanja programa, umesto da snimci sadrže samo stanje poznato u vreme prevođenja.

Hip za snimke i integracija sa okruženjem

DOSS uvodi poseban hip za snimke koji predstavlja pomoćnu memorijsku oblast za upravljanje snimcima objekata. Programabilni interfejs nudi operacije za pravljenje, čuvanje, učitavanje i uklanjanje snimaka objekata. Integracija sa jezičkim okruženjem za izvršavanje usklađuje upravljanje snimcima sa rasporedom objekata u memoriji i sakupljanjem otpada, kao i rešava uslove potrebne za bezbedno učitavanje i deljenje objekata čije su reference vezane za memorijske adrese. Za razliku od postojećih tehnika, DOSS radi uporedo sa izvršavanjem programa i omogućava instancama jezičkog okruženja da dele podatke između više instanci aplikacije, čime značajno smanjuje vreme učitavanja i ukupno memorijsko zauzeće sistema.

GraalDOSS

GraalDOSS, referentna implementacija sistema DOSS za JVM, napisana je u jeziku Java kao proširenje jezičkog okruženja Oracle GraalVM i njegovog sakupljača otpada. Uz GraalDOSS, GraalVM postaje jedino jezičko okruženje za izvršavanje do danas koje može da učita snimke objekata u konstantnom vremenu i da ih deli između instanci jezičkog okruženja tokom izvršavanja programa.

Evaluacija pomoću Jasper-a

Za potrebe evaluacije sistema GraalDOSS, istraživanje obuhvata i Jasper — okvir za benčmarke usmeren na aplikacije zasnovane na oblaku, koji procenjuje GraalDOSS skupom testova ispravnosti i robusnosti, mikro-benčmarkovima i benčmarkovima na nivou aplikacije. Performanse se porede sa Java bibliotekama za tekstualnu i binarnu serijalizaciju, a evaluacija obuhvata trajanje operacija nad snimcima, kašnjenje aplikacije, skalabilnost i ukupnu potrošnju memorije između instanci.

Zahvalnica

GraalDOSS je razvijen u okviru istraživačke saradnje između Matematičkog fakulteta i kompanije Oracle LLC. Više informacija o sistemu GraalDOSS dostupno je u pratećoj publikaciji (Ristović et al., 2026b) i povezanoj doktorskoj disertaciji (Ristović, 2026a). Američki patent za pronalazak (US Letter Patent) koji se odnosi na GraalDOSS trenutno je u postupku objavljivanja (Ristović et al., 2025).

Literatura

  • Ivan Ristović, Milena Vujosević Janicić, Peter Hofer, Vojin Jovanović: Object Snapshotting and Sharing Across Application Instances. US Letter Patent, ORC25139810-US-NPR, 2025.
  • Ivan Ristović: Direct Data-Snapshotting and Snapshot Sharing Across Cloud-Native Applications. Doctoral Dissertation, Faculty of Mathematics, University of Belgrade, 2026a.
  • Ivan Ristović, Vojin Jovanović, Peter Hofer, Milena Vujošević Janičić: GraalDoss: Direct Object Snapshotting and Sharing for Cloud-Native Applications. Future Generation Computer Systems, 108375, 2026b. https://doi.org/10.1016/j.future.2026.108375