{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,25]],"date-time":"2026-02-25T17:13:26Z","timestamp":1772039606496,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":91,"publisher":"ACM","license":[{"start":{"date-parts":[[2023,2,21]],"date-time":"2023-02-21T00:00:00Z","timestamp":1676937600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Bundesministerium fuer Bildung und Forschung"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2023,2,25]]},"DOI":"10.1145\/3572848.3577436","type":"proceedings-article","created":{"date-parts":[[2023,2,21]],"date-time":"2023-02-21T16:02:30Z","timestamp":1676995350000},"page":"92-106","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":13,"title":["Exploring the Use of WebAssembly in HPC"],"prefix":"10.1145","author":[{"given":"Mohak","family":"Chadha","sequence":"first","affiliation":[{"name":"Chair of Computer Architecture and Parallel Systems, Technische Universit\u00e4t M\u00fcnchen, Germany"}]},{"given":"Nils","family":"Krueger","sequence":"additional","affiliation":[{"name":"Chair of Computer Architecture and Parallel Systems, Technische Universit\u00e4t M\u00fcnchen, Germany"}]},{"given":"Jophin","family":"John","sequence":"additional","affiliation":[{"name":"Chair of Computer Architecture and Parallel Systems, Technische Universit\u00e4t M\u00fcnchen, Germany"}]},{"given":"Anshul","family":"Jindal","sequence":"additional","affiliation":[{"name":"Chair of Computer Architecture and Parallel Systems, Technische Universit\u00e4t M\u00fcnchen, Germany"}]},{"given":"Michael","family":"Gerndt","sequence":"additional","affiliation":[{"name":"Chair of Computer Architecture and Parallel Systems, Technische Universit\u00e4t M\u00fcnchen, Germany"}]},{"given":"Shajulin","family":"Benedict","sequence":"additional","affiliation":[{"name":"Department of Computer Science and Engg., Indian and Institute of Information Technology Kottayam, Kerala"}]}],"member":"320","published-online":{"date-parts":[[2023,2,21]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"[n.d.]. AWS Graviton 2 Processors. https:\/\/aws.amazon.com\/ec2\/graviton\/"},{"key":"e_1_3_2_1_2_1","unstructured":"[n.d.]. Blake-3 Hash function. https:\/\/github.com\/BLAKE3-team\/BLAKE3"},{"key":"e_1_3_2_1_3_1","unstructured":"[n.d.]. Cranelift Compiler. https:\/\/github.com\/bytecodealliance\/wasmtime\/tree\/main\/cranelift"},{"key":"e_1_3_2_1_4_1","unstructured":"[n.d.]. Intel Omni-Path Fabric. https:\/\/www.intel.com\/content\/www\/us\/en\/high-performance-computing-fabrics\/omni-path-fabric-software-components.html"},{"key":"e_1_3_2_1_5_1","unstructured":"[n.d.]. Intel Performance Scaled Messaging 2. https:\/\/github.com\/cornelisnetworks\/opa-psm2\/blob\/master\/README"},{"key":"e_1_3_2_1_6_1","unstructured":"[n.d.]. MPI: A Message-Passing Interface Standard. https:\/\/www.mpi-forum.org\/docs\/mpi-3.1\/mpi31-report.pdf"},{"key":"e_1_3_2_1_7_1","unstructured":"[n.d.]. MPI bindings for Rust. https:\/\/github.com\/rsmpi\/rsmpi"},{"key":"e_1_3_2_1_8_1","unstructured":"[n.d.]. MPICH: High-Performance portable MPI. https:\/\/www.mpich.org\/"},{"key":"e_1_3_2_1_9_1","unstructured":"[n.d.]. MVAPICH:MPI over InfiniBand Omni-Path Ethernet\/iWARP and RoCE. http:\/\/mvapich.cse.ohio-state.edu\/"},{"key":"e_1_3_2_1_10_1","unstructured":"[n.d.]. OpenMPI: Open-Source High-Performance computing. https:\/\/www.open-mpi.org\/"},{"key":"e_1_3_2_1_11_1","unstructured":"[n.d.]. SuperMUC-NG. https:\/\/doku.lrz.de\/display\/PUBLIC\/SuperMUC-NG"},{"key":"e_1_3_2_1_12_1","unstructured":"[n.d.]. The Top500 list. https:\/\/www.top500.org\/lists\/top500\/2022\/06\/"},{"key":"e_1_3_2_1_13_1","unstructured":"[n.d.]. WebAssembly Dynamic Linking. https:\/\/github.com\/WebAssembly\/tool-conventions\/blob\/master\/DynamicLinking.md"},{"key":"e_1_3_2_1_14_1","unstructured":"2020. Flexible Vectors Proposal for WebAssembly. https:\/\/github.com\/WebAssembly\/flexible-vectors\/blob\/master\/proposals\/flexible-vectors\/Overview.md"},{"key":"e_1_3_2_1_15_1","unstructured":"2020. Multi Memory Proposal for WebAssembly. https:\/\/github.com\/WebAssembly\/multi-memory\/blob\/master\/proposals\/multi-memory\/Overview.md"},{"key":"e_1_3_2_1_16_1","unstructured":"2020. POSIX Threads. https:\/\/man7.org\/linux\/man-pages\/man7\/pthreads.7.html"},{"key":"e_1_3_2_1_17_1","unstructured":"2020. Threading proposal for WebAssembly. https:\/\/github.com\/WebAssembly\/threads\/blob\/master\/proposals\/threads\/Overview.md"},{"key":"e_1_3_2_1_18_1","unstructured":"2021. Fortran and WebAssembly. https:\/\/chrz.de\/2020\/04\/21\/fortran-in-the-browser\/"},{"key":"e_1_3_2_1_19_1","unstructured":"2021. Lenovo DSS-G. https:\/\/tinyurl.com\/ytmjjauy"},{"key":"e_1_3_2_1_20_1","unstructured":"2021. Memory64 Proposal for WebAssembly. https:\/\/github.com\/WebAssembly\/memory64\/blob\/master\/proposals\/memory64\/Overview.md"},{"key":"e_1_3_2_1_21_1","unstructured":"2021. Relaxed SIMD Proposal for WebAssembly. https:\/\/github.com\/WebAssembly\/relaxed-simd\/blob\/main\/proposals\/relaxed-simd\/Overview.md"},{"key":"e_1_3_2_1_22_1","unstructured":"2021. WASI Libc. https:\/\/github.com\/WebAssembly\/wasi-libc"},{"key":"e_1_3_2_1_23_1","unstructured":"2021. Wasm and GPUs. https:\/\/github.com\/WebAssembly\/design\/issues\/1448"},{"key":"e_1_3_2_1_24_1","unstructured":"2022. ARM Neoverse-N1 Architecture. https:\/\/www.arm.com\/products\/silicon-ip-cpu\/neoverse\/neoverse-n1"},{"key":"e_1_3_2_1_25_1","unstructured":"2022. Comparing Cranelift-IR and LLVM-IR. https:\/\/github.com\/bytecodealliance\/wasmtime\/blob\/main\/cranelift\/docs\/compare-llvm.md"},{"key":"e_1_3_2_1_26_1","unstructured":"2022. The GNU C Library (glibc). https:\/\/www.gnu.org\/software\/libc\/"},{"key":"e_1_3_2_1_27_1","unstructured":"2022. The libloading library. https:\/\/docs.rs\/libloading\/latest\/libloading\/"},{"key":"e_1_3_2_1_28_1","unstructured":"2022. WASI SDK. https:\/\/github.com\/WebAssembly\/wasi-sdk"},{"key":"e_1_3_2_1_29_1","unstructured":"14 Tech Companies Embracing Container Technology. [n.d.]. https:\/\/learn.g2.com\/container-technology. Accessed 09\/29\/2021."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/CLOUD49709.2020.00048"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/125826.125925"},{"key":"e_1_3_2_1_32_1","unstructured":"JF Bastien Thomas Lively and Heejin Ahn. 2019. LLVM WebAssembly Backend. https:\/\/github.com\/llvm\/llvm-project\/blob\/main\/llvm\/lib\/Target\/WebAssembly\/README.txt"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-34356-9_5"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1002\/cpe.4851"},{"key":"e_1_3_2_1_35_1","unstructured":"Blazor. [n.d.]. https:\/\/dotnet.microsoft.com\/apps\/aspnet\/web-apps\/blazor. Accessed 09\/27\/2021."},{"key":"e_1_3_2_1_36_1","unstructured":"Brian Austin et al. [n.d.]. NERSC-10 workload analysis. https:\/\/portal.nersc.gov\/project\/m888\/nersc10\/workload\/N10_Workload_Analysis.latest.pdf. Accessed 09\/27\/2021."},{"key":"e_1_3_2_1_37_1","unstructured":"Bytecode Alliance. [n.d.]. Wasmtime - A standalone runtime for WebAssembly. https:\/\/github.com\/bytecodealliance\/wasmtime"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/CLOUD53861.2021.00062"},{"key":"e_1_3_2_1_39_1","unstructured":"CMake. [n.d.]. https:\/\/cmake.org\/. Accessed on 08\/12\/2022."},{"key":"e_1_3_2_1_40_1","unstructured":"Compiling Rust to WebAssembly. [n.d.]. https:\/\/developer.mozilla.org\/en-US\/docs\/WebAssembly\/Rust_to_wasm. Accessed 09\/27\/2021."},{"key":"e_1_3_2_1_41_1","first-page":"46","article-title":"OpenMP: an industry standard API for shared-memory programming. Computational Science & Engineering","volume":"5","author":"Dagum Leonardo","year":"1998","unstructured":"Leonardo Dagum and Rameshm Enon. 1998. OpenMP: an industry standard API for shared-memory programming. Computational Science & Engineering, IEEE 5, 1 (1998), 46--55.","journal-title":"IEEE"},{"key":"e_1_3_2_1_42_1","unstructured":"Frank Denis. [n.d.]. Memory management in WebAssembly: guide for C and Rust programmers. https:\/\/www.fastly.com\/blog\/webassembly-memory-management-guide-for-c-rust-programmers"},{"key":"e_1_3_2_1_43_1","unstructured":"Docker. [n.d.]. https:\/\/www.docker.com\/. Accessed 07\/07\/2022."},{"key":"e_1_3_2_1_44_1","unstructured":"Docker Buildx. [n.d.]. https:\/\/docs.docker.com\/buildx\/working-with-buildx\/. Accessed 07\/07\/2022."},{"key":"e_1_3_2_1_45_1","unstructured":"Emscripten. [n.d.]. https:\/\/emscripten.org\/. Accessed 09\/27\/2021."},{"key":"e_1_3_2_1_46_1","unstructured":"FileSystemCache in Wasmer. [n.d.]. https:\/\/docs.rs\/wasmer-cache\/3.0.2\/wasmer_cache\/struct.FileSystemCache.html. Accessed 12\/11\/2022."},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3423211.3425680"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-59851-8_23"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1088\/1742-6596\/898\/8\/082021"},{"key":"e_1_3_2_1_50_1","unstructured":"GNU Make. [n.d.]. https:\/\/www.gnu.org\/software\/make\/. Accessed on 08\/12\/2022."},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3357390.3361029"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3140587.3062363"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3302505.3310084"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807644"},{"key":"e_1_3_2_1_55_1","unstructured":"Intel Corporation. 2018. Introducing Intel\u00ae MPI Benchmarks. https:\/\/software.intel.com\/content\/www\/us\/en\/develop\/articles\/intel-mpi-benchmarks.html"},{"key":"e_1_3_2_1_56_1","volume-title":"Native Code. In 2019 USENIX Annual Technical Conference (USENIX ATC 19)","author":"Jangda Abhinav","year":"2019","unstructured":"Abhinav Jangda, Bobby Powers, Emery D. Berger, and Arjun Guha. 2019. Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code. In 2019 USENIX Annual Technical Conference (USENIX ATC 19). USENIX Association, Renton, WA, 107--120. https:\/\/www.usenix.org\/conference\/atc19\/presentation\/jangda"},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3493651.3493672"},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1371\/journal.pone.0177459"},{"key":"e_1_3_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"e_1_3_2_1_60_1","unstructured":"Lawrence Livermore National Laboratory. 2021. HPC IO Benchmark Repository. https:\/\/github.com\/hpc\/ior"},{"key":"e_1_3_2_1_61_1","unstructured":"Linux. [n.d.]. Fakeroot. https:\/\/wiki.debian.org\/FakeRoot. Accessed 09\/27\/2021."},{"key":"e_1_3_2_1_62_1","unstructured":"Linux Kernel Support for Miscellaneous Binary Formats. [n.d.]. https:\/\/www.kernel.org\/doc\/html\/latest\/admin-guide\/binfmt-misc.html. Accessed 07\/07\/2022."},{"key":"e_1_3_2_1_63_1","volume-title":"Glass","author":"Marjanovi\u0107 Vladimir","year":"2015","unstructured":"Vladimir Marjanovi\u0107, Jos\u00e9 Gracia, and Colin W. Glass. 2015. Performance Modeling of the HPCG Benchmark. In High Performance Computing Systems. Performance Modeling, Benchmarking, and Simulation, Stephen A. Jarvis, Steven A. Wright, and Simon D. Hammond (Eds.). Springer International Publishing, Cham, 172--192."},{"key":"e_1_3_2_1_64_1","unstructured":"Mellanox. [n.d.]. Infiniband. https:\/\/wiki.archlinux.org\/title\/InfiniBand"},{"key":"e_1_3_2_1_65_1","volume-title":"MPI: A Message-Passing Interface Standard Version 2.2. https:\/\/www.mpi-forum.org\/docs\/mpi-2.2\/mpi22-report.pdf","author":"Interface Forum Message Passing","year":"2009","unstructured":"Message Passing Interface Forum. 2009. MPI: A Message-Passing Interface Standard Version 2.2. https:\/\/www.mpi-forum.org\/docs\/mpi-2.2\/mpi22-report.pdf"},{"key":"e_1_3_2_1_66_1","volume-title":"MPI: A Message-Passing Interface Standard Version 3.1. https:\/\/www.mpi-forum.org\/docs\/mpi-3.1\/mpi31-report.pdf","author":"Interface Forum Message Passing","year":"2015","unstructured":"Message Passing Interface Forum. 2015. MPI: A Message-Passing Interface Standard Version 3.1. https:\/\/www.mpi-forum.org\/docs\/mpi-3.1\/mpi31-report.pdf"},{"key":"e_1_3_2_1_67_1","unstructured":"Mozilla. [n.d.]. asm.js. http:\/\/asmjs.org\/"},{"key":"e_1_3_2_1_68_1","unstructured":"Mozilla. 2021. Understanding WebAssembly text format. https:\/\/developer.mozilla.org\/en-US\/docs\/WebAssembly\/Understanding_the_text_format"},{"key":"e_1_3_2_1_69_1","unstructured":"Open Container Initiative (OCI). [n.d.]. https:\/\/opencontainers.org\/. Accessed 07\/07\/2022."},{"key":"e_1_3_2_1_70_1","unstructured":"Podman. [n.d.]. Filesystem Considerations in Rootless Mode. https:\/\/tinyurl.com\/2p8efntt. Accessed 09\/27\/2021."},{"key":"e_1_3_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/3458817.3476187"},{"key":"e_1_3_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/3126908.3126925"},{"key":"e_1_3_2_1_73_1","doi-asserted-by":"crossref","unstructured":"S. Report M. Heroux J. Dongarra and P. Luszczek. 2013. HPCG Technical Specification.","DOI":"10.2172\/1113870"},{"key":"e_1_3_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2019.00066"},{"key":"e_1_3_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-78713-4_22"},{"key":"e_1_3_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCS48598.2019.9188239"},{"key":"e_1_3_2_1_77_1","unstructured":"Thomas Schwinge. 2019. GCC Mailing List: Re: More compatibility it's possible? https:\/\/gcc.gnu.org\/legacy-ml\/gcc\/2019-11\/msg00095.html"},{"key":"e_1_3_2_1_78_1","volume-title":"Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing. In 2020 USENIX Annual Technical Conference (USENIX ATC 20)","author":"Shillaker Simon","year":"2020","unstructured":"Simon Shillaker and Peter Pietzuch. 2020. Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing. In 2020 USENIX Annual Technical Conference (USENIX ATC 20). USENIX Association, 419--433. https:\/\/www.usenix.org\/conference\/atc20\/presentation\/shillaker"},{"key":"e_1_3_2_1_79_1","unstructured":"Volodymyr Shymanskyy and Steven Massey. [n.d.]. Wasm3. https:\/\/github.com\/wasm3\/wasm3"},{"key":"e_1_3_2_1_80_1","unstructured":"Singularity. [n.d.]. Filesystem Considerations in Rootless Mode. https:\/\/apptainer.org\/admin-docs\/master\/installation.html. Accessed 09\/27\/2021."},{"key":"e_1_3_2_1_81_1","unstructured":"Solomon Hykes. [n.d.]. Wasm+WASI: An alternative to Linux Containers. https:\/\/twitter.com\/solomonstre\/status\/1111004913222324225?lang=en. Accessed 09\/27\/2021."},{"key":"e_1_3_2_1_83_1","unstructured":"The kernel development community. [n.d.]. Seccomp BPF (SECure COMPuting with filters). https:\/\/www.kernel.org\/doc\/html\/v4.16\/userspace-api\/seccomp_filter.html"},{"key":"e_1_3_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1109\/CANOPIE-HPC49598.2019.00010"},{"key":"e_1_3_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/173668.168635"},{"key":"e_1_3_2_1_86_1","unstructured":"Wasmer Inc. [n.d.]. Single Pass Compiler in Wasmer. https:\/\/docs.rs\/wasmer-compiler-singlepass\/latest\/wasmer_compiler_singlepass\/"},{"key":"e_1_3_2_1_87_1","unstructured":"Wasmer Inc. [n.d.]. Universal WebAssembly Runtime. https:\/\/wasmer.io\/"},{"key":"e_1_3_2_1_88_1","unstructured":"Wasmer Inc. [n.d.]. wapm is the WebAssembly Package Manager. https:\/\/wapm.io"},{"key":"e_1_3_2_1_89_1","unstructured":"WebAssembly Community Group. 2021. WebAssembly System Interface. https:\/\/github.com\/WebAssembly\/WASI"},{"key":"e_1_3_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1109\/PDP.2013.41"},{"key":"e_1_3_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/3487552.3487827"},{"key":"e_1_3_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1007\/10968987_3"}],"event":{"name":"PPoPP '23: The 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming","location":"Montreal QC Canada","acronym":"PPoPP '23","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGHPC ACM Special Interest Group on High Performance Computing, Special Interest Group on High Performance Computing"]},"container-title":["Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3572848.3577436","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3572848.3577436","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T18:08:09Z","timestamp":1750183689000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3572848.3577436"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,2,21]]},"references-count":91,"alternative-id":["10.1145\/3572848.3577436","10.1145\/3572848"],"URL":"https:\/\/doi.org\/10.1145\/3572848.3577436","relation":{},"subject":[],"published":{"date-parts":[[2023,2,21]]},"assertion":[{"value":"2023-02-21","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}