Ever-increasing amounts of data are created and processed in internet-scale companies such as Google, Facebook, and Amazon. The efficient storage of such copious amounts of data has thus become a fundamental and acute problem in modern computing. No single machine can possibly satisfy such immense storage demands. Therefore, distributed storage systems (DSS), which rely on tens of thousands of storage nodes, are the only viable solution. Such systems are broadly used in all modern internet-scale systems. However, the design of a DSS poses a number of crucial challenges, markedly different from single-user storage systems. Such systems must be able to reconstruct the data efficiently, to overcome failure of servers, to correct errors, etc. Lots of research was done in the last few years to answer these challenges and the research is increasing in parallel to the increasing amount of stored data.
The main goal of this paper is to consider codes which have two of the most important features of distributed storage systems, namely, locality and availability. Our codes are array codes which are based on subspaces of a linear space over a finite field. We present several constructions of such codes which are $q$-analog to some of the known block codes. Some of these codes possess independent intellectual merit. We examine the locality and availability of the constructed codes. In particular we distinguish between two types of locality and availability, node vs.~symbol, locality and availability. To our knowledge this is the first time that such a distinction is given in the literature.
Maximally recoverable codes with locality and availability
IMUVa-Mathematics Research Institute, University of Valladolid(瓦拉多利德大学数学研究所);Signal Processing and Communications Research Center (SPCRC), International Institute of Information Technology, Hyderabad(海得拉巴国际信息学院信号处理与通信研究中心)
In this work we present a class of locally recoverable codes, i.e. codes where an erasure at a position $P$ of a codeword may be recovered from the knowledge of the entries in the positions of a recovery set $R_P$. The codes in the class that we define have availability, meaning that for each position $P$ there are several distinct recovery sets. Also, the entry at position $P$ may be recovered even in the presence of erasures in some of the positions of the recovery sets, and the number of supported erasures may vary among the various recovery sets.
The paper presents techniques for analyzing the expected download time in distributed storage systems that employ systematic availability codes. These codes provide access to hot data through the systematic server containing the object and multiple recovery groups. When a request for an object is received, it can be replicated (forked) to the systematic server and all recovery groups. We first consider the low-traffic regime and present the close-form expression for the download time. By comparison across systems with availability, maximum distance separable (MDS), and replication codes, we de…
Recently, Skabelund defined new maximal curves which are cyclic extensions of the Suzuki and Ree curves. Previously, the now well-known GK curves were found as cyclic extensions of the Hermitian curve. In this paper, we consider locally recoverable codes constructed from these new curves, complementing that done for the GK curve. Locally recoverable codes allow for the recovery of a single symbol by accessing only a few others which form what is known as a recovery set. If every symbol has at least two disjoint recovery sets, the code is said to have availability. Three constructions are descr…