Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Locally Decodable Codes<br />Sergey Yekhanin<br />Microsoft Research<br />
Data storage<br /><ul><li>Store data reliably
Keep it readily available for users</li></li></ul><li>Data storage: Replication<br /><ul><li>Store data reliably
Keep it readily available for users
Very large overhead
Moderate reliability
Local recovery:</li></ul>     Loose one machine, access one<br />
Data storage: Erasure coding<br /><ul><li>Store data reliably
Keep it readily available for users</li></ul>…<br /><ul><li>Low overhead
High reliability
No local recovery:</li></ul>     Loose one machine, access k<br />…<br />…<br />k data chunks<br />n-k parity chunks<br />...
Local decoding: example<br />E(X)<br />X1<br />X2<br />X3<br />X<br />X1<br />X2<br />X3<br />X1X2<br />X1X3<br />X2X3<...
 After 3 erasures, any information bit can recovered with locality 2
 After 3 erasures, any parity bit can be recovered with locality 2</li></li></ul><li>Local decoding: example<br />E(X)<br ...
 After 3 erasures, any information bit can recovered with locality 2
 After 3 erasures, any parity bit can be recovered with locality 2</li></li></ul><li>Locally Decodable Codes<br />Definiti...
Parameters<br />Ideally:<br />High rate:        close to   .                  or <br />Strong locality: Very small        ...
Parameters<br />Ideally:<br />High rate:        close to   .                  or <br />Strong locality: Very small       C...
Early constructions: Reed Muller codes<br />Parameters:<br />The code consists of evaluations of all degree      polynomia...
State of the art: codes<br />High rate: [KSY10]<br />Multiplicity codes:  Locality            at rate <br />Strong localit...
State of the art: lower bounds[KT,KdW,W,W]<br />High rate: [KSY10]<br />Multiplicity codes:  Locality            at rate <...
State of the art: constructions<br />Matching vector codes<br />Reed Muller codes<br />Multiplicity codes<br />
Plan<br />Reed Muller codes<br />Multiplicity codes<br />Matching vector codes<br />
Reed Muller codes<br />Parameters: <br />Code: Evaluations of degree      polynomials over <br />Set: <br />Polynomial    ...
Reed Muller codes: local decoding<br />Key observation: Restriction of a codeword to an affine line yields an evaluation o...
Multiplicity codes<br />Parameters: <br />Code: Evaluations of degree      polynomials over <br />	                       ...
Multiplicity codes: local decoding<br />Fact: Derivatives of       in two independent directions determine the derivatives...
Upcoming SlideShare
Loading in …5
×

Csr2011 june17 09_30_yekhanin

307 views

Published on

  • Be the first to comment

  • Be the first to like this

Csr2011 june17 09_30_yekhanin

  1. 1. Locally Decodable Codes<br />Sergey Yekhanin<br />Microsoft Research<br />
  2. 2. Data storage<br /><ul><li>Store data reliably
  3. 3. Keep it readily available for users</li></li></ul><li>Data storage: Replication<br /><ul><li>Store data reliably
  4. 4. Keep it readily available for users
  5. 5. Very large overhead
  6. 6. Moderate reliability
  7. 7. Local recovery:</li></ul> Loose one machine, access one<br />
  8. 8. Data storage: Erasure coding<br /><ul><li>Store data reliably
  9. 9. Keep it readily available for users</li></ul>…<br /><ul><li>Low overhead
  10. 10. High reliability
  11. 11. No local recovery:</li></ul> Loose one machine, access k<br />…<br />…<br />k data chunks<br />n-k parity chunks<br />Need: Erasure codes with local decoding<br />
  12. 12. Local decoding: example<br />E(X)<br />X1<br />X2<br />X3<br />X<br />X1<br />X2<br />X3<br />X1X2<br />X1X3<br />X2X3<br />X1X2X3<br /><ul><li>Tolerates 3 erasures
  13. 13. After 3 erasures, any information bit can recovered with locality 2
  14. 14. After 3 erasures, any parity bit can be recovered with locality 2</li></li></ul><li>Local decoding: example<br />E(X)<br />X1<br />X2<br />X3<br />X<br />X1<br />X2<br />X3<br />X1X2<br />X1X3<br />X2X3<br />X1X2X3<br /><ul><li>Tolerates 3 erasures
  15. 15. After 3 erasures, any information bit can recovered with locality 2
  16. 16. After 3 erasures, any parity bit can be recovered with locality 2</li></li></ul><li>Locally Decodable Codes<br />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. <br />k long message<br />Decoder reads only r symbols<br />Adversarial erasures<br />n long codeword<br />
  17. 17. Parameters<br />Ideally:<br />High rate: close to . or <br />Strong locality: Very small Constant. <br />One cannot minimize and simultaneously. There is a trade-off.<br />
  18. 18. Parameters<br />Ideally:<br />High rate: close to . or <br />Strong locality: Very small Constant. <br />Potential applications for data transmission / storage.<br />Applications in complexity theory / cryptography.<br />
  19. 19. Early constructions: Reed Muller codes<br />Parameters:<br />The code consists of evaluations of all degree polynomials in variables over a finite field <br />High rate: No locality at rates above 0.5<br />Locality at rate <br />Strong locality: for constant <br />
  20. 20. State of the art: codes<br />High rate: [KSY10]<br />Multiplicity codes: Locality at rate <br />Strong locality: [Y08, R07, KY09,E09, DGY10, BET10a, IS10, CFL+10,BET10b,SY]<br /> Matching vector codes: for constant<br /> for <br />
  21. 21. State of the art: lower bounds[KT,KdW,W,W]<br />High rate: [KSY10]<br />Multiplicity codes: Locality at rate <br />Strong locality: [Y08, R07, E09, DGY10, BET10a, IS10, CFL+10,BET10b,SY11]<br /> Matching vector codes: for constant<br /> for <br />Locality lower bound:<br />Length lower bound:<br />
  22. 22. State of the art: constructions<br />Matching vector codes<br />Reed Muller codes<br />Multiplicity codes<br />
  23. 23. Plan<br />Reed Muller codes<br />Multiplicity codes<br />Matching vector codes<br />
  24. 24. Reed Muller codes<br />Parameters: <br />Code: Evaluations of degree polynomials over <br />Set: <br />Polynomial yields a codeword:<br />Parameters:<br />
  25. 25. Reed Muller codes: local decoding<br />Key observation: Restriction of a codeword to an affine line yields an evaluation of a univariate polynomial of degree <br />To recover the value at <br />Pick a random affine line through<br />Do noisy polynomial interpolation.<br /><ul><li> Locally decodable code: Decoder reads random locations.</li></li></ul><li>Multiplicity codes<br />
  26. 26. Multiplicity codes<br />Parameters: <br />Code: Evaluations of degree polynomials over <br /> and their partial derivatives.<br />Set:<br />Polynomial yields a codeword: <br />Parameters:<br />
  27. 27. Multiplicity codes: local decoding<br />Fact: Derivatives of in two independent directions determine the derivatives in all directions.<br />Key observation: Restriction of a codeword to an affine line yields an evaluation of a univariate polynomial of degree <br />
  28. 28. Multiplicity codes: local decoding<br />To recover the value at <br />Pick a line through . Reconstruct<br />Pick another line through . Reconstruct<br />Polynomials and determine<br /><ul><li> Increasing multiplicity yields higher rate.
  29. 29. Increasing the dimension yields smaller query complexity.</li></li></ul><li>RM codes vs. Multiplicity codes<br />
  30. 30. Matching vector codes<br />
  31. 31. Matching vectors<br />Definition: Let <br /> We say that form a matching family if :<br />For all<br />For all <br />Core theorem: A matching vector family of size yields an query code of length <br />
  32. 32. MV codes: Encoding<br />Let contain a multiplicative subgroup of size <br />Given a matching family<br />A message: <br />Consider a polynomial in the ring: <br /><ul><li> Encoding is the evaluation of over </li></li></ul><li>Multiplicity codes: local decoding<br />Concept: For a multiplicative line through in direction<br />Key observation:evaluation of is a evaluation of a univariate polynomial whose term determines<br />To recover <br />Pick a random multiplicative line <br />Do noisy polynomial interpolation<br />
  33. 33. RM codes vs. Multiplicity codes<br />
  34. 34. Summary<br />Despite progress, the true trade-off between codeword length and locality is still a mystery.<br />Are there codes of positive rate with ?<br />Are there codes of polynomial length and ?<br />A technical question: what is the size of the largest family of subsets of such that<br />For all modulo six; <br />For all modulo six. <br />

×