Computing Reviews

In search of a scalable Raft-based replication architecture
Deyerl C., Distler T.  PaPoC 2019 (Proceedings of the 6th Workshop on Principles and Practice of Consistency for Distributed Data, Dresden, Germany, Mar 25, 2019)1-7,2019.Type:Proceedings
Date Reviewed: 08/21/19

Since parallel and distributed processing have become key issues of high throughput computer processing, there have been many efforts to find solutions (for example, architectures, communication systems, technologies, algorithms, protocols, and so on) that help achieve this general goal. The Raft consensus protocol is one of them--it helps to maintain replicated logs across servers defining the order of executed commands, which modify the application state. Raft simplifies the design and implementation of many applications; however, it also has a limitation: limited scalability. As we know, in some scenarios (solutions), the problem of limited scalability (or more generally, any limitation) can be a serious bottleneck. The authors propose a Raft-based solution (state machine replication architecture) called Niagara, which allows for scalability in Raft-based systems, distributing the responsibility for appending new entries across many replicated instances.

The paper presents the Raft protocol (section 2) with its limitations related to the (single) leader-based architecture, which can be the bottleneck. The challenge is to develop a solution that fulfills assumed requirements (section 2.3). This is done thanks to the proposed Niagara solution (described in section 3). It executes multiple loosely coupled instances of Raft managed by sequencer--a global log with no-op commands introduces when it is necessary to keep the system progressing.

In order to prove the utility of their proposal, the authors present several tests and benchmarks to confirm that their presented solution makes significant progress in system performance (see section 4). As a result, we have an interesting proposal that, relying on the Raft architecture, allows for the building of scalable high-throughput processing systems based on multiple cores and/or network cards.

For anyone who is interested in elegant solutions that help improve performance in parallel/distributed systems, Niagara seems to be a worthwhile subject.

Reviewer:  Dominik Strzalka Review #: CR146665 (1911-0386)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy