Fragmented Objects: Boosting Concurrency of Shared Large Objects
Date
2021-06Abstract
This work examines strategies to handle large shared data objects in distributed storage systems (DSS), while boosting the number of concurrent accesses, maintaining strong consistency guarantees, and ensuring good operation performance. To this respect, we define the notion of fragmented objects: concurrent objects composed of a list of fragments (or blocks) that allow operations to manipulate each of their fragments individually. As the fragments belong to the same object, it is not enough that each fragment is linearizable to have useful consistency guarantees in the composed object. Hence, we capture the consistency semantic of the whole object with the notion of fragmented linearizability. Then, considering that a variance of linearizability, coverability, is more suited for versioned objects like files, we provide an implementation of a distributed file system, called CoBFS, that utilizes coverable fragmented objects (i.e., files). In CoBFS, each file is a linked-list of coverable block objects. Preliminary emulation of CoBFS demonstrates the potential of our approach in boosting the concurrency of strongly consistent large objects.