Utilizing Efficient Reads for ATomic Objects in 3D Networked Virtual Environments
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.
Strong Consistency (Atomicity)
Despite the existence of concurrent operations, asynchrony, and node failures in the system, our goal is to utilze a algorithms for read/write objects that guarantee that each read operation returns a value no older than the value written by its latest preceding write and no older than the one returned by any preceding read. Such consistency guarantee is known as Atomicity. Atomicity is the most natural consistency guarantee as it provides the illusion of a centralized, sequentially accessed storage.
The service will allow the termination of read/write operations, despite the existence of transient or persistent failures of data hosts in the system. In this project, we focus on crash failures.
Proof of Concept
Essentially we would like to devise a Prof of Concept (PoC) implementation of a multiuser, interactive 3D NVE that will utilize a Distributed Shared Memory space with atomic guarantees for consistency and synchronization and provide experimental evidence for drawing conclusions on whether such theoretical structures may be viable in practical applications.