Knowledge base: Warsaw University of Technology

Settings and your account

Back

A system for distributed computing with web browser-based nodes

Przemysław Radosław Proszewski, Grzegorz Rozdzialik

Abstract

In this thesis we present a system for distributed computing with nodes running in a web browser. Distributed computing is a way to solve potentially complex problems by dividing them into smaller parts and solving each of them in parallel using multiple machines. Typically, adding new machines as distributed nodes was done by installing a native client application responsible for communicating with a server that assigned the tasks. Using a web browser as a client application simplified the process of adding new nodes to the network - it is not necessary to install any operating system-level applications. Additionally, thanks the proposed solution more devices can join the network as computing nodes. That is due to the fact that devices such as SmartTVs or mobile phones can also compute tasks, given that their web browser meets the requirements. The created solution allows easy use of modules written and compiled in C#. Distributed nodes run the web client using WebAssembly and communicate with the server that assigns tasks to them and joins the results once they arrive. Moreover, an administrator's panel has been developed to manage the system. The planned cross-platform functionality has been achieved. The system supports connecting PCs with various operating systems, smartphones, as well as e-book readers as computing nodes. A C# interpreter was used to run the code in WebAssembly. This resulted in achieving worse performance than running the same code natively. This limitation is likely to be solved in the future versions of mono-wasm.
Diploma type
Engineer's / Bachelor of Science
Diploma type
Engineer's thesis
Author
Przemysław Radosław Proszewski (FMIS) Przemysław Radosław Proszewski,, Faculty of Mathematics and Information Science (FMIS) Grzegorz Rozdzialik (FMIS) Grzegorz Rozdzialik,, Faculty of Mathematics and Information Science (FMIS)
Title in Polish
System obliczeń rozproszonych z węzłami działającymi w przeglądarce internetowej
Supervisor
Jacek Mańdziuk (FMIS/DAICM) Jacek Mańdziuk,, Department of Artificial Intelligence and Computational Methods (FMIS/DAICM)Faculty of Mathematics and Information Science (FMIS)
Jan Karwowski (FMIS/DAICM) Jan Karwowski,, Department of Artificial Intelligence and Computational Methods (FMIS/DAICM)Faculty of Mathematics and Information Science (FMIS)
Certifying unit
Faculty of Mathematics and Information Science (FMIS)
Affiliation unit
Department of Artificial Intelligence and Computational Methods (FMIS/DAICM)
Study subject / specialization
, Informatyka (Computer Science)
Language
(pl) Polish
Status
Finished
Defense Date
01-03-2019
Issue date (year)
2019
Reviewers
Michał Okulewicz (FMIS/DAICM) Michał Okulewicz,, Department of Artificial Intelligence and Computational Methods (FMIS/DAICM)Faculty of Mathematics and Information Science (FMIS) Jan Karwowski (FMIS/DAICM) Jan Karwowski,, Department of Artificial Intelligence and Computational Methods (FMIS/DAICM)Faculty of Mathematics and Information Science (FMIS) Michał Okulewicz (FMIS/DAICM) Michał Okulewicz,, Department of Artificial Intelligence and Computational Methods (FMIS/DAICM)Faculty of Mathematics and Information Science (FMIS) Jan Karwowski (FMIS/DAICM) Jan Karwowski,, Department of Artificial Intelligence and Computational Methods (FMIS/DAICM)Faculty of Mathematics and Information Science (FMIS)
Keywords in Polish
obliczenia rozproszone, WebAssembly, aplikacja internetowa, wydajność, obliczenia równoległe, przeglądarka internetowa, Internet
Keywords in English
distributed computing, WebAssembly, web application, performance, parallel computing, web browser, Internet
Abstract in Polish
Stworzony w ramach tej pracy inżynierskiej system umożliwia realizację obliczeń rozproszonych z węzłami działającymi w przeglądarce internetowej. Obliczenia rozproszone są metodą na rozwiązanie potencjalnie skomplikowanych problemów poprzez podział na mniejsze i rozwiązywanie każdego z nich równolegle na oddzielnych maszynach. Zwykle dołączenie nowych urządzeń jako węzły sieci obliczeń rozproszonych odbywa się poprzez instalację specjalnego oprogramowania klienckiego, które komunikuje się z centralnym serwerem rozdzielającym zadania. Uruchamianie węzłów obliczeniowych w przeglądarce internetowej upraszcza proces dołączania nowych urządzeń do sieci - nie trzeba instalować oprogramowania węzła działającego bezpośrednio w systemie operacyjnym. Dodatkowo, dzięki takiemu rozwiązaniu można wykorzystać więcej urządzeń jako węzły obliczeniowe z uwagi na fakt, że urządzenia takie jak telewizory SmartTV czy telefony komórkowe również mogą wykonywać zadania, o ile ich przeglądarka internetowa spełnia wymagania systemowe. Utworzone rozwiązanie zapewnia łatwe wykorzystanie modułów napisanych i kompilowanych w języku C#. Węzły obliczeniowe uruchamiają program klienta działający w technologii WebAssembly i komunikują się z centralnym serwerem rozdzielającym zadania i scalającym wyniki kiedy już zostaną odesłane. Dodatkowo udostępniony został panel administracyjny pozwalający na zarządzanie systemem. Osiągnięta została założona wieloplatformowość węzłów obliczeniowych. System pozwala na podłączenie komputerów z różnymi systemami operacyjnymi, telefonów komórkowych oraz elektronicznych czytników książek jako węzły obliczeniowe. Wydajność stworzonego rozwiązania jest gorsza od natywnej z powodu wykorzystania interpretera języka C# działającego w WebAssembly. To ograniczenie prawdopodobnie zniknie w przyszłych wersjach mono-wasm.
File
  • File: 1
    praca-inzynierska.pdf
Request a WCAG compliant version
Local fields
Identyfikator pracy APD: 28759

Uniform Resource Identifier
https://repo.pw.edu.pl/info/bachelor/WUTf7141ec2434147dda88868bf94280eb3/
URN
urn:pw-repo:WUTf7141ec2434147dda88868bf94280eb3

Confirmation
Are you sure?
Report incorrect data on this page