Deterministic Data Distribution for Efficient Recovery in Erasure-Coded Storage Systems

04/08/2020
by   Liangliang Xu, et al.
0

Due to individual unreliable commodity components, failures are common in large-scale distributed storage systems. Erasure codes are widely deployed in practical storage systems to provide fault tolerance with low storage overhead. However, random data distribution (RDD), commonly used in erasure-coded storage systems, induces heavy cross-rack traffic, load imbalance, and random access, which adversely affects failure recovery. In this paper, with orthogonal arrays, we define a Deterministic Data Distribution (D^3) to uniformly distribute data/parity blocks among nodes, and propose an efficient failure recovery approach based on D^3, which minimizes the cross-rack repair traffic against a single node failure. Thanks to the uniformity of D^3, the proposed recovery approach balances the repair traffic not only among nodes within a rack but also among racks. We implement D^3 over Reed-Solomon codes and Locally Repairable Codes in Hadoop Distributed File System (HDFS) with a cluster of 28 machines. Compared with RDD, our experiments show that D^3 significantly speeds up the failure recovery up to 2.49 times for RS codes and 1.38 times for LRCs. Moreover, D^3 supports front-end applications better than RDD in both of normal and recovery states.

READ FULL TEXT
research
08/05/2019

Repair Pipelining for Erasure-Coded Storage: Algorithms and Evaluation

We propose repair pipelining, a technique that speeds up the repair perf...
research
03/02/2022

ReStore: In-Memory REplicated STORagE for Rapid Recovery in Fault-Tolerant Algorithms

Fault-tolerant distributed applications require mechanisms to recover da...
research
06/07/2021

Rack-Aware Regenerating Codes with Multiple Erasure Tolerance

In a modern distributed storage system, storage nodes are organized in r...
research
07/27/2021

On the data persistency of replicated erasure codes in distributed storage systems

This paper studies the fundamental problem of data persistency for a gen...
research
10/03/2020

Codes for Distributed Storage

This chapter deals with the topic of designing reliable and efficient co...
research
02/13/2023

SWIFT: Expedited Failure Recovery for Large-scale DNN Training

As the size of deep learning models gets larger and larger, training tak...
research
07/30/2019

How to Make the Preconditioned Conjugate Gradient Method Resilient Against Multiple Node Failures

We study algorithmic approaches for recovering from the failure of sever...

Please sign up or login with your details

Forgot password? Click here to reset