Abstract
Distributed storage systems often have to guarantee data availability despite of failures or temporal downtimes of storage nodes. For this purpose, a deletion-tolerant code is applied that allows to reconstruct missing parts in a codeword, i.e. to tolerate a distinct number of failures. The Reed/Solomon (R/S) code is the most general deletion-tolerant code and can be adapted to a required number of tolerable failures. In terms of its least information overhead, R/S is optimal, but it consumes significantly more computation power than parity-based codes. Reconfigurable hardware can be employed for particular operations in finite fields for R/S coding by specialized arithmetics, so that the higher computation effort is compensated by faster and parallel operations. We present architectures for an application–specific acceleration by FPGAs. In this paper, strategies for an efficient communication with the accelerating FPGA and a performance comparison between a pure software-based solution and the accelerated system are provided.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Blaum, M., Brady, J., Bruck, J., Menon, J.: EVENODD: An Efficient Scheme for Tolerating Double Disk Failures in RAID Architectures. IEEE Transactions on Computers 44(2) (1995)
Plank, J.S.: A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems. SOFTWARE - PRACTICE AND EXPERIENCE, 995-1012 (September 1997)
Plank, J.S., Ding, Y.: Note: Correction to the 1997 Tutorial on Reed-Solomon Coding. Technical Report, University of Tennessee, UT-CS-03-504, April (2003)
Mac Williams, F.J., Sloane, N.J.A.: The Theory of Error–Correcting Codes. Part I. North Holland Publishing, Amsterdam (1977)
Carns, P.H., Ligon, W.B., Ross, R.B., Thakur, R.: PVFS: A Parallel File System for Linux. In: Proc. of the 4th Annual Linux Showcase and Conference, pp. 317–327 (2000)
Braam, P.J., et al.: The Lustre Storage Architecture. Cluster File Systems Inc. (2004), http://www.lustre.org/docs/lustre.pdf
Wiebalck, A., Breuer, P.T., Lindenstruth, V., Steinbeck, T.M.: Fault-Tolerant Distributed Mass Storage for LHC Computing. CCGrid Conference (2003)
Sobe, P.: Data Consistent Up- and Downstreaming in a Distributed Storage System. In: Proceedings of Int. Workshop on Storage Network Architecture and Parallel I/Os, pp. 19–26. IEEE Computer Society Press, Los Alamitos (2003)
Sobe, P., Peter, K.: Comparison of Redundancy Schemes for Distributed Storage Systems. In: 5th IEEE International Symposium on Network Computing and Applications, pp. 196–203. IEEE Computer Society Press, Los Alamitos (2006)
Cray Inc.: Cray XD1 FPGA Development. Release 1.4 documentation (2006)
Paar, C.: A New Architecture for a Parallel Finite Field Multiplier with Low Complexity Based on Composite Fields. IEEE Transactions on Computers 45(7), 856–861 (1996)
Gilroy, M., Irvine, J.: RAID 6 Hardware Acceleration. In: Proc. of the 16th Int. Conference on Field Programmable Logic and Applications 2006, pp. 67–72 (2006)
Lim, W.M., Benaisse, M.: Design Space Exploration of a Hardware-Software Co-designed GF(2m) Galois Field Processor for Forward Error Correction and Cryptography. In: International Symposium on System Synthesis 2003, pp. 53–58. ACM Press, New York (2003)
Mamidi, S., Iancu, D., Iancu, A., Schulte, M.J., Glossner, J.: Instruction Set Extensions for Reed-Solomon Encoding and Decoding. In: Proceedings of the 16th. Int. Conf. on Application-specific Systems, Architecture and Processors (ASAP’05), IEEE Computer Society Press, Los Alamitos (2005)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Sobe, P., Hampel, V. (2007). FPGA-Accelerated Deletion-Tolerant Coding for Reliable Distributed Storage. In: Lukowicz, P., Thiele, L., Tröster, G. (eds) Architecture of Computing Systems - ARCS 2007. ARCS 2007. Lecture Notes in Computer Science, vol 4415. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71270-1_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-71270-1_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71267-1
Online ISBN: 978-3-540-71270-1
eBook Packages: Computer ScienceComputer Science (R0)