Performance of WebAssembly-based Containerized Applications on Distributed Systems
Färm, Minna (2025)
Färm, Minna
2025
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
Hyväksymispäivämäärä
2025-04-16
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202504163765
https://urn.fi/URN:NBN:fi:tuni-202504163765
Tiivistelmä
WebAssembly on alunperin verkkosovelluksia varten kehitetty teknologia, joka määrittelee käännöskohteen ohjelmointikielille. Wasm-projekti lupaa, että tätä spesifikaatiota noudattavat tiedostot ovat pieniä, alustojen välillä siirrettäviä ja tehokkaita. Ne ovat myös ajettavissa nettiselaimissa tai erillisillä, Wasmin ajamiseen tarkoitetuilla suoritusympäristöillä, joita on myös lähiaikoina integroitu pilvijärjestelmiin. Wasmin käyttö on kuitenkin vielä melko vähäistä.
Tässä työssä tutkitaan ja analysoidaan Wasmin esittämien lupauksien paikkansapitävyyttä ja sen ympärillä olevaa teknologista ekosysteemiä. Tutkimustavoitteiden saavuttamista varten työn osana on tuotettu suorituskykyä mittaava ohjelma, jota ajetaan Wasmin avulla ja ilman. Ajoja suoritetaan myös pilviympäristössä ja lokaalisti vertailukelpoisella alustalla.
Suorituskykymittausten tulosten perusteella todetaan, että WebAssemblyn tehokkuus on samaa luokkaa kuin vertailukohteen. Wasm kuitenkin kärsii selkeistä eroista tehokkuudessa joissain tilanteissa, mikä vaikuttaa sen tämänhetkiseen käytettävyyteen tuotannossa. Samankaltaisia ongelmia havaitaan sen ympärillä olevassa teknologisessa ekosysteemissä, joka ei ole riittävän kehittynyt laajempaa käyttöönottoa varten. WebAssembly is a technology originally created for web applications, which specifies a compilation target for many programming languages. Wasm project promises small size, transportability and good performance for artifacts compiled to the specification, which can be ran either on the web or on separate runtimes intented for it specifically. These runtimes have also been recently integrated into cloud infrastructure, but they are not yet widely adopted and used.
In this thesis, the claims of Wasm are investigated and the technological ecosystem existing around it is analyzed. These goals are achieved by creating a benchmarking application that is ran with and without using Wasm. This application is also ran in cloud environment as well as natively on a comparable machine.
Results of this benchmarking indicate that WebAssembly's performance is indeed "near-native", as per the claims made. It does however, suffer from performance gaps in some situations which affect its usability in production in its current state. This also applies to the technological ecosystem around it, which is not mature enough to allow for wider adoption.
Tässä työssä tutkitaan ja analysoidaan Wasmin esittämien lupauksien paikkansapitävyyttä ja sen ympärillä olevaa teknologista ekosysteemiä. Tutkimustavoitteiden saavuttamista varten työn osana on tuotettu suorituskykyä mittaava ohjelma, jota ajetaan Wasmin avulla ja ilman. Ajoja suoritetaan myös pilviympäristössä ja lokaalisti vertailukelpoisella alustalla.
Suorituskykymittausten tulosten perusteella todetaan, että WebAssemblyn tehokkuus on samaa luokkaa kuin vertailukohteen. Wasm kuitenkin kärsii selkeistä eroista tehokkuudessa joissain tilanteissa, mikä vaikuttaa sen tämänhetkiseen käytettävyyteen tuotannossa. Samankaltaisia ongelmia havaitaan sen ympärillä olevassa teknologisessa ekosysteemissä, joka ei ole riittävän kehittynyt laajempaa käyttöönottoa varten.
In this thesis, the claims of Wasm are investigated and the technological ecosystem existing around it is analyzed. These goals are achieved by creating a benchmarking application that is ran with and without using Wasm. This application is also ran in cloud environment as well as natively on a comparable machine.
Results of this benchmarking indicate that WebAssembly's performance is indeed "near-native", as per the claims made. It does however, suffer from performance gaps in some situations which affect its usability in production in its current state. This also applies to the technological ecosystem around it, which is not mature enough to allow for wider adoption.