Design and Implementation of an Automated Experimentation Facility for a Reconfigurable Geo-Distributed Key-Value Store

Open Access
- Author:
- Soni, Praneet
- Graduate Program:
- Computer Science and Engineering
- Degree:
- Master of Science
- Document Type:
- Master Thesis
- Date of Defense:
- July 10, 2020
- Committee Members:
- Bhuvan Urgaonkar, Thesis Advisor/Co-Advisor
Viveck Ramesh Cadambe, Committee Member
Chitaranjan Das, Program Head/Chair - Keywords:
- Strong Consistency
Geo-distributed
Key-value Store
Experiment Facility
Reconfigurable Storage Service
Erasure Coding
Systems - Abstract:
- Distributed Storage Services (DSS) have proven their worth, in providing highly available and reliable data access to the applications served by them. But with the surge in demand for these services, a cost-aware performance analysis of the system becomes more pertinent. Erase Coding (EC) can provide significant savings in storage capacity and network costs, while providing same fault tolerance guarantees, as compared to the replication based schemes employed by current state-of-the-art systems. EC provides a competitive alternative for storage services which require strong memory consistency guarantees. This work aims to provide an automated experimentation facility, which can be used to explore the system performance under different storage configurations. The framework implemented in this work, supports a combination of EC based and replication based linearizable key-value stores, across a geo-distributed setting. The framework facilitates protocols for concurrent non-blocking read/writes by multiple clients. The framework can also generate client requests, based on workload specifications provided by the user. The specification allows workload attributes to change over the course of the experiment. In conjunction with dynamic workloads, the framework also implements a reconfiguration protocol to apply the new storage policies chosen for the workload, while ensuring minimal client service disruption. The framework provides sufficient flexibility in exploring the design space of storage configurations, without compromising on system performance.