EratoVR Project

Project ERATOVR
Project Number CONCEPT/0618/0064
Investigator(s) Dr. Nicolas Nicolaou (Principal-Investigator & Project-Coordinator)
Funding

September 2020 - February 2021

URL https://projects.algolysis.com/erato-vr/
Type Research Grant
Status Completed
Summary The advent of fast highly-available network connectivity in combination with affordable 3D hardware (GPUs, VR/AR HMDs, etc.) has enabled making Networked Virtual Environments (NVEs) possible and available to multiple simultaneous end-users beyond the confines of expensive purpose-built 3D facilities and laboratories. However, the algorithms making possible the NVEs of today are already reaching their limits, proving unreliable, suffer asynchronies and deployed over an inherently fault-prone network infrastructure. Thus, new scalable, robust, and responsive strategies that build on top of unreliable, asynchronous, and fault-prone network infrastructure, must be devised in order to support the needs of the NVEs of the future.

Current developments of distributed architectures handle concurrency by either providing weak consistency guarantees (e.g. eventual consistency), or by relying on the bounded life span of inconsistent states. However, recent scientific works are shifting the viewpoint around the practicality of strongly consistent distributed storage spaces by proposing latency-efficient algorithms of atomic read/write Distributed Shared Memory (DSM) with provable consistency guarantees.

Our approach is to combine a DSM implementation of ERATO with a hybrid approach leveraging the simplicity of the client-server architecture. This, allows us to take the best features of the Multi-Server architecture and combine them with a low-level Distributed Shared Memory algorithm offering (A) ease of integration with existing VEs and implementation of new ones, since the DSM promises to take care of synchronization and consistency across servers, without application-specific interventions at client nodes and no special hand-off mechanisms between servers for users joining and leaving; and (B) reduced system complexity, and in turn faster development time and lower deployment and maintenance costs.