Dr. Yu David Liu z ameriške univerze New York Binghamton je leta 2022 prejel Fulbrightovo štipendijo za štirimesečno raziskovanje na področju zelenega računalništva na Univerzi v Mariboru. Na Inštitutu za računalništvo Fakultete za elektrotehniko in računalništvo (FERI) sodeluje pri oblikovanju in implementaciji energijsko ozaveščenega programskega jezika s sposobnostjo samooptimizacije, ki ga poganja evolucijsko računalništvo. Z njim sem se pogovarjal o energetski optimizaciji računalniških programov, energetsko potratnih uporabniških navadah ter prihodnosti zlitja človeka in tehnologije.
Kaj je osnovni problem, ki ga poskušate rešiti?
Moje raziskovalno področje je trajnostno računalništvo. Računalniške sisteme prihodnosti želimo s sodelavci zasnovati na boljši način – tako da bi zmanjšali porabo energije. V splošnejšem smislu me zanima tudi, kako lahko tovrstni sistemi programske in strojne opreme pripomorejo k razvoju bolj trajnostne družbe.
V ta namen razvijate programsko opremo, ki zmanjšuje energetsko porabo računalnikov.
Tako je. Načini varčevanja z energijo predstavljajo velik del tega, kar počnemo. V širšem pomenu trajnostnega računalništva pa gledamo tudi na to, kako lahko obnovljivi viri energije delujejo z računalniškimi sistemi. To je druga dimenzija našega dela, se pravi, kako prilagoditi delovanje računalnikov na omejene količine razpoložljive energije.
Ali lahko računalniška programska oprema deluje drugače glede na vir energije?
Lahko je energetsko prilagodljiva, ja. Če imate na voljo veliko energije, lahko vaš računalnik naredi več. Če je nimate, se računalnik ne more preprosto ugasniti, še vedno mora vzdrževati nekatere osnovne funkcije. Če vaš računalnik poganja sončna energija, morate tako ob sončnih dnevih skrbeti za prihodnje deževne dni.
V širšem smislu trajnostnega računalništva ljudi skrbi tudi celoten življenjski cikel opreme. Proizvodnja strojne opreme je energetsko potratna. Oprema se lahko tudi postara in jo bo treba kdaj zamenjati. Proizvodnja nekega dela zahteva dodatno energijo. Gre torej za celoten ekosistem trajnostnega računalništva.
Moje delo je sicer bolj na strani programske opreme. Naše stališče je, da je programska oprema lahko boljša – če je programska oprema oblikovana bolje, potem bi bila tudi njena interakcija s strojno opremo kakovostnejša; sčasoma dobite energetsko učinkovitejši in trajnostnejši računalnik.
Doslej ste oblikovali nekaj programskih rešitev za varčevanje z energijo. S čim se trenutno ukvarjate?
Trenutno sem Fulbrightov štipendist na Univerzi v Mariboru. Fulbright je program akademske in kulturne izmenjave s ciljem izboljšanja medsebojnega razumevanja med prebivalci ZDA in drugih držav, v mojem primeru Slovenije. S sodelavci razvijamo sistemsko programsko ogrodje v obliki programskega jezika. Njegov cilj je programerjem – ki so pisci programske opreme – omogočiti, da izrazijo svoje namere glede varčevanja z energijo med delovanjem njihove programske opreme. Sistem, ki ga načrtujemo, temelji na evolucijskem računalništvu – s to metodo ugotovimo, kako naj se programska oprema najbolje prilagodi ob pravem času, da izpolni namere programerja.
Kaj točno je evolucijsko računalništvo?
V bistvu se zgleduje po biološkem svetu. Vrste se razvijajo iz generacije v generacijo – in enako je z računalniki. Evolucijsko računalništvo je računalniški način posnemanja tega biološkega procesa.
Računalnik se torej sam nauči, kdaj in kako varčevati z energijo?
Točno to se dogaja. Ko začnete uporabljati programsko opremo, imate morda več možnosti, vendar ne veste, katera je najboljša – to ugotovite sčasoma. To počnejo tudi evolucijski algoritmi. Preizkušajo različne možnosti in se učijo iz rezultatov. Po številnih poskusih ugotovijo, katera možnost je najboljša. Tako poskušamo najti najbolj energetsko učinkovite načine za delovanje programske opreme.
Koliko energije lahko programske aplikacije prihranijo z uporabo vaših orodij, torej programske opreme, ki ste jo s sodelavci razvili do sedaj?
Odvisno od aplikacije. Po naših izkušnjah lahko prihranimo od 30 do 40 odstotkov porabe energije aplikacij, ki delujejo na mobilnih telefonih. To je odvisno od tega, katero aplikacijo uporabnik uporablja in kaj od nje pričakuje.
Če na primer uporabnik reče, da želi, da se vsi rezultati iskanja vrnejo v eni milisekundi, ne morete narediti veliko. Če pa uporabnik dovoli, da se nekateri rezultati vrnejo v sekundi, se nenadoma odpre ogromen prostor za varčevanje z energijo.
Kakšna je razlika glede porabe energije med sekundo in milisekundo?
V zakulisju se dogaja to, da ti strežniki niso le ena procesorska enota. Običajno gre za vojsko takšnih procesorskih enot. Če ste zahtevnejši od posameznega sistema, potem vaša zahteva potrebujete več procesnih enot. Njihovo napajanje porablja energijo, zato lahko počasnejše delovanje varčuje z njo.
Toda pri energetski učinkovitosti obstajajo kompromisi, kajne?
Veliko kompromisov pride na področju, imenovanem kakovost storitve. V bistvu gre za to, kaj vam programska oprema lahko ponudi.
Recimo, da želite svojemu prijatelju poslati sporočilo prek družbenih omrežij. Čas, ki je potreben, da te informacije dosežejo drugo napravo, določa, koliko energije porabi operacija. Če res želite, da se to zgodi v realnem času, bo operacija potrebovala več energije, kot če rečete, da je v redu, če naprava sporočilo dostavi v minuti. Tu je potencial za varčevanje z energijo velik.
Lahko bi torej varčevali z energijo, če bi bili pripravljeni, da naša tehnologija deluje na manj kot optimalen način, kjer in kadar optimalno delovanje ni nujno. Ali menite, da so potrošniki prezahtevni, ko gre za nenujno uporabo tehnologije?
Mislim, da je na koncu ključna raznolikost. Ljudje imamo različne potrebe – in to je treba izraziti. Če pogledate današnji razvoj programske opreme – njeni razvijalci ne bodo rekli, da lahko njihova programska oprema deluje na 20 različnih načinov in da vsak drugačen način porabi različne količine energije. Tu nastopijo naša orodja. Pristop, ki temelji na programskem jeziku, razvijalcem programske opreme ponudi način, da izrazijo te raznolike potrebe.
Ali obstaja kakšen komercialni interes za to, kar počnete?
Obstaja zanimanje za zeleno informacijsko tehnologijo v širšem smislu. Velika podjetja imajo svoje ekipe za trajnostni razvoj, ki govorijo o izravnavi izpustov ogljikovega dioksida in podobnih temah.
Kakšna bi bila kapitalistična spodbuda za uporabo vaše kode, razen morda za promocijo blagovne znamke kot bolj zelene?
Zakaj ne bi nekdo želel uporabljati svojega telefona brez polnjenja deset ur – namesto osem? Naše delo seveda vsebuje ponudbo vrednosti. Obstajajo tudi novejše razprave o tem, kako je mogoče v take sisteme vgraditi ekonomske modele, in sicer na način, da si zaslužiš več kreditov, če si bolj trajnosten. To bi bila torej nekakšna ekonomska spodbuda.
Recimo ocene ESG?
Menim, da lahko tudi ozaveščanje splošne javnosti naredi nekaj dobrega, ne le ekonomske spodbude. Sem optimističen glede človeštva. Mislim, da ljudje poskušajo delati prave stvari, dokler jim te ne povzročajo velikih preglavic. Če ljudje v resnici ne žrtvujejo tega, kar potrebujejo, gre za vprašanje priročnosti. In res se bi moral vsakdo vprašati, ali potrebuje rezultat iskanja v eni milisekundi ali je v redu, če rezultat dobi v eni sekundi, kar prihrani veliko energije. Mislim, da širša javnost te enačbe ne pozna nujno.
Lahko energetska optimizacija računalniških aplikacij postane standard za prihodnost?
To, kar počnemo, je, da poskušamo opolnomočiti ljudi – v tem primeru programerje – na način, da jim ponudimo sintaktične ali semantične konstrukte v programskem jeziku, da bodo lahko njihovi programi okolju prijazni. Ponudimo jim način, da izrazijo svoje želje, in ko jih izrazijo, lahko ostalo prepustimo računalniškemu sistemu.
Če človek ne more sodelovati v tem procesu, se preprosto zanaša na stroj, ki pa je pri optimizaciji omejen. Verjamem, da bo, če bomo v prihodnosti še naprej premikali meje, prišlo do številnih rešitev glede tega, kako ljudje in računalniki sodelujejo in si pomagajo.
Kje vidite sinergijo med ljudmi in stroji v prihodnosti?
Po mojem mnenju mora biti tehnološki razvoj – ne glede na to, kam gre – osredotočen na človeka. Tehnologija je zasnovana z razlogom, da bi izboljšala naša življenja. Trajnost je dober primer tega. Če je vaša edina želja, da je tehnologija hitrejša, če je vaš edini cilj, da se tehnološko delovanje izboljša še za 20 odstotkov, bo družba trpela. Smo ljudje in konec koncev bi nam moralo biti bolj mar za naša življenja in življenja prihodnjih generacij kakor za izboljšanje tehnološke zmogljivosti za nadaljnjih 20 odstotkov.