Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/71641
Title: Computational mobility with JavaScript
Authors: Borg, Neil (2020)
Keywords: JavaScript (Computer program language)
Parallel programming (Computer science)
Issue Date: 2020
Citation: Borg, N. (2020). Computational mobility with JavaScript (Master's dissertation).
Abstract: The aim of this experimental project is to build and evaluate a JavaScript framework which facilitates the migration of both code and execution state in a distributed computational environment. The framework targets multiple nodeJS instances which can operate across both multicore and distributed systems. The created framework is intended to streamline the implementation of distributing an existing system by allowing the dynamic migration of JavaScript functions across nodeJS instances as they execute. The framework also features a Remote Execution facility which is able to migrate code, execution state and any required data containers across nodeJS instances. This facility paved the road to the construction of an in-built load balancing mechanism. While JavaScript executing within a single nodeJS instance only harnesses a singular core [11], the ability of the framework to shift computation between nodeJS instances in a distributed multiprocessor environment provides an opportunity to exploit the inherent parallelism that is available. In order to demonstrate the effectiveness of the framework in harnessing resources for parallel computation, two task farming case studies were written using the framework. The rst case study is a Mandelbrot set [15] solver that performs iterative calculations on the complex plane in order to generate an image representation, and which represents a highly unbalanced computational workload. The second case study is simply a synthetic benchmark representing a highly balanced computational workload, for comparative purposes. Both of the case studies were deployed on an octa-core computer which is set to run a nodeJS instance on every core. Results were taken over a broad range of both problem size and task granularity. Speed-up and efficiency performance metrics were derived to provide concrete evidence that the framework functions as intended. An analysis of the results concludes that the speedup limitations observed were bound by the problem size (where a small image resolution limited the expected speedup). Large problems did not impose this limit and therefore expressed higher levels of overall speedup. The outcomes are comparable to Gustafson's [8] predictions for parallel computing. Finer task granularity was observed to aid the speed-up and efficiency metrics by exploiting the load balancing characteristics of the system.
Description: B.SC.(HONS)COMP.SCI.
URI: https://www.um.edu.mt/library/oar/handle/123456789/71641
Appears in Collections:Dissertations - FacICT - 2020
Dissertations - FacICTCS - 2020

Files in This Item:
File Description SizeFormat 
20BCS001 - Borg Neil.pdf
  Restricted Access
937.52 kBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.