WebAssembly potentials: A performance analysis on desktop environment and opportunities for discussions to its application on CPS environment

  • João Lourenço Souza Junior Atlantic Institute
  • Davi de Oliveira Atlantic Institute
  • Victor Praxedes Atlantic Institute
  • Dennys Simiao Atlantic Institute

Resumo


The Web started as a simple document-sharing network and today has evolved to become a consolidated and ubiquitous platform for creation and application distribution. To explore its demands, web browser vendors have been working on new technologies like WebAssembly, a new type of machine language for a conceptual machine instead of a real physical machine, supported by the modern web browsers, providing new features and greater performance for web applications. At the other end, embedded devices have also evolved along with applications. However, there are still semantic heterogeneity, maintainability, and development issues inherent to the vast number of devices and services that operates in the numerous domains of Cyber-Physical Systems (CPS). The overall objective of this work is to study the WebAssembly technology through a performance analysis in a desktop environment, presenting empirical comparisons between the execution of a program compiled in native machine code and the same program compiled in WebAssembly, to verify its flexibility to compile code written in different languages for web applications and maintain similar performance to their native applications counterpart. We also point out the opportunities and challenges to potentially apply WebAssembly as a semantic abstraction layer for embedded devices in CPS development.

Palavras-chave: WebAssembly, Internet of Things, CyberPhysical Systems

Referências

Y. Dwivedi, M. Williams, A. Mitra, S. Niranjan, and V. Weerakkody,“Understanding advances in web technologies: evolution from web 2.0 to web 3.0,” 2011.

M. Rourke, Learn WebAssembly: build web applications with native performance using Wasm and C/C++, 2018, oCLC: 1059521746.

A. Haas, A. Rossberg, D. L. Schuff, B. L. Titzer, M. Holman, D. Gohman, L. Wagner, A. Zakai, and J. Bastien, “Bringing the Web Up to Speed with WebAssembly,” in Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, ser. PLDI 2017. New York, NY, USA: ACM, 2017, pp. 185–200. [Online]. Available: http://doi.acm.org/10.1145/3062341. 3062363

W3C. (2019) WebAssembly Core Specification. [Online]. Available: https://www.w3.org/TR/wasm-core-1/

LLVM, “Mirror of official llvm git repository located at http://llvm.org/git/llvm. updated every five minutes.: llvm-mirror/llvm,” 2019, original-date: 2012-01-27T23:49:56Z. [Online]. Available: https://github.com/llvm-mirror/llvm

“WASI,” 2020, original-date: 2019-04-02T18:23:05Z. [Online]. Available: https://github.com/WebAssembly/WASI

“wasm3,” 2020, original-date: 2019-10-01T17:06:03Z. [Online]. Available: https://github.com/wasm3/wasm3

“Wasm micro runtime,” 2020, original-date: 2019-05-02T21:32:09Z. [Online]. Available: https://github.com/bytecodealliance/wasm-micro-runtime

OpenCV. (2019) Face detection using haar cascades. [Online]. Available: https://docs.opencv.org/4.1.0/d7/d8b/tutorial py face detection.html

M. Ganzha, M. Paprzycki, W. Pawłowski, P. Szmeja, and K. Wasielewska, “Towards semantic interoperability between internet of things platforms,” in Integration, interconnection, and interoperability of iot systems. Springer, 2018, pp. 103–127.

A. H. Ngu, M. Gutierrez, V. Metsis, S. Nepal, and Q. Z. Sheng, “Iot middleware: A survey on issues and enabling technologies,” IEEE Internet of Things Journal, vol. 4, no. 1, pp. 1–20, 2016.

A. J. Jara, A. C. Olivieri, Y. Bocchi, M. Jung, W. Kastner, and A. F. Skarmeta, “Semantic web of things: an analysis of the application semantics for the iot moving towards the iot convergence,” International Journal of Web and Grid Services, vol. 10, no. 2-3, pp. 244–272, 2014.

M. Jacobsson and J. Willen, “Virtual machine execution for wearables based on webassembly,” in EAI International Conference on Body Area Networks. Springer, 2018, pp. 381–389.

A. Moller, “Technical Perspective: WebAssembly: A Quiet Revolution of the Web,” Commun. ACM, vol. 61, no. 12, pp. 106–106, Nov. 2018. [Online]. Available: http://doi.acm.org/10.1145/3282508

M. Schoeberl, S. Korsholm, T. Kalibera, and A. P. Ravn, “A hardware abstraction layer in java,” ACM Transactions on Embedded Computing Systems (TECS), vol. 10, no. 4, pp. 1–40, 2011.

O. Mazhelis, E. Luoma, and H. Warma, “Defining an internet-of-things ecosystem,” in Internet of Things, Smart Spaces, and Next Generation Networking. Springer, 2012, pp. 1–14.

A. Rhayem, M. B. A. Mhiri, and F. Gargouri, “Semantic web technologies for the internet of things: Systematic literature review,” Internet of Things, p. 100206, 2020.

M. Tyagi, M. Sharma, and P. Sharma, “The future of the web,” Available at SSRN 3563679, 2020.

R. P. Putra, “Implementation and evaluation of webassembly modules on embedded system-based basic biomedical sensors,” 2019.

A. Jangda, B. Powers, E. D. Berger, and A. Guha, “Not so fast: analyzing the performance of webassembly vs. native code,” in 2019 {USENIX} Annual Technical Conference ({USENIX}{ATC} 19), 2019, pp. 107–120.

W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu, “Edge computing: Vision and challenges,” IEEE internet of things journal, vol. 3, no. 5, pp. 637–646, 2016.
Publicado
23/11/2020
SOUZA JUNIOR, João Lourenço; DE OLIVEIRA, Davi; PRAXEDES, Victor; SIMIAO, Dennys. WebAssembly potentials: A performance analysis on desktop environment and opportunities for discussions to its application on CPS environment. In: TRABALHOS EM ANDAMENTO - SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SISTEMAS COMPUTACIONAIS (SBESC), 10. , 2020, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 145-150. ISSN 2763-9002. DOI: https://doi.org/10.5753/sbesc_estendido.2020.13104.