λHive: Formal Semantics of an Edge Computing Model based on JavaScript

Edge computing is a paradigm that applies virtualization technology that makes it easier to deploy and run a wider range of applications on the edge servers and take advantage of largely unused computational resources. This article describes the design and formalization of Hive, a distributed shared...

Descripción completa

Detalles Bibliográficos
Autores: Teragni, Matias, Pons, Claudia Fabiana
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2022
País:Argentina
Institución:Comisión de Investigaciones Científicas de la Provincia de Buenos Aires
Repositorio:CIC Digital (CICBA)
Idioma:inglés
OAI Identifier:oai:digital.cic.gba.gob.ar:11746/11698
Acceso en línea:https://digital.cic.gba.gob.ar/handle/11746/11698
Access Level:acceso abierto
Palabra clave:Ciencias de la Computación e Información
Distributed Shared Memory
Edge Computing
Cloud Computing
JavaScript
Synchronization mechanism
Formal Semantics
Descripción
Sumario:Edge computing is a paradigm that applies virtualization technology that makes it easier to deploy and run a wider range of applications on the edge servers and take advantage of largely unused computational resources. This article describes the design and formalization of Hive, a distributed shared memory model that can be transparently integrated with JavaScript using a standard out of the box runtime. To define such model a formal definition of the JavaScript language was used and extended to include modern capabilities and custom semantics. This extended model was used to prove that the distributed shared memory can operate on top of existing and unmodified web browsers. The proposed model guarantees the eventual synchronization of data across all the system and provides the possibility to have a stricter consistency using standard http operations. The technical feasibility of this proposal was empirically validated by a prototype that yields reasonably low propagation time and allows the distribution of preexisting JavaScript code without any major modifications. Additionally, the comprehensive formalization of the Hive execution model allows developers to guarantee certain properties of the synchronization mechanism, such as efficient and no blocking.