TxForest: A DSL for Concurrent Filestores

08/27/2019
by   Jonathan DiLorenzo, et al.
0

Many systems use ad hoc collections of files and directories to store persistent data. For consumers of this data, the process of properly parsing, using, and updating these filestores using conventional APIs is cumbersome and error-prone. Making matters worse, most filestores are too big to fit in memory, so applications must process the data incrementally while managing concurrent accesses by multiple users. This paper presents Transactional Forest (TxForest), which builds on earlier work on Forest to provide a simpler, more powerful API for managing filestores, including a mechanism for managing concurrent accesses using serializable transactions. Under the hood, TxForest implements an optimistic concurrency control scheme using Huet's zippers to track the data associated with filestores. We formalize TxForest in a core calculus, develop a proof of serializability, and describe our OCaml prototype, which we have used to build several practical applications.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/15/2021

Truly Concurrent Calculi with Reversibility, Probabilism and Guards

The well-known process algebras, such as CCS, ACP and π-calculus, captur...
research
02/17/2021

Small, Fast, Concurrent Proof Checking for the lambda-Pi Calculus Modulo Rewriting

Several proof assistants, such as Isabelle or Coq, can concurrently chec...
research
12/29/2021

Concurrent Realizability on Conjunctive Structures

The point of this work is to explore axiomatisations of concurrent compu...
research
09/23/2022

funcX: Federated Function as a Service for Science

funcX is a distributed function as a service (FaaS) platform that enable...
research
04/08/2020

Composing and Decomposing Op-Based CRDTs with Semidirect Products

Operation-based Conflict-free Replicated Data Types (CRDTs) are eventual...
research
02/13/2019

Concurrent Computing with Shared Replicated Memory

The behavioural theory of concurrent systems states that any concurrent ...
research
05/08/2019

Pilot evaluation of Collection API with PID Kernel Information

Persistent Identifier (PID) is a widely used long-term unique reference ...

Please sign up or login with your details

Forgot password? Click here to reset