n − k failures. Decoding is done client-side after re-
trieving k blocks out of the n from storage nodes.
The current storage systems provide erasure cod-
ing to benefit from the storage capacity saving for
longterm storage. When intensive data I/Os are
needed, replication is put forward because of the ad-
ditional workload of erasure codes. Our work differs
from this position by exploring the use of an erasure
code for intensive applications. We experiment the
concept by applying RozoFS to video editing.
The rest of the paper is structured as follows: Sec-
tion 2 briefly describes some distributed storage sys-
tems and their data protection policy. In Section 3,
we present the MT and its erasure code characteris-
tics, while Section 4 describes how RozoFS use it to
provide a distributed file system. The video editing
experiment is presented in section 5 and demonstrates
that erasure coding is not a bottleneck for I/O inten-
sive applications. Section 6 concludes the paper with
the possible future work.
2 RELATED WORK
Erasure Coding receives significant attention from
both the business and the research communities. Scal-
ity, Caringo, Isilon or Cleversafe are such examples of
companies providing private storage solutions based
on erasure codes. Data protection for these systems
are partially described in technical white papers.
Scality and Caringo provide replication and era-
sure coding as a way to protect data. Erasure cod-
ing is only used for the longterm storage of massive
amounts of data. They both recommend replication
for intensive applications. Isilon puts forward the use
of erasure coding through a Reed Solomon imple-
mentation in OneFS. Replication is only used when
erasure coding is not applicable (e.g. too few many
nodes). Cleversafe provides exclusively data protec-
tion through erasure coding. It relies on the Luby’s
implementation (Bl¨omer et al., ) of the Reed Solomon
algorithm.
Besides these solutions, famous and stable free al-
ternatives exist. One of the most famous free solu-
tion is Apache HDFS. This Distributed File System
(DFS) aims at archiving and data-intensive comput-
ing (i.e. not really an I/O centric DFS). It relies on the
MapReduce framework that divides and distributes
tasks to storage nodes. Data protection is done by
replication, and triplication is the default protection
policy. Carnegie Mellon University has developed a
version based on erasure codes, called HDFS-RAID
(Fan et al., 2009). It is based on Reed-Solomon codes
for generic parity computations. HDFS-RAID has
been applied in practice (e.g. Facebook Warehouse).
However, only a small part of the warehouse’s data
has been translated by erasure coding. Warm data
(i.e. frequently accessed data) is still replicated. Once
the data have not been used for a while, the raid-node
daemon encodes it and erases the correspondingrepli-
cated blocks to make room. GlusterFS
3
and Ceph
(Weil et al., 2006) are examples of popular I/O cen-
tric DFS. Replication is currently their standard for
data protection, but erasure coding is a hot topic on
the roadmap.
Erasure coding is already included in private so-
lutions but it is not to be efficient enough for inten-
sive applications. It is exclusively used today for
longterm storage and systems benefit from its low
data consumption compared to replication. Open-
source storage solutions are still actively looking for
high speed erasure code implementations as an alter-
native to replication.
Our contribution, RozoFS, is an open-source soft-
ware jointly developed by Fizians SAS and the Uni-
versity of Nantes. It provides a POSIX DFS whose
file operations are exclusively done by erasure cod-
ing. This code is based on the MT whose computa-
tions rely entirely on the very fast XOR operations.
Thus, we expect RozoFS to be efficient enough for
intensive applications.
3 MOJETTE TRANSFORM
The Mojette Transform (MT) is a mathematical tool
based on discrete geometry. Long developed at the
University of Nantes, its first definition as an erasure
code remains in (Normand et al., 1996 ). A first de-
sign for distributed storage relying on the MT was
proposed in (Gu´edon et al., 2001).
3.1 Algorithm
Fundamentally, an erasure code should compute ef-
ficiently a desired amount of redundant information
from a set of data. This operation is done by a lin-
ear operation that should be efficiently inverted. The
inverse operation reconstructs the former data from a
subset of the computed information.
The Mojette encoding is done as follows. A set of
data fills a discrete grid whose elements are identified
by (i, j), where i and j are integers. The linear trans-
form consists in summing these elements following
different discrete directions. Each direction is defined
by a couple of integers (p, q). The elements aligned in
3
http://www.gluster.org/
CLOSER2014-4thInternationalConferenceonCloudComputingandServicesScience
452