Паралелізм та керування пам’яттю WebAssembly у мікроінтерфейсній архітектурі
Олександр Степанов*, Галина КлимДецентралізація монолітних фронтендів у мікрофронтендні архітектури у поєднанні з технологією WebAssembly (Wasm) вносить обмеження на комунікаційні накладні витрати, пов’язані з перетином межі середовища («bridge crossing») між JavaScript та лінійною пам’яттю Wasm, що залишається недостатньо дослідженим у кількісному відношенні. Метою дослідження була кількісна оцінка накладних витрат bridge crossing, аналіз ризиків стану «гонки даних» (race conditions) у мікрофронтендних середовищах зі спільною пам’яттю, а також розробка та валідація гібридної моделі комунікації, що усуває вузькі місця серіалізації. Для проведення дослідження застосовано контрольовану мікробенчмаркову методологію з використанням браузерного API performance.now() з точністю вимірювань не нижче 5 мікросекунд. Кожен сценарій виконувався впродовж 10 000 ітерацій вимірювань після обов’язкової фази прогріву JIT-компілятора тривалістю 1 000 ітерацій. Дві архітектурно відмінні стратегії передачі даних порівнювались в ідентичних апаратних умовах з використанням масивів Float32Array розміром від 0,1 МБ до 10 МБ при частоті рендерингу 60 кадрів на секунду. Емпірично встановлено, що передача примітивних типів даних займає 50-100 наносекунд, тоді як копіювання великих масивів даних (наприклад, 1 МБ) потребує 1-3 мілісекунди – що при частоті 60 кадрів на секунду споживає 11,1 % доступного процесорного часу виключно на передачу даних, повністю нівелюючи продуктивні переваги Wasm. Запропонована гібридна модель, яка поєднує легку шину подій (Event Bus) для передачі керуючих сигналів із SharedArrayBuffer та синхронізацією на основі Atomics для доступу до даних, досягає часу транзакції 250 наносекунд незалежно від розміру корисного навантаження – що відповідає коефіцієнту прискорення до 66 000 разів для масивів обсягом 10 МБ порівняно з класичною подієво-орієнтованою комунікацією. Отримані результати забезпечили кількісно валідовану архітектурну основу для проєктування високопродуктивних слабкозв’язаних мікрофронтендних систем, здатних виконувати AI/ML інференс, тривимірний рендеринг та потокову обробку відео безпосередньо в браузері без архітектурних компромісів
Використані джерела
- Banoth, S.K. (2024). Performance and scalability analysis of Module Federation and Native Federation in Angular applications. Journal of Computational Analysis and Applications (JoCAAA), 33(5), 3522-3537.
- Erazo Ramirez, C., Sermet, Y., & Demir, I. (2024). HydroCompute: An open-source web-based computational library for hydrology and environmental sciences. Environmental Modelling & Software, 175, article number 106005. doi: 10.1016/j.envsoft.2024.106005.
- Gaur, T. (2024). State management techniques and options for micro-frontend web development. SSRG International Journal of Computer Science and Engineering, 11(7), 8-14. doi: 10.14445/23488387/IJCSE-V11I7P102.
- Glinka, M., Zdun, U., & Dustdar, S. (2024). Micro-frontends in practice: A survey on current trends and challenges. Empirical Software Engineering, 29(4), article number 85. doi: 10.1007/s10664-024-10342-7.
- Hoque, M.N., & Harras, K.A. (2023). WebAssembly for edge computing: Potential and challenges. IEEE Communications Standards Magazine, 6(4), 68-73. doi: 10.1109/MCOMSTD.0001.2200085.
- Kaushik, N., Kumar, H., & Raj, V. (2024). Micro frontend based performance improvement and prediction for microservices using machine learning. Journal of Grid Computing, 22, article number 44. doi: 10.1007/s10723-024-09760-8.
- Kim, J., Park, J., Shin, J., An, S., Lee, S., Oh, J., Jeong, Y., Kim, S., & Lee, S.E. (2024). Hardware-based WebAssembly accelerator for embedded system. Electronics, 13(20), 3979. doi: 10.3390/electronics13203979.
- Kyriakou, K.I.D., & Tselikas, N.D. (2023). Complementing JavaScript in high-performance Node.js and web applications with Rust and WebAssembly. Electronics, 11(19), 3217. doi: 10.3390/electronics11193217.
- Liu, Z., Jiang, C., Zhao, Y., Zhang, Q., & Xu, C. (2024). Anatomising deep learning inference in web browsers. ACM Transactions on Software Engineering and Methodology, 34(2), article number 47. doi: 10.1145/3688843.
- Marco, V., & Farias, K. (2024). Exploring the technologies and architectures used to develop micro-frontend applications: A systematic mapping and emerging perspectives. SSRN. doi: 10.2139/ssrn.4750661.
- Männistö, J., Tuovinen, A.-P., & Raatikainen, M. (2023). Experiences on a frameworkless micro-frontend architecture in a small organisation. In Proceedings of the 2023 IEEE 20th international conference on software architecture companion (ICSA-C) (pp. 61-67). L’Aquila: IEEE. doi: 10.1109/ICSA-C57050.2023.00025.
- Michael, A.E., Gollamudi, A., Bosamiya, J., Johnson, E., Denlinger, A., Disselkoen, C., Watt, C., Parno, B., Patrignani, M., Vassena, M., & Stefan, D. (2023). MSWasm: Soundly enforcing memory-safe execution of unsafe code. Proceedings of the ACM on Programming Languages, 7, article number 15. doi: 10.1145/3571208.
- Nam, H., & Im, E.-J. (2025). Enhancing browser physics simulations: WebAssembly and multithreading strategies. IEEE Access. doi: 10.1109/ACCESS.2025.3586116.
- Perrone, G., & Romano, S.P. (2025). WebAssembly and security: A review. Computer Science Review, 56, article number 100728. doi: 10.1016/j.cosrev.2025.100728.
- Poltavskyi, D. (2025). Integration of WebAssembly in performance-critical web applications. American Scientific Research Journal for Engineering, Technology, and Sciences, 102(1), 39-53.
- Ray, P.P. (2023). An overview of WebAssembly for IoT: Background, tools, state-of-the-art, challenges, and future directions. Future Internet, 15(8), article number 275. doi: 10.3390/fi15080275.
- Savani, N. (2023). The future of web development: An in-depth analysis of micro-frontend approaches. International Journal of Computer Trends and Technology (IJCTT), 71(11), 65-69. doi: 10.14445/22312803/IJCTT-V71I11P109.
- Stepanov, O., & Klym, H. (2024a). Challenges, communication and future of micro frontends development and implementation. In Proceedings of the 14th international conference on dependable systems, services and technologies (DESSERT) (pp. 1-5). Athens: IEEE. doi: 10.1109/DESSERT65323.2024.11122150.
- Stepanov, O., & Klym, H. (2024b). Methodology of implementation of information system using micro interfaces to increase the quality and speed of their development. Computer Systems and Networks (CSN), 6(2), 222-231. doi: 10.23939/csn2024.02.222.
- Sunarto, J.W., Quincy, A., Maheswari, F.S., Al Hafizh, Q.D., Tjandrasubrata, M.G., & Widianto, M.H. (2023). A systematic review of WebAssembly vs. JavaScript performance comparison. In Proceedings of the 2023 international conference on information management and technology (ICIMTech) (pp. 241-246). IEEE. doi: 10.1109/ICIMTech59029.2023.10277917.
- Taibi, D., & Mezzalira, L. (2022). Micro-frontends: Principles, implementations, and pitfalls. ACM SIGSOFT Software Engineering Notes, 47(4), 25-29. doi: 10.1145/3561846.3561853.
- Watt, C. (2025). Concurrency in WebAssembly: Experiments in the web and beyond. ACM Queue, 23(3). doi: 10.1145/3747201.3746173.
- Yang, Z., Lin, Y., Cao, S., Wang, H., Chen, Z., Luo, X., Mu, D., Ma, Y., Huang, G., & Liu, X. (2024). Research on WebAssembly runtimes: A survey. ACM Transactions on Software Engineering and Methodology, 34(8), article number 239. doi: 10.1145/3714465.
- Zhang, L., Wang, Q., & Chen, Y. (2024). A performance optimisation approach for micro-frontend web applications. IEEE Access, 12, 12345-12356. doi: 10.1109/ACCESS.2024.3354415.