Upload
jade-corsey
View
230
Download
1
Tags:
Embed Size (px)
Citation preview
Locally Decodable Codes
Sergey Yekhanin
Microsoft Research
Data storage
• Store data reliably• Keep it readily available for
users
Data storage: Replication
• Store data reliably• Keep it readily available for
users
• Very large overhead• Moderate reliability
• Local recovery: Loose one machine, access one
Data storage: Erasure coding
• Store data reliably• Keep it readily available for
users
• Low overhead• High reliability
• No local recovery: Loose one machine, access k
…
……
k data chunks n-k parity chunks
Need: Erasure codes with local decoding
Local decoding: example
X1
X
E(X)
• Tolerates 3 erasures• After 3 erasures, any information bit can recovered with locality 2• After 3 erasures, any parity bit can be recovered with locality 2
X2 X3
X1
X1X2
X2 X3
X1X3 X2X3
X1X2X3
Local decoding: example
X1
X
E(X)
• Tolerates 3 erasures• After 3 erasures, any information bit can recovered with locality 2• After 3 erasures, any parity bit can be recovered with locality 2
X2 X3
X1
X1X2
X2 X3
X1X3 X2X3
X1X2X3
Locally Decodable Codes
Definition : A code is called - locally decodable if for all and all values of the symbol can be recovered from accessing only symbols of , even after an arbitrary 10% of coordinates of are erased.
0 0 1 0 1 … 0 1 1
0 1 … 0 1
0 1 0 … 0 1
k long message
n long codewordAdversarial
erasures
Decoder reads only r symbols
nq
kq FFC : r
kqFx ],[ki ix
r )(xC)(xC
Parameters
Ideally:– High rate: close to . or
– Strong locality: Very small Constant.
One cannot minimize and simultaneously. There is a trade-off.
n .)1( kn
r
k
.r
)(kOn
n
Parameters
Ideally:– High rate: close to . or
– Strong locality: Very small Constant.
n k )(kOn .)1( kn
.rApplications in complexity theory / cryptography.
Potential applications for data transmission / storage.
Early constructions: Reed Muller codes
Parameters:The code consists of evaluations of all degree
polynomials in variables over a finite field
• High rate: No locality at rates above 0.5 Locality at rate
• Strong locality: for constant .r
.qFmd
.,, dmq
)1/(1
2
rkn
./1 Okr
State of the art: codes
• High rate: [KSY10]
Multiplicity codes: Locality at rate
• Strong locality: [Y08, R07, KY09,E09, DGY10, BET10a, IS10, CFL+10,BET10b,SY]
Matching vector codes: for constant
for
.r
.1
)(log22k
n
kr
k
nlog22 .3r
State of the art: lower bounds
[KT,KdW,W,W]
• High rate: [KSY10]
Multiplicity codes: Locality at rate
• Strong locality: [Y08, R07, E09, DGY10, BET10a, IS10, CFL+10,BET10b,SY11]
Matching vector codes: for constant
for
kr .1
)(log22k
n .r
.3rk
nlog22
)(log kr
)/1(1 rkn Length lower bound:
Locality lower bound:
State of the art: constructions
Matching vector codes Reed Muller codes Multiplicity codes
kr ck
kr
)log(log
log
2r kr log2
Plan
• Reed Muller codes
• Multiplicity codes
• Matching vector codes
Reed Muller codes
• Parameters: • Code: Evaluations of degree polynomials
over • Set: • Polynomial yields a codeword:
• Parameters:
.,, dmq
d .mqF
.)1(,2 qdm
,
2
1
2
1/
2
2 22
q
d
n
k.kqr ,2qn
],[ 21 zzFf q
2)(qFx
xf
Reed Muller codes: local decoding
• Key observation: Restriction of a codeword to an affine line yields an evaluation of a univariate polynomial of degree
• To recover the value at – Pick an affine line through with not too many
erasures.– Do polynomial interpolation.2
qF
:x
x
x
.d
• Locally decodable code: Decoder reads random locations.
Lf
k
Multiplicity codes
Multiplicity codes
• Parameters: • Code: Evaluations of degree polynomials
over and their partial derivatives.
• Set:• Polynomial yields a codeword:
• Parameters:
.,, dmq
d mqF
2
)(),(),(21
qFx
xz
fx
z
fxf
.)1(2,2 qdm ],[ 21 zzFf q
.22 kqr ,3/2
6
143/
2
2 22
q
d
n
k,3 2qn
qd
Multiplicity codes: local decoding
• Fact: Derivatives of in two independent directions determine the derivatives in all directions.
• Key observation: Restriction of a codeword to an affine line yields an evaluation of a univariate polynomial of degree
Lf .d
f
Multiplicity codes: local decoding
• To recover the value at – Pick a line through . Reconstruct– Pick another line through . Reconstruct– Polynomials and determine
• Increasing multiplicity yields higher rate. • Increasing the dimension yields smaller query complexity.
2qFx
1Lf
1L2L 2L
f
)(),(),(21
xz
fx
z
fxf1L
f2L
f
:x
xx
RM codes vs. Multiplicity codes
Reed Muller codes Multiplicity codes
Codewords
Evaluations of polynomials
Higher order evaluations of polynomials
Evaluation domain
All of the domain All of the domain
Decoding Along a random affine line
Along a collection of random affine lines
Locally correctable
Yes Yes
Matching vector codes
Matching vectors
• Definition: Let
We say that form a matching family if :– For all– For all
• Core theorem: A matching vector family of size yields an query code of length
},,...,{ 1 kuuU ,, hmZVU
).,(0 ij vu
}.,...,{ 1 kvvV
;0),(, ii vuiVU ,
k
,ji
m .hmn
MV codes: Encoding
• Let contain a multiplicative subgroup of size
• Given a matching family• A message: • Consider a polynomial in the ring:
• Encoding is the evaluation of over
),...,( 1 kbb
hmZVU ,
],...,[ 1 hq zzF
k
j
uj
jzbF1
FhC
hC
)()2(2
)1(1 ... hu
huuu jjjj zzzz
.mqF C
Multiplicity codes: local decoding
• Concept: For a multiplicative line through in direction
• Key observation: evaluation of is a evaluation of a univariate polynomial whose term determines
• To recover – Pick a multiplicative line – Do polynomial interpolation
phm
h ZvCp ,:v
}|{, CxxpM vvp
ivp
M , CF.ib
hCib
ivpM ,
),(
,
ijj
vp
j vuuj
M
uj xpbzb
RM codes vs. Multiplicity codes
Reed Muller codes Multiplicity codes
Codewords
Evaluations of low degree
polynomials
Evaluations of polynomials with specific monomial
degrees
Evaluation domain
All of the domain A subset of the domain
Decoding Along a random affine line
Along a random multiplicative line
Locally correctable
Yes No
Summary
• Despite progress, the true trade-off between codeword length and locality is still a mystery.– Are there codes of positive rate with ?– Are there codes of polynomial length and
?
• A technical question: what is the size of the largest family of subsets of such that– For all modulo six; – For all modulo six.
)(logkOr
)1(okr
},...,{ 1 kuu ][n,i
,ji 0|| iu
0|| ji uu