Developing a Highly Available Distributed System by Exploiting Application-Specific Operations Semantics
Bachelor or Master Thesis
High availability is among the prime requirements of almost every online system. Things gets really interesting, when we talk about the high availability of a distributed system. There exists numerous distributed systems in different domains and different platforms like HDFS, Spark, Dynamo, Amazon S3, Google Cloud Storage and Microsoft Azure etc. These systems exploit different aspects - underlying data structures, relaxed data consistency, data replication, data redundancy, inter node/cluster synchronous communication reduction and system metadata etc - for having high availability.
The focus of this thesis is to exploit the application-specific operation semantics to achieve high operations availability. There are several open questions regarding the utilization of operation semantics. The target application for this thesis is an academic implementation of TPC-C benchmark. The benchmark guide provides complete information about all the rules and the requirements for its implementation. The requirement of this thesis is to develop a highly available TPC-C compliant fault-tolerant -- system that is safe and live in the presence of random failures -- distributed system.
- A short survey on the academic implementations of TPC-C benchmark
- A distributed implementation of the TPC-C benchmark
- Categorization of the benchmark rules into conflicting and non conflicting rules
- Defining operations and their semantics based on the benchmark rules
- Defining criteria for parallel execution of conflicting operation in compliance with the benchmark rules
- Comparison of the obtained results with existing academic implementations of TPC-C benchmark
The thesis will be written in English.