The potential of WebAssembly in Edge Computing

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Date

2024-09-25

Department

Major/Subject

Security and Cloud Computing

Mcode

Degree programme

Master's Programme in Computer, Communication and Information Sciences

Language

en

Pages

53

Series

Abstract

WebAssembly is a well-supported web technology that allows easy conversion of existing code as well as generation of new projects from a multitude of programming languages for the web, in a portable manner. Edge environments, meanwhile, provide a way to distribute workloads near the end user, and allow scaling of execution well. Furthermore, edge environments offer the possibility of decreased latency compared to more conventional cloud services. Combining these could improve the usability and suitability of edge computing in certain kinds of applications, such as data processing for Internet-of-Things (IoT) devices. Therefore, research into combining these technologies makes sense. The objective of this thesis was to study this intersection of WebAssembly and edge environments through examination of performance and usability. Performance was considered through creating a test environment and by benchmarking WebAssembly, while usability was considered by documenting in detail potential problems for developers and the ways how WebAssembly and edge environments can be used together. Overall, the thesis found that even though some roadblocks were encountered during the test environment development and performance was decreased in comparison to locally executed tests, existing C-based benchmarks could be converted to WebAssembly and be run in the selected edge environment with acceptable performance when compared to locally executed tests.

WebAssembly on laajasti verkossa tuettu teknologia ja mahdollistaa hyvin laajalla ohjelmointikieli-kirjolla tehtyjen, olemassa olevien, sekä uusien projektien muuntamisen kannettavaan, verkkoystävälliseen muotoon. Reunalaskenta-ympäristöt vuorostaan mahdollistavat koodin suorittamisen normaalia lähempänä loppukäyttäjää, sekä mahdollistavat rinnakkaisajettavien työtehtävien laajan skaalautumisen tarpeen mukaan. Reuna-ympäristöt voivat myös mahdollistaa matalamman viiveen käyttäjälle perinteisempiin palvelinrakenteisiin verrattuna. Näiden teknologiden yhdistäminen voisi parantaa reunalaskennan käytettävyyttä ja soveltuvuutta tietynlaisten tehtävien suorittamiseen. Esimerkiksi, laskennan osittainen siirtäminen Internet-of-Things (IoT) laitteilta reuna-ympäristöön voisi parantaa kyseisen laitteen suorituskykyä. Tämän vuoksi on tärkeää tutkia, onko WebAssemblyn ja reunalaskennan hyödyntäminen yhdessä sellainen asia, josta voisi olla etua kokonaisuutena. Tässä tutkielmassa tavoitteena on tutkia näiden teknologioiden soveltuvuutta suorituskyvyllisestä näkökulmasta, kuin myös käytettävyyden osalta. Tutkimuksen aikana luotiin testiympäristö ja ajettiin suorituskykytestejä, joita verrattiin paikallisesti toteutettuja testiajoja vastaan. Tutkimuksen aikana myös kerättiin dokumentaatiota WebAssemblyn käytettävyyden parantamista varten, paikallisia- sekä reuna-ympäristöjä ajatellen. Kokonaisuutena, tutkielmassa selvisi, että WebAssembly oli testausta varten valitussa reunaympäristössä hitaampaa, kuin paikallisesti suoritettuna. Kuitenkin, olemassa olevien C-pohjaisten suorituskyky-testien kääntäminen reunaympäristössä toimivaksi WebAssemblyksi oli mahdollista, ja käännetty koodi oli mahdollista suorittaa hyväksyttävällä nopeudella, verrattuna paikallisesti suoritettuihin testeihin.

Description

Supervisor

Vuorimaa, Petri

Thesis advisor

Vepsäläinen, Juho

Keywords

Edge computing, WebAssembly, WASI, Vercel, IoT, benchmarking

Other note

Citation