forked from SarabjotKhangura/Simple-Regenerating-Codes
-
Notifications
You must be signed in to change notification settings - Fork 0
Implementation of Simple Regenrating Codes (SRC) using Jerasure Library
License
caiqi0132069/Simple-Regenerating-Codes
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Sarabjot Singh Khangura Electrical Engineering Department University of Southern California Los Angeles, CA 90007 email:skhangur@usc.edu,khangurasarabjot@gmail.com This package includes Simple Regenerating Code applications written using jerasure library. This package also includes some part of jerasure library needed for SRC implementation. Source files concerning SRC have been released under GNU LGPL v3.0. For details on SRC, please refer to "Simple Regenerating Codes: Network Coding for Cloud Storage by D. S. Papailiopoulos, J. Luo, A. G. Dimakis, C. Huang, and J. Li ". To obtain complete jerasure library,http://web.eecs.utk.edu/~plank/plank/papers/CS-08-627.html. This library is released under GNU LGPL v2.1 license. This README provides directions on how to install and run this application. This also includes what is to be expected from the application. <<<<<<< HEAD HOW TO INSTALL--------------------------------------------------- ======= HOW TO INSTALL--------------------------------------------------- >>>>>>> e78624579d22d21341673bcd53c945697d62ffa0 1. To compile SRC applications, Run 'make' in the parent directory of the Simple-Regenerating-codes. It should compile files without errors but may be with some warnings. 2. Enter SRC_file directory and run 'make' again. This should again compile files without error but may be with few warnings. HOW TO RUN--------------------------------------------------------- There are three programs for SRC included in the distribution. One is SRC encoder that encodes any file given as an input. Second one is SRC_decoder that outputs the original file that was encoded. Third one is SRC_repair that would repair SRC encoded system. 1. SRC program encodes input file using SRC. Usage:'SRC <name of the file to be encoded> <k> <n> <f> <field size> <buffersize>'. n, k, f are SRC code parameters. This would generate 'n' encoded files using SRC and a metafile with all the details needed for repair and decoder applications. 2. This program decodes SRC encoded files when all encoded files are available or when we lose upto (n-k) files. a. When there is no encoded file erasure, it simply locates the chunks in the files that have systematic data segments and writes them to file b. if there are encoded file erasures, it would select any 'k' encoded files out of the available encoded files and thereon, uses Decode_by_reed_sol() function to decode. Usage:'SRC_decoder <name of the file that was encoded using SRC>' 3. This program repairs SRC system when upto (n-k) encoded files are lost. It has two specialized repair functions: a. Repair function when we lose only one encoded file storing the data. It uses xor function from jerasure library to Recover erased encoded file. b. Recover function which is used when lose more than one but upto (n-k) encoded files. It uses decoding function from jerasure libaray as well as xor function. Usage:'SRC_repair <name of the file that was encoded using SRC>' Note: The MDS code used in this implementation of SRC is Vandermonde Reed Solomon Code. However any (n,k) MDS code can be used instead of RS code. <<<<<<< HEAD This package is still under development. Various other versions of SRC will be made available. ======= This package is still under development. Various other versions of SRC will be made available. >>>>>>> e78624579d22d21341673bcd53c945697d62ffa0
About
Implementation of Simple Regenrating Codes (SRC) using Jerasure Library
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Languages
- C 99.0%
- Makefile 1.0%