SessionStore: A Session-Aware Datastore for the Edge
IEEE 4th International Conference on Fog and Edge Computing (ICFEC), Melbourne, Australia, May 2020
It is common for storage systems designed to run on edge datacenters to avoid the high latencies associated with geo-distribution by relying on eventually consistent models to replicate data. Eventual consistency works well for many edge applications because as long as the client interacts with the same replica, the storage system can provide session consistency, a stronger consistency model that has two additional important properties: (i) read-your-writes, where subsequent reads by a client that has updated an object will return the updated value or a newer one; and, (ii) monotonic reads, where if a client has seen a particular value for an object, subsequent reads will return the same value or a newer one. While session consistency does not guarantee that different clients will perceive updates in the same order, it nevertheless presents each individual client with an intuitive view of the world that is consistent with the client’s own actions. Unfortunately, these consistency guarantees break down when a client interacts with multiple replicas housed on different datacenters over time, either as a result of application partitioning, or client or code mobility. SessionStore is a datastore for fog/edge computing that ensures session consistency on a top of otherwise eventually consistent replicas. SessionStore enforces session consistency by grouping related data accesses into a session, and using a session-aware reconciliation algorithm to reconcile only the data that is relevant to the session when switching between replicas. This approach reduces data transfer and latency by up to 90% compared to full replica reconciliation.