Please use this identifier to cite or link to this item:
https://hdl.handle.net/10356/183892
Title: | Release-acquire semantics in WebAssembly | Authors: | Teo, Keith Kai Jie | Keywords: | Computer and Information Science | Issue Date: | 2025 | Publisher: | Nanyang Technological University | Source: | Teo, K. K. J. (2025). Release-acquire semantics in WebAssembly. Final Year Project (FYP), Nanyang Technological University, Singapore. https://hdl.handle.net/10356/183892 | Project: | CCDS24-0672 | Abstract: | The Web has evolved from a simple document sharing protocol to a platform distributing sophisticated programs from 3D games, real-time streaming, machine learning models, and more. This has increased the need for fast and secure code execution on the Web. However, JavaScript—the Web's first natively supported language—was not originally designed to meet the performance and safety demands of modern applications. WebAssembly (Wasm), the second natively supported programming language on the Web, was built to achieve this. Wasm is a portable, low-level bytecode format, designed to securely execute with minimal overhead. Critically, Wasm also acts as an effective compilation target for other languages such as Rust and C++, allowing developers to port such programs to the Web. Beyond the Web, Wasm is also gaining traction as a basis for a new class of platform-independent virtual machines. However, Wasm still lags behind natively compiled code in speed. One reason for this is that as CPU clock speeds have stagnated while the number of cores continues to increase, multi-threading has become one of the most important ways to optimize a program. But Wasm is still developing the semantics needed to utilize the full range of multi-threaded optimizations on modern machines. This paper adds new instructions to Wasm which implement release-acquire semantics. I also extend the Wasm compilation toolchain and runtime to accept them. We show that in the x86 architecture, which has a strong memory model, we can achieve a 2.4x speedup on spinlocks in low contention scenarios. | URI: | https://hdl.handle.net/10356/183892 | Schools: | College of Computing and Data Science | Fulltext Permission: | restricted | Fulltext Availability: | With Fulltext |
Appears in Collections: | CCDS Student Reports (FYP/IA/PA/PI) |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
ntu_thesis_latex_master.pdf Restricted Access | 550.7 kB | Adobe PDF | View/Open |
Items in DR-NTU are protected by copyright, with all rights reserved, unless otherwise indicated.