Методи оптимізації обчислень на основі віртуальної машини WebAssembly

dc.contributor.advisorСтеценко, Інна Вячеславівна
dc.contributor.authorКарімов, Артем Васильович
dc.date.accessioned2025-02-21T09:51:44Z
dc.date.available2025-02-21T09:51:44Z
dc.date.issued2024
dc.description.abstractРозмір пояснювальної записки – 135 аркушів, містить 12 ілюстрацій, 52 таблиці, 2 додатки, 26 посилань на джерела. Актуальність. JavaScript є однією з найпопулярніших мов програмування для розробки вебзастосунків, що обумовлено його широким використанням як на стороні клієнта, так і на стороні сервера. З розвитком сучасних вебтехнологій, вимоги до швидкодії та ефективності вебзастосунків постійно зростають. Це особливо важливо для складних та ресурсомістких застосунків, які потребують високої продуктивності. Однією з проблем мов-інтерпретаторів, таких як JavaScript, є їхня обмежена швидкодія в порівнянні з компільованими мовами. Інтерпретований код зазвичай виконується повільніше, що може призвести до затримок у роботі застосунків, особливо у випадках обробки великих обсягів даних чи виконання складних обчислень. Для вирішення цієї проблеми використовуються різні методи оптимізації JavaScript коду. Одним із перспективних напрямків є використання віртуальної машини WebAssembly. WebAssembly є сучасною технологією, що дозволяє виконувати код з продуктивністю, наближеною до продуктивності мов низького рівня, таких як C, C++ або Rust. Переваги використання WebAssembly включають можливість компіляції коду з різних мов програмування у швидкий і компактний формат, що виконується в браузері. Це дозволяє значно підвищити продуктивність вебзастосунків та забезпечити користувачам більш плавний та швидкий досвід. Однак, потенціал WebAssembly ще не повністю реалізований. Існує потреба в подальшому вдосконаленні методів оптимізації обчислень із використанням WebAssembly, щоб забезпечити максимальну ефективність та швидкодію сучасних вебзастосунків. У цій роботі розглядаються існуючі методи оптимізації JavaScript коду з використанням WebAssembly, їхні переваги та недоліки, а також пропонуються нові підходи для покращення продуктивності вебзастосунків. Метою дослідження є підвищення швидкодії обчислень застосунків за рахунок використання компіляції у WebAssembly код. Для досягнення поставленої мети необхідно виконати наступні завдання: – проаналізувати існуючі методи оптимізації JavaScript коду; – дослідити можливості віртуальної машини WebAssembly для оптимізації; – розробити методи оптимізації обчислень на основі WebAssembly; – визначити критерії ефективності оптимізації обчислень із використанням WebAssembly; – провести експериментальну оцінку розроблених методів оптимізації на реальних вебзастосунках; – порівняти результати оптимізації обчислень із використанням WebAssembly з іншими методами оптимізації; – розробити рекомендації щодо впровадження методів оптимізації обчислень на основі WebAssembly в практичні проєкти. Об'єктом дослідження є процес використання віртуальної машини WebAssembly для підвищення швидкодії обчислень. Предметом дослідження є методи та програмні засоби для використання компільованого у формат WebAssembly коду. Наукова новизна результатів магістерської дисертації полягає в тому, що вперше запропоновано адаптивний компілятор, який, на відміну від існуючих, на основі аналізу обчислювальної складності коду динамічно вибирає платформу виконання JavaScript або WebAssembly для підвищення швидкодії виконання обчислень. Практичне значення отриманих результатів полягає в тому, що розроблені методи оптимізації можуть бути інтегровані в процес розробки вебзастосунків для підвищення їхньої швидкодії. Дана система оптимізації може бути використана розробниками JavaScript застосунків. Зв’язок з науковими програмами, планами, темами. Робота виконувалась на кафедрі інформатики та програмної інженерії Національного технічного університету України "Київський політехнічний інститут імені Ігоря Сікорського". Апробація. Наукові положення дисертації пройшли апробацію на VIІ Міжнародній науково-практичній конференції молодих вчених та студентів «Інженерія програмного забезпечення і передові інформаційні технології (SoftTech-2024)». Публікації. Наукові положення дисертації опубліковані в: 1) Карімов А.В., Стеценко І.В. Методи оптимізації обчислень на основі віртуальної машини WebAssembly. Інженерія програмного забезпечення і передові інформаційні технології (SoftTech-2024): матеріали VIІ Міжнародної науково-практичної конференції молодих вчених та студентів, 20-22 листопада 2024 року, м. Київ, Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», ФІОТ, c. 39-43.
dc.description.abstractotherExplanatory note size – 135 pages, contains 12 illustrations, 52 tables, 2 applications, 26 references. Topicality. JavaScript is one of the most popular programming languages for developing web applications, owing to its widespread use on both the client and server sides. With the advancement of modern web technologies, the demands for performance and efficiency in web applications are continuously increasing. This is particularly critical for complex and resource-intensive applications that require high levels of performance. One of the challenges faced by interpreted languages like JavaScript is their limited performance compared to compiled languages. Interpreted code is typically executed more slowly, which can result in application delays, especially when processing large amounts of data or performing complex computations. To address this issue, various methods for optimizing JavaScript code are employed. One promising direction is the use of the WebAssembly virtual machine. WebAssembly is a modern technology that allows code to execute with performance levels close to those of low-level languages such as C, C++ or Rust. The advantages of using WebAssembly include the ability to compile code from various programming languages into a fast and compact format that can run directly in the browser. This significantly improves the performance of web applications, providing users with a smoother and faster experience. However, the potential of WebAssembly has not yet been fully realized. There is a need for further development of optimization methods that leverage WebAssembly to ensure maximum efficiency and performance for modern web applications. This work examines existing methods for optimizing JavaScript code using WebAssembly, their advantages and disadvantages, and proposes new approaches to improving the performance of web applications. The aim of the study is to enhance the computational performance of applications through the use of compilation into WebAssembly code. To achieve the stated goal, the following tasks need to be completed: – analyze existing methods for optimizing JavaScript code; – explore the capabilities of the WebAssembly virtual machine for optimization; – develop methods for computational optimization based on WebAssembly; – define criteria for evaluating the effectiveness of optimization with WebAssembly; – conduct experimental assessments of the developed optimization methods on real web applications; – compare the results of optimization with WebAssembly with other optimization methods; – develop recommendations for implementing computational optimization methods based on WebAssembly in practical projects. The object of the research is the process of using the WebAssembly virtual machine to improve the performance of computations. The subject of the research is the methods and software tools for utilizing compiled code in the WebAssembly format. The scientific novelty of the master's dissertation results lies in the proposal of an adaptive compiler for the first time, which, unlike existing solutions, dynamically selects the execution platform – JavaScript or WebAssembly – based on an analysis of the computational complexity of the code to enhance the execution performance of computations. The practical value of the obtained results lies in the fact that the developed optimization methods can be integrated into the development process of web applications to improve their performance. This optimization system can be utilized by developers of JavaScript applications. Relationship with working with scientific programs, plans, topics. Work was performed at the Department of Computer Science and Software Engineering of the National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute». Approbation. The scientific provisions of the dissertation were tested at the Seventh International Scientific and Practical Conference of Young Scientists and Students "Software Engineering and Advanced Information Technologies (SoftTech-2024)". Publications. The scientific provisions of the dissertation were published in: 1) Karimov A.V., Stetsenko I.V. Methods for Optimising Computations Based on the WebAssembly Virtual Machine. Software Engineering and Advanced Information Technologies (SoftTech-2024): proceedings of the Seventh International Scientific and Practical Conference of Young Scientists and Students, 20-22 November, 2024, Kyiv, National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute", FICT, p. 39-43.
dc.format.extent135 с.
dc.identifier.citationКарімов, А. В. Методи оптимізації обчислень на основі віртуальної машини WebAssembly : магістерська дис. : 121 Інженерія програмного забезпечення / Карімов Артем Васильович. - Київ, 2024. - 135 с.
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/72673
dc.language.isouk
dc.publisherКПІ ім. Ігоря Сікорського
dc.publisher.placeКиїв
dc.subjectоптимізація
dc.subjectпродуктивність
dc.subjectвебзастосунки
dc.subjectJavaScript
dc.subjectWebAssembly
dc.subjectoptimization
dc.subjectperformance
dc.subjectWeb applications
dc.subject.udc004.451
dc.titleМетоди оптимізації обчислень на основі віртуальної машини WebAssembly
dc.title.alternativeMethods for Optimising Computations Based on the WebAssembly Virtual Machine
dc.typeMaster Thesis

Файли

Контейнер файлів
Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
Karimov_magistr.pdf
Розмір:
2.38 MB
Формат:
Adobe Portable Document Format
Ліцензійна угода
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
license.txt
Розмір:
8.98 KB
Формат:
Item-specific license agreed upon to submission
Опис: