Treffer: Computational mobility with JavaScript
Weitere Informationen
B.SC.(HONS)COMP.SCI. ; 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 ...