REVIEW 6 minor 53 references
Repair Pipelining for Erasure-Coded Storage: Algorithms and Evaluation
T0 review · 0 major / 6 minor · reviewed 2026-08-14 · deepseek-v4-flash
Pith's one-line read Repair pipelining reduces the time to rebuild a lost erasure-coded block to almost the same as reading an available block, independent of coding parameters.
desk verdict Solid systems paper: clean O(1) repair-time analysis with honest scope, backed by extensive experiments; worth serious refereeing despite minor reproducibility gaps. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing mechanism is slice-level repair pipelining along a linear helper path. A block is divided into $s$ fixed-size slices; helper $N_i$ receives a partially combined slice, adds its own locally stored block contribution (possible because erasure-code decoding is a linear, associative combination), and sends the new partial sum to $N_{i+1}$, while the upstream helper simultaneously starts the next slice. This keeps every link equally busy and eliminates the requestor-downlink bottleneck, converting the $k$-fold repair traffic of conventional Reed-Solomon repair into a pipeline whose makespan is $1+(k-1)/s$ timeslots. Named extensions include a cyclic version for limited edge bandwidth, rack-aware path selection that minimizes cross-rack transmissions, and a weighted path-selection algorithm that finds the path maximizing the minimum link bandwidth in heterogeneous networks.
What would settle it
Run a single-block repair of a 64 MiB block with 32 KiB slices in a homogeneous cluster at both 1 Gb/s and 10 Gb/s links and measure the ratio of repair time to direct-read time of one 64 MiB block; if the ratio does not stay close to 1 under the 10 Gb/s setting, the assumption that computation and disk I/O are hidden behind transmission is violated. A second check is to hold block size fixed while sweeping slice size: if repair time grows with $k$ even for large $s$, the claimed independence from coding parameters fails.
Extended reading notes
Core claim
The paper's central claim is that repair time in erasure-coded storage need not grow with the coding parameter $k$. By decomposing a failed block into $s$ slices and arranging $k$ helpers plus the requestor as a linear path, each helper contributes one partial linear combination per slice and forwards it, so traffic spreads evenly across all links. The resulting single-block repair time is $(s-1+k)/s = 1+(k-1)/s$ timeslots, which tends to $1$ for large $s$, meaning the rebuilt block arrives almost as quickly as a directly read available block. For $f$ simultaneously failed blocks in one stripe, the same schedule gives $f(1+(k-1)/s)$ timeslots, approaching $f$ timeslots, which is strictly below the $k+f-1$ timeslots of conventional repair. The paper supports this with a working middleware prototype and testbed and cloud measurements showing large reductions in degraded-read latency and full-node recovery time.
Load-bearing premise
The strong $O(1)$ result assumes the repair is dominated by network transmission: computation and disk I/O are negligible and can be overlapped with sending, and every link on the path has equal, dedicated bandwidth.
Editorial extensions
If this is right
- Single-block repair time in homogeneous, network-bound settings becomes $O(1)$, independent of $k$, once slices are small enough; conventional repair is $O(k)$ and partial-parallel repair is $O(\log^2 k)$.
- Multi-block repair of $f$ failed blocks approaches $f$ timeslots, compared with $k+f-1$ for conventional repair, so the advantage grows with $k$.
- The rack-aware extension preserves the minimum cross-rack repair traffic of cluster-aware repair while also shortening the repair path, which should shorten the vulnerability window after a failure.
- The cyclic and weighted-path extensions shift repair traffic away from a limited requestor edge link or slow links, making fast repair possible in hierarchical and heterogeneous deployments.
- Because the technique applies to any linear erasure code, it can be combined with repair-friendly codes such as local reconstruction codes, gaining both reduced repair traffic and reduced repair time.
Reading between the lines
- Inference: if the $O(1)$ bound survives in production-like settings, erasure coding could plausibly replace replication for hot, frequently read data, since the read-latency penalty that motivated replication is removed.
- Inference: at network speeds where disk I/O or CPU is no longer hidden behind transmission, repair time will floor at the per-slice local processing cost; the practical speedup is therefore bounded by how much faster forwarding is than local read and encode, and the paper's own 10 Gb/s results already show shrinking gains.
- Inference: the same slice-pipeline schedule could be composed with regenerating codes, which minimize repair traffic, to attack both dimensions at once; the paper leaves this as future work.
- Inference: a direct test of the bound's limit is to fix block size and sweep slice size while measuring repair time; the optimum at intermediate slice sizes (small enough for parallelism, large enough to avoid request overhead) is itself a signature of the pipelining mechanism.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. This paper proposes repair pipelining for erasure-coded storage, a scheduling technique that splits each block into s slices and pipelines partial repair operations along a linear path of k helpers and a requestor. Under an explicit network-bound model with equal, dedicated links, the paper derives a makespan of (s−1+k)/s timeslots, which approaches one timeslot as s grows, so that single-block repair time approaches the time to read one available block. It extends the basic scheme to cyclic parallel reads for limited edge bandwidth, rack-aware path selection for hierarchical data centers, weighted path selection that minimizes the maximum link weight for arbitrary heterogeneous link bandwidths, and multi-block repair. The paper implements the scheme in the ECPipe middleware and integrates it into HDFS-RAID, HDFS-3, and QFS. Experiments on a local cluster and on two Amazon EC2 deployments show substantial reductions in degraded-read latency and full-node recovery time compared with conventional repair and PPR.
Significance. If the result holds, the paper makes a significant practical and conceptual contribution: it shows that repair scheduling, rather than code design, can bring single-block repair time close to normal read time for general erasure codes. The central time-complexity derivation is self-contained and does not fit constants to measurements; the only free parameter is the slice size s, and the predicted near-direct-send behavior is confirmed experimentally (8.8% above direct send at 1 Gb/s with 32 KiB slices). The paper is unusually candid about limitations: it explicitly states that computation and disk I/O are neglected, shows that the gain shrinks at 10 Gb/s and with small slice sizes, and reports a regime where block-level PUSH-style pipelining wins at small block sizes. The ECPipe prototype, the integrations into three real storage systems, and the fair comparison with prior pipelined-repair work are additional strengths of the paper.
minor comments (6)
- [§4.4] The sentence claiming that repair pipelining 'always incurs less repair time than conventional repair' is stronger than the derived formulas justify. Comparing the stated multi-block repair time f(1+(k−1)/s) with conventional repair time k+f−1 yields the condition f < s rather than an unconditional inequality. The claim should be qualified to the intended regime in which the block is split into more slices than the number of failed blocks.
- [§4.4 and Figure 6] The timeslot accounting for the final leg of the multi-block repair is ambiguous. If the f requestors are reached over f dedicated links with the assumed per-link bandwidth, the final transmission of one slice to each requestor can proceed in parallel and takes 1/s timeslots, not f/s timeslots; if the model instead assumes a single shared bottleneck link to the requestors, that assumption should be stated explicitly.
- [§3.2] The pipelined schedule requires each intermediate helper to receive from one neighbor and transmit to the next neighbor at the same time. The model description should state this concurrency assumption (for example, full-duplex links or independent network interfaces), since the (s−1+k)/s formula depends on it.
- [§6.1 and §6.3] The local-cluster plots in Figures 8 and 10 omit error bars, and the text merely states that the standard deviations are small; given that each point is averaged over only 10 runs, reporting the maximum standard deviation or adding error bars would make the variance visible.
- [§5] The source-code statement gives a URL but no version fingerprint such as a commit hash or DOI; since the stated URL is not independently versioned, the report should cite a concrete artifact identifier for reproducibility.
- [§4.3] Algorithm 2 is described as 'fast yet optimal'; its optimality is argued correctly, but the 'fast' claim is supported only by an average search time for a single (14,10) configuration, without a worst-case bound or a characterization of the explored search space.
Circularity Check
No significant circularity: the O(1) repair-time result is derived from the stated network-bound model and confirmed by experiments, not obtained by fitting.
full rationale
The central O(1) repair-time result in §3.2 is derived by counting timeslots under an explicitly stated network-bound model. The paper defines a timeslot as the transmission time of one block over one link, partitions each block into s slices, and observes that the repair of each slice traverses k links while the last slice starts after (s-1)/s timeslots, giving makespan (s-1+k)/s = 1 + (k-1)/s. This is arithmetic from the model, not a fit. The approximation to normal read time (1 timeslot) is a limiting statement of this same model; the paper separately validates it experimentally, e.g., Figure 8(a) reports repair time only 8.8% above direct-send time at 1 Gb/s. No parameter is fitted to data and then renamed as a prediction. The caveat that computation and disk I/O are neglected is stated in §3.2, and its limits are probed in §6.1, where the gain shrinks at 10 Gb/s but remains positive. Self-citations (e.g., [22], [29], [30]) are used for background, reliability analysis, and prior-work context; none is load-bearing for the central timeslot derivation. Hence no circularity.
Assumptions & free parameters
free parameters (1)
- slice size s =
32 KiB default (empirically chosen)
assumptions (4)
- domain assumption Network bandwidth is the dominant bottleneck during repair; computation and disk I/O can be overlapped and are negligible
- domain assumption All network links in the homogeneous model have equal bandwidth and are dedicated to the repair (no competing traffic)
- standard math Erasure codes are linear and additions are associative, so partial sums can be pipelined
- domain assumption A centralized coordinator can access block locations and schedule helpers
Cite this review
Pith. "Pith review of Repair Pipelining for Erasure-Coded Storage: Algorithms and Evaluation." pith.science (2026). https://pith.science/paper/YM2FXZWC
@misc{pith2026190801527,
author = {Pith},
title = {Pith review of: Repair Pipelining for Erasure-Coded Storage: Algorithms and Evaluation},
year = {2026},
howpublished = {\url{https://pith.science/paper/YM2FXZWC}},
note = {Machine review of arXiv:1908.01527}
}
read the original abstract
We propose repair pipelining, a technique that speeds up the repair performance in general erasure-coded storage. By carefully scheduling the repair of failed data in small-size units across storage nodes in a pipelined manner, repair pipelining reduces the single-block repair time to approximately the same as the normal read time for a single block in homogeneous environments. We further design different extensions of repair pipelining algorithms for heterogeneous environments and multi-block repair operations. We implement a repair pipelining prototype, called ECPipe, and integrate it as a middleware system into two versions of Hadoop Distributed File System (HDFS) (namely HDFS-RAID and HDFS-3) as well as Quantcast File System (QFS). Experiments on a local testbed and Amazon EC2 show that repair pipelining significantly improves the performance of degraded reads and full-node recovery over existing repair techniques.
Figures
Figures from the paper (8 more)
Reference graph
Works this paper leans on
-
[1]
https://github.com/facebookarchive/hadoop-20, Retrieved in November 2020
Facebook’s Hadoop. https://github.com/facebookarchive/hadoop-20, Retrieved in November 2020
work page 2020
-
[2]
https://hadoop.apache.org/docs/r3.1.1/, Retrieved in Novem- ber 2020
Hadoop 3.1.1 HDFS. https://hadoop.apache.org/docs/r3.1.1/, Retrieved in Novem- ber 2020
work page 2020
-
[3]
https://iperf.fr/, Retrieved in November 2020
Iperf. https://iperf.fr/, Retrieved in November 2020
work page 2020
-
[4]
http://redis.io/, Retrieved in November 2020
Redis. http://redis.io/, Retrieved in November 2020
work page 2020
-
[5]
https://linux.die.net/man/8/tc, Retrieved in November 2020
tc. https://linux.die.net/man/8/tc, Retrieved in November 2020
work page 2020
-
[6]
M. K. Aguilera. Geo-distributed storage in data centers, 2013. Slides presented at International Conference on Principles of Distributed Systems (OPODIS’13)
work page 2013
- [7]
-
[8]
F. Andr´e, A.-M. Kermarrec, E. L. Merrer, N. L. Souarnec, G. Straub, and A. van Kempen. Archiving cold data in warehouses with clustered network coding. In Proceedings of the Ninth European Conference on Computer Systems (EuroSys’14), pages 1--14, 2014
work page 2014
Show all 53 references
-
[9]
Y. Bai, Z. Xu, H. Wang, and D. Wang. Fast recovery techniques for erasure-coded clusters in non- uniform traffic network. In Proceedings of the 48th International Conference on Parallel Processing (ICPP’19), pages 1--10, 2019
2019
-
[10]
Bhagwan, K
R. Bhagwan, K. Tati, Y. Cheng, S. Savage, and G. Voelker. Total Recall: System support for automated availability management. In Proceedings of the First Symposium on Networked Systems Design and Implementation (NSDI’04), page 25, 2004
2004
-
[11]
Calder, J
B. Calder, J. Wang, A. Ogus, N. Nilakantan, A. Skjolsvold, S. McKelvie, Y. Xu, S. Srivastav, J. Wu, H. Simitci, et al. Windows Azure Storage: A highly available cloud storage service with strong consistency. In Proceedings of the 23rd ACM Symposium on Operating Systems Princip...
2011
-
[12]
Y. Chen, S. Mu, J. Li, C. Huang, J. Li, A. Ogus, and D. Phillips. Giza: Erasure coding objects across global data centers. In Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC’17), pages 539--551, 2017
2017
-
[13]
Chowdhury, S
M. Chowdhury, S. Kandula, and I. Stoica. Leveraging endpoint flexibility in data-intensive clusters. In Proceedings of the ACM SIGCOMM 2013 conference (SIGCOMM’13) , pages 231--242, 2013
2013
-
[14]
B. Chun, F. Dabek, A. Haeberlen, E. Sit, H. Weatherspoon, M. F. Kaashoek, J. Kubiatowicz, and R. Morris. Efficient replica maintenance for distributed storage systems. In Proceedings of the 3rd Symposium on Networked Systems Design & Implementation (NSDI’06) , pages 45--58, 2006
2006
-
[15]
Dean and S
J. Dean and S. Ghemawat. MapReduce: Simplified data processing on large clusters. In Proceedings of the 6th Symposium on Opearting Systems Design & Implementation (OSDI’04) , pages 137--149, 2004
2004
-
[16]
A. G. Dimakis, P. B. Godfrey, Y. Wu, M. Wainwright, and K. Ramchandran. Network coding for distributed storage systems. IEEE Transactions on Information Theory , 56(9):4539--4551, Sep 2010
2010
-
[17]
D. Ford, F. Labelle, F. I. Popovici, M. Stokel, V.-A. Truong, L. Barroso, C. Grimes, and S. Quinlan. Availability in globally distributed storage systems. In Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation (OSDI’10), pages 61--74, 2010. 25
2010
-
[18]
Ghemawat, H
S. Ghemawat, H. Gobioff, and S. Leung. The Google File System. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP’03), pages 29--43, 2003
2003
-
[19]
C. A. R. Hoare. Algorithm 65: find. Communications of the ACM , 4(7):321--322, 1961
1961
-
[20]
Holland and G
M. Holland and G. A. Gibson. Parity declustering for continuous operation in redundant disk arrays. In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’92), pages 23--35, 1992
1992
-
[21]
H. Hou, P. P. C. Lee, K. W. Shum, and Y. Hu. Rack-aware regenerating codes for data centers. IEEE Transactions on Information Theory , 65(8):4730--4745, Aug 2019
2019
-
[22]
Y. Hu, X. Li, M. Zhang, P. P. Lee, X. Zhang, P. Zhou, and D. Feng. Optimal repair layering for erasure-coded data centers: From theory to practice. ACM Transactions on Storage , 13(4):1--24, 2017
2017
-
[23]
Huang, H
C. Huang, H. Simitci, Y. Xu, A. Ogus, B. Calder, P. Gopalan, J. Li, and S. Yekhanin. Erasure coding in Windows Azure storage. In Proceedings of the 2012 USENIX Annual Technical Conference (USENIX ATC’12), pages 15--26, 2012
2012
-
[24]
Huang, X
J. Huang, X. Liang, X. Qin, Q. Cao, and C. Xie. PUSH: A pipelined reconstruction I/O for erasure-coded storage clusters. IEEE Transactions on Parallel and Distributed Systems , 26(2):516--526, 2015
2015
-
[25]
Jalaparti, P
V. Jalaparti, P. Bodik, I. Menache, S. Rao, K. Makarychev, and M. Caesar. Network-aware scheduling for data-parallel jobs: Plan when you can. In Proceedings of the ACM SIGCOMM 2015 conference (SIGCOMM’15), pages 407--420, 2015
2015
-
[26]
O. Khan, R. Burns, J. Plank, W. Pierce, and C. Huang. Rethinking erasure codes for cloud file systems: Minimizing i/o for recovery and degraded reads. In Proceedings of the 10th USENIX conference on File and Storage Technologies (FAST’12), pages 251--264, 2012
2012
-
[27]
J. Li, S. Yang, X. Wang, and B. Li. Tree-structured data regeneration in distributed and storage systems with regenerating codes. In Proceedings of the 29th IEEE Conference on Computer Communications (INFOCOM’10), pages 2892--2900, 2010
2010
-
[28]
R. Li, P. P. C. Lee, and Y. Hu. Degraded-first scheduling for MapReduce in erasure-coded storage clusters. In Proceedings of the 44th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN’14), pages 419--430, 2014
2014
-
[29]
R. Li, X. Li, P. P. C. Lee, and Q. Huang. Repair pipelining for erasure-coded storage. In Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC’17) , pages 567--579, 2017
2017
-
[30]
X. Li, R. Li, P. P. C. Lee, and Y. Hu. OpenEC: Toward unified and configurable erasure coding management in distributed storage systems. In Proceedings of the 17th USENIX conference on File and Storage Technologies (FAST’19), pages 331--344, 2019
2019
-
[31]
Mitra, R
S. Mitra, R. Panta, M.-R. Ra, and S. Bagchi. Partial-parallel-repair (PPR): A distributed technique for repairing erasure coded storage. In Proceedings of the 11th European Conference on Computer Systems (EuroSys’16), pages 1--16, 2016
2016
-
[32]
Muralidhar, W
S. Muralidhar, W. Lloyd, S. Roy, C. Hill, E. Lin, W. Liu, S. Pan, S. Shankar, V. Sivakumar, L. Tang, and S. Kumar. f4: Facebook’s warm BLOB storage system. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI’14) , pages 383--398, 2014
2014
-
[33]
L. M. Ni and P. K. McKinley. A survey of wormhole routing techniques in direct networks. IEEE Computer, 26(2):62--76, 1993
1993
-
[34]
Ongaro, S
D. Ongaro, S. M. Rumble, R. Stutsman, J. Ousterhout, and M. Rosenblum. Fast crash recovery in RAMCloud. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP’11) , pages 29--41, 2011. 26
2011
-
[35]
Ovsiannikov, S
M. Ovsiannikov, S. Rus, D. Reeves, P. Sutter, S. Rao, and J. Kelly. The Quantcast file system. Proceedings of the VLDB Endowment , 6(11):1092--1101, 2013
2013
-
[36]
Pamies-Juarez, F
L. Pamies-Juarez, F. Blagojevi ´c, R. Mateescu, C. Gyuot, E. E. Gad, and Z. Bandic. Opening the chrysalis: On the real repair performance of MSR codes. In Proceedings of the 14th Usenix Conference on File and Storage Technologies (FAST’16), pages 81--94, 2016
2016
-
[37]
J. S. Plank. Erasure codes for storage systems: A brief primer. ;login: the Usenix magazine , 38(6):44-- 50, Dec 2013
2013
-
[38]
J. S. Plank, J. Luo, C. D. Schuman, L. Xu, and Z. Wilcox-O’Hearn. A performance evaluation and examination of open-source erasure coding libraries for storage. In Proceedings of the 7th USENIX Conference on File and Storage Technologies (FAST’09), pages 253--265, 2009
2009
-
[39]
Prakash, V
N. Prakash, V. Abdrashitov, and M. M´edard. The storage versus repair-bandwidth trade-off for clustered storage systems. IEEE Transactions on Information Theory , 64(8):5783--5805, 2018
2018
-
[40]
K. V. Rashmi, P. Nakkiran, J. Wang, N. B. Shah, and K. Ramchandran. Having your cake and eating it too: Jointly optimal erasure codes for I/O, storage, and network-bandwidth. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST’15) , pages 81--94, 2015
2015
-
[41]
K. V. Rashmi, N. B. Shah, D. Gu, H. Kuang, D. Borthakur, and K. Ramchandran. A solution to the network challenges of data recovery in erasure-coded distributed storage systems: A study on the Facebook warehouse cluster. In Proceedings of the 5th USENIX conference on Hot Topics...
2013
-
[42]
K. V. Rashmi, N. B. Shah, D. Gu, H. Kuang, D. Borthakur, and K. Ramchandran. A ”hitchhiker’s” guide to fast and efficient data reconstruction in erasure-coded data centers. In Proceedings of the ACM SIGCOMM 2014 conference (SIGCOMM’14), pages 331--342, 2014
2014
-
[43]
Reed and G
I. Reed and G. Solomon. Polynomial codes over certain finite fields.Journal of the Society for Industrial and Applied Mathematics, 8(2):300--304, 1960
1960
-
[44]
J. K. Resch and J. S. Plank. AONT-RS: Blending security and performance in dispersed storage systems. In Proceedings of the 9th USENIX conference on File and Storage Technologies (FAST’11) , pages 191--202, 2011
2011
-
[45]
Sathiamoorthy, M
M. Sathiamoorthy, M. Asteris, D. Papailiopoulos, A. G. Dimakis, R. Vadali, S. Chen, and D. Borthakur. XORing elephants: Novel erasure codes for big data. Proceedings of the VLDB Endowment , 6(5):325-- 336, 2013
2013
-
[46]
Z. Shen, X. Li, and P. P. C. Lee. Fast predictive repair in erasure-coded storage. In Proceedings of the 49th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN’19) , pages 556--567, 2019
2019
-
[47]
Z. Shen, J. Shu, Z. Huang, and Y. Fu. Clustersr: Cluster-aware scattered repair in erasure-coded storage. In Proceedings of the 35th IEEE International Parallel & Distributed Processing Symposium (IPDPS’20), pages 42--51, 2020
2020
-
[48]
Z. Shen, J. Shu, and P. P. C. Lee. Reconsidering single failure recovery in clustered file systems. In Proceedings of the 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN’16), pages 323--334, 2016
2016
-
[49]
Shvachko, H
K. Shvachko, H. Kuang, S. Radia, and R. Chansler. The Hadoop distributed file system. In Proceedings of the 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST’10) , pages 1--10, 2010. 27
2010
-
[50]
Silberstein, L
M. Silberstein, L. Ganesh, Y. Wang, L. Alvizi, and M. Dahlin. Lazy means smart: Reducing repair bandwidth costs in erasure-coded distributed storage. In Proceedings of International Conference on Systems and Storage (SYSTOR’14), pages 1--7, 2014
2014
-
[51]
Vajha, V
M. Vajha, V. Ramkumar, B. Puranik, G. Kini, E. Lobo, B. Sasidharan, P. V. Kumar, A. Barg, M. Ye, S. Narayanamurthy, et al. Clay codes: Moulding MDS codes to yield an MSR code. In Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST’18) , pages 139--...
2018
-
[52]
Weatherspoon and J
H. Weatherspoon and J. D. Kubiatowicz. Erasure coding vs. replication: A quantitative comparison. In Proceedings of the first International Workshop on Peer-to-Peer Systems (IPTPS’02) , pages 328--337, 2002
2002
-
[53]
F. Xu, Y. Wang, X. Pei, and X. Ma. LAR: Locality-aware reconstruction for erasure-coded distributed storage systems. Concurrency and Computation: Practice and Experience , 31(11):e5031, 2019. 28
2019
Reviewed August 14, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.