Class HHXORErasureEncoder
java.lang.Object
org.apache.hadoop.conf.Configured
org.apache.hadoop.io.erasurecode.coder.ErasureEncoder
org.apache.hadoop.io.erasurecode.coder.HHXORErasureEncoder
- All Implemented Interfaces:
Configurable,ErasureCoder
Hitchhiker is a new erasure coding algorithm developed as a research project
at UC Berkeley by Rashmi Vinayak.
It has been shown to reduce network traffic and disk I/O by 25%-45% during
data reconstruction while retaining the same storage capacity and failure
tolerance capability of RS codes.
The Hitchhiker algorithm is described in K.V.Rashmi, et al.,
"A "Hitchhiker's" Guide to Fast and Efficient Data Reconstruction in
Erasure-coded Data Centers", in ACM SIGCOMM 2014.
This is Hitchhiker-XOR erasure encoder that encodes a block group.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ErasureCodingStepprepareEncodingStep(ECBlockGroup blockGroup) Perform encoding against a block group.voidrelease()Release the resources if any.Methods inherited from class org.apache.hadoop.io.erasurecode.coder.ErasureEncoder
calculateCoding, getInputBlocks, getNumDataUnits, getNumParityUnits, getOptions, getOutputBlocks, preferDirectBufferMethods inherited from class org.apache.hadoop.conf.Configured
getConf, setConfMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.hadoop.conf.Configurable
getConf, setConf
-
Constructor Details
-
HHXORErasureEncoder
-
-
Method Details
-
prepareEncodingStep
Description copied from class:ErasureEncoderPerform encoding against a block group.- Specified by:
prepareEncodingStepin classErasureEncoder- Parameters:
blockGroup- blockGroup.- Returns:
- encoding step for caller to do the real work
-
release
public void release()Description copied from interface:ErasureCoderRelease the resources if any. Good chance to invoke RawErasureCoder#release.- Specified by:
releasein interfaceErasureCoder- Overrides:
releasein classErasureEncoder
-