ADA Library Digital Repository

Defining Linearizability in Distributed Systems by Linearizability Checker

Show simple item record

dc.contributor.author Naghiyev, Hasan
dc.date.accessioned 2024-12-19T23:41:28Z
dc.date.available 2024-12-19T23:41:28Z
dc.date.issued 2023-04
dc.identifier.uri http://hdl.handle.net/20.500.12181/929
dc.description.abstract Distributed systems are a vital part of contemporary computing infrastructure, and upholding data consistency across these systems is an essential aspect of their design. Consistency models, including strong, sequential, and eventual consistency, are pivotal in ensuring coherence and precision of data within distributed systems. Nevertheless, the choice of an appropriate consistency model is contingent upon the specific needs of a project, as it frequently entails balancing trade offs among consistency, availability, and partition tolerance, as emphasized by the CAP theorem. In this study, we concentrate on strong consistency, or linearizability, since it offers an instinctive approach to reasoning about data in distributed systems. The main goal of this study is to create a linearizability checker that can analyze files from client distributed databases and pinpoint transactions that violate strong consistency. The checker also yields output proposing the accurate values for these transactions. Our methodology encompasses gathering query history files from multiple database instances, merging them into a unified history file, and subsequently examining this file for consistency violations. A report is then generated to inform the user about any detected inconsistencies. Our linearizability checker is composed of two subsystems: the User Interface and the Server. The User Interface is accountable for securely obtaining input files from the user, transferring them to the server, and presenting the generated report. In contrast, the Server is in charge of merging the input files, validating strong consistency, producing a report, and returning it to the User Interface. To tackle the time skew issue in distributed systems, we employ the Network Time Protocol (NTP) to synchronize clocks throughout the system. Currently, our checker is confined to working with Redis database files; however, it can be expanded to accommodate additional databases in the future. By identifying consistency violations in distributed systems, our linearizability checker serves as an indispensable instrument for ensuring data accuracy and integrity in enterprise projects. en_US
dc.language.iso en en_US
dc.publisher ADA University en_US
dc.rights Attribution-NonCommercial-NoDerivs 3.0 United States *
dc.rights.uri http://creativecommons.org/licenses/by-nc-nd/3.0/us/ *
dc.subject Distributed databases -- Consistency models en_US
dc.subject Database management -- Tools and techniques en_US
dc.subject Computer systems -- Fault tolerance en_US
dc.title Defining Linearizability in Distributed Systems by Linearizability Checker en_US
dc.type Thesis en_US


Files in this item

The following license files are associated with this item:

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 United States Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 United States

Search ADA LDR


Advanced Search

Browse

My Account