Ny doktorsavhandling ska förbättra minneshanteringen av data
Att frigöra minne i datorer och på servrar från data som inte längre används är omständligt. I en ny avhandling i datavetenskap vid Linnéuniversitetet presenterar Erik Österlund ett automatiskt system för minneshantering som ska minska det manuella arbetet.
– Jag kom på grunden till mitt mest intressanta resultat medan jag slappnade av på en semester i Turkiet. Ibland är det bra att komma ifrån koden ett tag!
Det säger Erik Österlund, nybliven doktor i data- och informationsvetenskap vid Linnéuniversitetet. Hans forskning syftar till att automatisera uppgifter runt både implementering och användning av datastrukturer. Detta sker genom att sy ihop olika lager av teknologier – från operativsystemets kärna via programspråk till bibliotek med programkod.
Komplexa datastrukturer
Datastukturer handlar om hur man lagrar data så att den kan sökas och hittas på ett effektivt sätt, vilket kan göras både väldigt enkelt och väldigt komplext. Erik beskriver skillnaden mellan blockerande operationer – procedurer som inte kan köras klart utan att vänta på att någonting annat i systemet ska köras klart först, och som inte kan kontrollera när eller ens om detta händer – och icke-blockerande. Blockerande operationer kan resultera i att hela systemet stannar upp i väntan på att en problematisk, sovande operation ska få köra klart.
– Jag har byggt ett icke-blockerande automatiskt minneshanteringssystem för icke-blockerande datastrukturer, så man slipper göra det manuellt, berättar Erik. Systemet kan även upptäcka den bästa datastrukturen automatiskt.
Eriks forskning kan alltså komma till nytta för programmerare, men ligger på en nivå som är osynlig för oss vanliga användare av datorer, webbtjänster och liknande.
– Möjligtvis att tjänster man använder skulle kännas som att de flyter på bättre utan att hacka till ibland, eller att man kan använda nya tjänster som inte kunde ha byggts annars, säger han.
Forskning och arbete parallellt
Erik, som började programmera i språket C++ när han var 12 år gammal, läste datavetenskapligt program vid Linnéuniversitetet. Han har forskat under närmare tio år, parallellt med sitt arbete på programvaruföretaget Oracle. På Oracle arbetar han med automatisk minneshantering i programmeringsspråket Java, vilket ligger mycket nära det han forskat inom.
Vad är det mest spännande med att bedriva forskning?
– Jag tyckte det var väldigt roligt att få sätta egna mål, mål som man inte visste om det ens skulle gå att uppnå, och göra sitt bästa för att klara av det. Det är utmanande, och därmed spännande!
Mer information
- Avhandlingen Going beyond on-the-fly garbage collection and improving self-adaption with enhanced interfaces lades fram vid Linnéuniversitetet i oktober 2019.
- Erik Österlunds publikationer i forskningsdatabasen DiVA