Yandexã¯ãä»ã®å€§èŠæš¡ãªã€ã³ã¿ãŒãããäŒæ¥ãšåæ§ã«ã倧éã®ããŒã¿ãä¿åããŸãã ããŸããŸãªãµãŒãã¹ããã€ãã³ã°ãµã€ãããã®ãã®ãŠãŒã¶ãŒããŒã¿ã倩æ°ãèšç®ããããã®äžéããŒã¿ãããã³ããŒã¿ããŒã¹ã®ããã¯ã¢ããã³ããŒã ã¹ãã¬ãŒãžã³ã¹ãïŒ$ / GBïŒã¯ãã·ã¹ãã ã®éèŠãªææšã®1ã€ã§ãã ãã®èšäºã§ã¯ãã¹ãã¬ãŒãžã®ã³ã¹ããå€§å¹ ã«åæžã§ããæ¹æ³ã®1ã€ã«ã€ããŠèª¬æããŸãã
ãåç¥ã®ãšããã2015幎ã«ã¯ãã«ãå€§å¹ ã«å¢å ããŸããã ããæ£ç¢ºã«ã¯ã2014幎ã®çµããã«æé·ãå§ããŸãããã2015幎ã«ã¯æ¢ã«æ°ããéã泚æããŸããã Yandexã¯ã«ãŒãã«ã§ãéã皌ãã§ããã®ã§ãæéãšãšãã«éã®ã³ã¹ããå¢å ããŠããŸãã ããã«ãããçŸåšã®ã¯ã©ã¹ã¿ãŒã«ããå€ãã®ããŒã¿ãé 眮ã§ããããã«ããæ¹æ³ã«ã€ããŠå床èããŸããã ãã¡ãããããã¯å®æçã«è¡ããŸãããä»åã¯ç¹ã«ã¢ãããŒã·ã§ã³ãé«ããªããŸããã
ã¯ã©ã¹ã¿ãŒå ã®åãµãŒããŒã¯ãããã»ããµãRAMãããŒããã©ã€ããããã³ãããã¯ãŒã¯ã®ãªãœãŒã¹ãæäŸããŸãã ããã§ã®ãããã¯ãŒã¯ã¯ãåãªããããã¯ãŒã¯ã«ãŒããããè€éãªæŠå¿µã§ãã ããã¯ãããŒã¿ã»ã³ã¿ãŒå ã®ã€ã³ãã©ã¹ãã©ã¯ãã£å šäœã§ãããç°ãªãããŒã¿ã»ã³ã¿ãŒãšãã©ãã£ãã¯äº€æãã€ã³ãéã®æ¥ç¶ã§ãã ã¯ã©ã¹ã¿ãŒã§ã¯ãä¿¡é Œæ§ã確ä¿ããããã«ã¬ããªã±ãŒã·ã§ã³ã䜿çšãããã¯ã©ã¹ã¿ãŒã®åèšãµã€ãºã¯ãããŒããã©ã€ãã®åèšå®¹éã«ãã£ãŠã®ã¿æ±ºå®ãããŸããã æ®ãã®ãªãœãŒã¹ãã¹ããŒã¹ã®å¢å ãšäº€æããæ¹æ³ãèŠã€ããå¿ èŠããããŸããã ãšããã§ãæçš¿åŸãå人çã«è°è«ããã質åãããå Žåã¯ã äŒè°ã«åå ããŠãã ããã
RAMã¯äº€æãå°é£ã§ãã ãã£ã¹ã¯ã·ã§ã«ãã䜿çšããŠããããã£ã¹ã¯å®¹éã«å¯ŸããRAMã®éã®å·®ã¯3æ¡ãè¶ ããŠããŸãã åäžã®ãã·ã³å ã§ã®ã¢ã¯ã»ã¹ãé«éåããããã«äœ¿çšã§ããŸãããããã¯å¥ã®èšäºã®è©±ã§ãã
ããã»ããµã¯ãæããã«ã¢ãŒã«ã€ããä»ããŠäº€æããŸãã ãã ããããã€ãã®èœãšãç©Žã«æ³šæããå¿ èŠããããŸãã ãŸããå§çž®çã¯ã¢ãŒã«ã€ããšä¿åãããããŒã¿ã®çµã¿åããã«å€§ããäŸåããŸããã€ãŸããããŒã¿ã®ä»£è¡šçãªãµã³ãã«ãååŸããŠãã©ãã ãä¿åããããèŠç©ããå¿ èŠããããŸãã 第äºã«ãã¢ãŒã«ã€ãã¯ã»ãšãã©ã©ãããã§ãããŒã¿ãèªã¿åãæ©èœãæäŸããå¿ èŠããããŸããããããªããšãHTTPã®RangeããããŒãå¿ããå¿ èŠããããŸãïŒããã«ããã倧ããªãã¡ã€ã«ãããŠã³ããŒãã§ããªããªã£ãããŸãè¯ããªãã€ã³ã¿ãŒãããã§ã¯ã©ã€ã¢ã³ããæãããŸãïŒã 第äžã«ãå§çž®ãšè§£åã®é床ãããã³é¢é£ããCPUæ¶è²»ãéèŠã§ãã ããŒã¿ãéåžžã«å¹ççã«å§çž®ããã¢ãŒã«ã€ãã䜿çšã§ããŸãããã¯ã©ã¹ã¿ãŒå ã®ããã»ããµã®æ°ã§ã¯ãçŸåšã®æžã蟌ã¿é床ã確ä¿ããã«ã¯äžååã§ãã å±éãããšããªã¯ãšã¹ãã®é 延ãçºçããŸãã å°ãåãFacebookã¯Zstdã¢ãŒã«ã€ããå ¬åŒã«ãªãªãŒã¹ããŸãããè©ŠããŠã¿ãããšããå§ãããŸãã éåžžã«é«éã§ãããŒã¿ãé©åã«å§çž®ããŸãã
ãã¹ãŠã®ãªãœãŒã¹ã®äžã§ããããã¯ãŒã¯ã¯ãã®ãŸãŸã§ãããããã«ãã£ãŠç§ãã¡ã¯åµé æ§ã®å€§ããªç¯å²ãæã£ãŠããŸãã ãããã¯ãŒã¯ãã¹ãã¬ãŒãžå®¹éã«äº€æããæ¹æ³ã«ã€ããŠã¯ãããã«èª¬æããŸãã
Yandexã«ã¯ãã¹ãã¬ãŒãžã·ã¹ãã ã«é¢ããããªãå³ããèŠä»¶ããããŸãã 1ã€ã®ããŒã¿ã»ã³ã¿ãŒå šäœã倱ãããå Žåã§ããéçšãç¶ç¶ããå¿ èŠããããŸãã ãã®æ¡ä»¶ã«ãããé©çšã§ãããã¯ãããžãŒã«ããªã匷ãå¶éã課ããããŸããããã®ä»£ããã«ãããŒã¿ã»ã³ã¿ãŒèªäœã®ä¿¡é Œæ§ãããé«ãä¿¡é Œæ§ãåŸãããŸãã ã¹ãã¬ãŒãžã·ã¹ãã ã®éçºè ã§ããç§ãã¡ã«ãšã£ãŠãããã¯ãDCãæãèœã¡ããšãã®åé·ä¿æ°ã1ãã倧ãããªããã°ãªããªãããšãæå³ããŸãã
äžè¬ã«ãã¢ã¯ã»ã·ããªãã£ãŸãŒã³ã«ã€ããŠè©±ãæ¹ãæ£ããã§ãã ç§ãã¡ã®å Žåãããã¯ããŒã¿ã»ã³ã¿ãŒå šäœã§ãããå¥ã®ãã·ã³ãã©ãã¯ãããŒã«ããŸãã¯å€§éžã§ããå ŽåããããŸãã ã€ãŸãã4ã€ã®ã¢ã¯ã»ã·ããªãã£ãŸãŒã³ãããããããã®éã§ããŒã¿ãåçã«åæ£ããŠããå Žåãåé·æ§ã®çšåºŠã¯åãŸãŒã³ã§1ïŒ3ïŒã0ãïŒ3ïŒããå°ããããããšã¯ã§ããŸããã ãããã£ãŠãã¢ãã€ã©ããªãã£ãŸãŒã³ã¯Nåããããããã®ããŒã¿ãäœããã®æ¹æ³ã§å解ããå¿ èŠããããŸãã
ã¬ããªã«
æããã«ãæãç°¡åãªæ¹æ³ã¯å®å šãªã¬ããªã«ãäœæããããšã§ãã ã»ãšãã©ã®å Žåã2ã€ãŸãã¯3ã€ã®ã¬ããªã«ãäœæãããé·å¹Žã«ããã£ãŠãã®ãã¿ãŒã³ã«åŸã£ãŠçããŠããŸããã æ¬ ç¹ã¯æããã§ãã1ã®ã¬ãã€ãã®ããŒã¿ãä¿åããã«ã¯ã2ã®ã¬ãã€ãïŒãŸãã¯3ã®ã¬ãã€ãïŒã®ããŒããã£ã¹ã¯é åã䜿çšããå¿ èŠããããŸãã ããããå©ç¹ããããŸããåã¬ããªã«ã«ã¯æ¬æ Œçãªãã¡ã€ã«ãå«ãŸããŠãããèªã¿ããããåæã«å®å šã«1å°ã®ãã·ã³äžã1å°ã®ããŒããã£ã¹ã¯äžã«ãããŸãã ãã£ã¹ã¯ã倱ãããå Žåã®ããŒã¿ã®å埩ãéåžžã«ç°¡åã§ã-ãããã¯ãŒã¯çµç±ã§éåžžã®ã³ããŒã䜿çšããŸãã
ãŠãŒã¶ãŒã³ã³ãã³ããYandex.MusicããŒã¿ãããŸããŸãªã¢ãã¿ãŒãããã³ãã®ä»ã®é¡äŒŒããŒã¿ã®ã¹ãã¬ãŒãžã«ã€ããŠã¯ãMDSãµãŒãã¹ïŒã¡ãã£ã¢ã¹ãã¬ãŒãžïŒãæ åœããŠããŸãã EllipticsãEblobãããã³HTTPãããã·ã«åºã¥ããŠããŸãã Ellipticsã¯ãããã¯ãŒã¯ã«ãŒãã£ã³ã°ãæäŸããEblobã¯ããŒã¿ããã£ã¹ã¯ã«ä¿åããããã«å¿ èŠã§ãããããã·ã¯ãŠãŒã¶ãŒãã©ãã£ãã¯ãçµäºããããã«å¿ èŠã§ãã ãã®ã¯ã©ã¹ã¿ãŒã¯ãã¹ãŠãMastermindãšåŒã°ããã·ã¹ãã ã«ãã£ãŠå¶åŸ¡ãããŸãã ã¹ãã¬ãŒãžã§ã¯ã以åã«Ellipticsã§è©Šãã倧ããªDHTãªã³ã°ã®æŠå¿µããé¢ããã¹ããŒã¹å šäœã916ã®ã¬ãã€ãã®å°ããªç Žçã«åå²ããŸããã ç§ãã¡ã¯ãããããããããããšåŒã³ãŸãïŒè±èªãããã«ããã«ïŒã çªå·916ã¯ãè€æ°ã®ããããã¬ããªã«ã1å°ã®ããŒããã©ã€ãã«é 眮ããå¿ èŠãããããã«éžæãããŸããïŒãã£ã¹ã¯ã¡ãŒã«ãŒã¯ãããŒã±ãã£ã³ã°ã奜ã¿ãããªã¥ãŒã ã10é²ãã©ãã€ãåäœã§æ€èšããŸãïŒã Mastermindã¯ã1ã€ã®ããããã®ã¬ããªã«ãåžžã«ç°ãªãDCã«é 眮ãããããšãä¿èšŒããããŒã¿å埩æé ãæé©åãéå§ããäžè¬ã«ã·ã¹ãã 管çè ã®äœæ¥ãèªååããŸãã
äžè²«æ§ãå埩ããããã«ããã¹ãŠã®ããŒãå®è¡ããååšããªãã¬ããªã«ã«äžè¶³ããŠããããŒãè¿œå ããç¹å¥ãªæé ããããŸãã ãã®æé ã¯ããã»ã©é«éã§ã¯ãããŸããããã¬ããªã«éã®ã©ã€ãããŒã®æ°ã«äžäžèŽãããå Žåã«ã®ã¿éå§ããŸãã ãµã€ããã©ã¹-ããŒããã©ã€ãã«è² è·ãããããŸããããšãããŒã¿ãå·ãããŠããŠãŒã¶ãŒãæ¥ãªããŠãã§ãã ãã®çµæãããŒã¿ãå埩ããããšããŠããæç¹ã§ã¯ãªããå¥ã®ã¬ããªã«ããã§ã«åæ¢ããŠããããšãçºèŠããããããã£ã¹ã¯ã¯äºåã«åæ¢ãå§ããŸãã ç©ããã«å€æŽããŸãããã®åŸãå埩ãèªåçã«éå§ããããŠãŒã¶ãŒããŒã¿ã¯å®å šã§å¥å šãªãŸãŸã§ãã
åé·ã³ãŒã
é¡æšãããšãåæ§ã®ããŒã¿è€è£œæ¹æ³ã¯RAID 1ã§ãããã·ã³ãã«ã§ä¿¡é Œæ§ãé«ããã¹ããŒã¹æ¶è²»ã®é¢ã§ããŸãå¹ççã§ã¯ãããŸããã ããããRAID 5ãŸãã¯RAID 6ã«äŒŒããã®ãäœæããå¿ èŠããããŸããç¹°ãè¿ããŸãããåçŽãªãã®ããè€éãªãã®ãžãšé²ã¿ãŸãã3ã€ã®ã¢ã¯ã»ã¹ãŸãŒã³ãååŸããŸãã 3çªç®ã¯ããããã¯éã®ãã€ãXORã®çµæã§ãã ãšã©ãŒãæ€åºããããã«ãåãããã¯ã«ã€ããŠããããã¯ãµã€ãºãšæ¯èŒããŠç¡èŠã§ãããã§ãã¯ãµã ãèæ ®ããŸãã ããŒã¿å埩ã¯åºæ¬ã§ããa^ b = cã®å Žåãb = a ^ cã§ãã ãã®ã¢ãããŒãã§ã®åé·çã¯1.5ã§ãã ãããã¯ã倱ãããå Žåã¯ãããã«å¥ã®ã¢ã¯ã»ã·ããªãã£ãŸãŒã³ããä»ã®2ã€ãèªã¿åãå¿ èŠããããŸãã 1ã€ã®ãã£ã¹ã¯ã倱ãããšãªãå埩ã§ããŸããããã¯ã3ã€ã®ã¬ããªã«ã®å Žåãããã¯ããã«æªãã2ã€ã®ã¬ããªã«ãšåçã§ãã ããã¯ãæååãHelloãhabrahabrãã®XORçµæã®èšç®æ¹æ³ã§ãïŒä»¥äžã®æ°åã¯ããã€ãã®10é²è¡šçŸã§ãïŒã
ããã§ã¹ãã©ã€ãã®æŠå¿µã玹ä»ãã䟡å€ããããŸãã ã¹ããªããã¯Nåã®é£ç¶ãããããã¯ã§ãããæåã®ã¹ããªããã®å é ã¯ããŒã¿ã¹ããªãŒã ã®å é ãšäžèŽããŸããNã¯éžæããã³ãŒãã£ã³ã°ã¹ããŒã ã«äŸåããRAID 1ã®å Žåã¯N = 2ã§ãã åé·ã³ãŒããå¹æçã«äœ¿çšããã«ã¯ããã¹ãŠã®ãã¡ã€ã«ã1ã€ã®é£ç¶ãããã€ãã¹ããªãŒã ã«çµåãããã§ã«ã¹ããªããã«åå²ããå¿ èŠããããŸãã 次ã«ãåãã¡ã€ã«ãéå§ããã¹ã¿ã€ã«ãšãµã€ãºãããã³ãã®ãµã€ãºã§ããŒã¯ã¢ãããä¿åããå¿ èŠããããŸãã ããŒã¿ã¹ããªãŒã ã®é·ããã¹ãã©ã€ãã®ãµã€ãºã®åæ°ã§ãªãå Žåãæ®ãã®éšåã¯ãŒãã§åããå¿ èŠããããŸãã æŠç¥çã«ã¯ãããã¯æ¬¡ã®ããã«è¡šãããšãã§ããŸãã
ã¹ãã©ã€ããµã€ãºãéžæãããšãã¯ã次ã®èæ ®äºé ã䜿çšã§ããŸãã
- ãããã¯ãµã€ãºã倧ããã»ã©ã1ã€ã®ãããã¯ã«åãŸããã¡ã€ã«ãå€ããªããåæã«2ã€ã®ã¢ã¯ã»ã¹ãŸãŒã³ããã®èªã¿åãå€ãå°ãªããªããŸãã
- ãããã¯ãµã€ãºã倧ããã»ã©ããããã¯ãäžæçã«äœ¿çšã§ããªããªã£ããæ倱ãããããå Žåã«ããããã¯ãŒã¯äžã§ããå€ãã®ããŒã¿ããã©ãã°ããå¿ èŠããããŸãã
ãããã£ãŠããããã®ã€ãã³ãã®ç¢ºçãèæ ®ããå¿ èŠããããŸãã æé©ãªãµã€ãºã¯ããã¡ã€ã«ãµã€ãºã®äžå€®å€2åã§ããããšãå€æããŸããã ããã«ããã¡ã€ã«ã®é 眮ãå€æŽããŠããããã¯ã®å¢çã1ã€ã®ãããã¯ã«åãŸããªã倧ããªãã¡ã€ã«ã«åãŸãããã«ããããšããå§ãããŸãã ããã«ããããããã¯ãŒã¯ã®è² è·ã軜æžãããŸãã ãŸããã³ãŒããç°¡çŽ åããããã«ãããªãã£ãããã¯ã¹ãã¬ãŒãžæ©èœãã¢ã¯ã»ã·ããªãã£ãŸãŒã³ã®1ã€ã«å²ãåœãŠãããŠããŸãã
ãªãŒããœãã¢ã³ã³ãŒã
ããããããé«ãä¿¡é Œæ§ãå¿ èŠãªå Žåã¯ã©ãã§ããããïŒ ããã§ã-ãã匷åãªåé·ã³ãŒãã䜿çšããŠãã ããã çŸåšãæãäžè¬çãªã³ãŒãã®1ã€ã¯ãªãŒããœãã¢ã³ã³ãŒãã§ãã DVDã®æžã蟌ã¿ãããžã¿ã«TVïŒDVB-TïŒãQRã³ãŒããããã³RAID 6ã§äœ¿çšãããŸããããã§ã¯ãã¬ãã¢äœã®æ°åŠã«ã€ããŠã¯èª¬æããŸããããšã³ãžãã¢ãªã³ã°ã¢ãããŒããåŸ ã£ãŠããã ãã§ãã ãã¹ãŠã®èšç®ã«ãjerasureã©ã€ãã©ãªã䜿çšããŸããããã¯å°é£ãªéåœãæã£ãŠããŸãããéåžžã«è¿ éã«æ©èœããå¿ èŠãªãã¹ãŠã®æ©èœãåããŠããŸãã
泚ç®ã«å€ããæåã®ããšïŒå¹æçãªçµæãåŸãã«ã¯ããã£ãŒã«ã2 ^ 8ã2 ^ 16ã2 ^ 32ãã€ãŸãæ©æ¢°èªã§äœæ¥ããå¿ èŠããããŸãã ããã«ç°¡åã«ããããã«ã2 ^ 8ãã£ãŒã«ãã䜿çšããŠãã€ããæäœããŸãã ãã®äŸãããå ·äœçã«ããããã«ã2ã€ã®ããªãã£ãããã¯ã䜿çšããŠã1.5ã®è€è£œä¿æ°ãéæããŠã¿ãŸãããã ãããè¡ãã«ã¯ãããŒã¿ããããã4ãããã¯ã®ã¹ããªããã«åå²ãã2ã€ã®ããªãã£ãããã¯ãçæããå¿ èŠããããŸãã åããŒã¿ãããã¯ããæåã®ãã€ããååŸããå Žåã次å 4ã®ãã¯ãã«ãšåæ§ã«ãããªãã£ãããã¯ã®æ¬¡å 2ã®ãã¯ãã«ãæ§æã§ããŸãã 次å 4ã®ãã¯ãã«ãã次å 2ã®ãã¯ãã«ãååŸããã«ã¯ã2x4ã³ãŒãã£ã³ã°ãããªãã¯ã¹ãä¹ç®ããå¿ èŠãããããšã³ãžãã¢ãªã³ã°ã®èŠ³ç¹ããèŠããšãã¬ãã¢äœã§ã®äœæ¥ã®èŠåã«åŸã£ãŠä¹ç®ããå¿ èŠããããŸãã å¿ èŠãªãããªãã¯ã¹ã¯ãVandermondeãããªãã¯ã¹ãšåŒã°ããŸãã éžæããããã£ãŒã«ãã®å Žåããã®ãããªè¡åã¯ãéåžžã®ä»£æ°ã«ç·åœ¢çµåããªãããšã«äŒŒãç¹æ§ãä¿èšŒããŸãã ããŒã¿ã埩å ããéã«ããéèŠãªåœ¹å²ãæãããŸãã
ãHelloãhabrahabrããšãã1ã€ã®ããŒã¿ã¹ãã©ã€ããååŸããŸãããã ããã¯ããããã4ãã€ãã®4ã€ã®ãããã¯ã«éåžžã«ããŸãåå²ããã1ã€ã®ãã€ãã1ã€ã®ãšã³ã³ãŒãã¯ãŒãã«å¯Ÿå¿ããŸãã
ãããã£ãŠã次ã®å³ãååŸãããŸãã
ããªãã£ãããã¯ã¯ãåèªããšã«ïŒãã®å Žåã¯ãã€ãããšã«ïŒåæ§ã®æ¹æ³ã§èšç®ããŸãã
ç»åããããã«å€æŽãããšã³ã³ãŒãè¡åã®äžã«åäœè¡åãè¿œå ãããšãåæããŒã¿ãåºåãã¯ãã«ã«è¡šç€ºãããŸãã
ãããã¯çªå·2ãšãããã¯çªå·4ã倱ã£ããšããŸãã察å¿ããè¡ãè¡åãšå³ãã¯ãã«ããæ¶ããŸãïŒ
次ã«ãçµæã®æ£æ¹è¡åãå転ããçåŒã®äž¡åŽã«ä¹ç®ããŸãã
ãœãŒã¹ããŒã¿ãååŸããã«ã¯ããšã³ã³ãŒãã®å Žåãšåãä¹ç®æäœãå®è¡ããã ãã§ããããšãããããŸãã 1ã€ã®ãããã¯ã®ã¿ã倱ãããå Žåãã³ãŒãã£ã³ã°ãããªãã¯ã¹ããæ£æ¹åœ¢ã«ããããã«ãããªãã£ãããã¯ã«å¯Ÿå¿ããè¡ã®1ã€ãåé€ããå¿ èŠããããŸãã æåã®è¡ã¯åäœã§æ§æãããç¹å¥ãªéæ³ãæã£ãŠããããšã«æ³šæããŠãã ãããèšç®ã¯ãã¹ãŠã®èŠçŽ éã®XORã®èšç®ãšåçã§ãããä»ã®è¡ãæ°ãããããæ°åé«éã§ãã ãããã£ãŠããã®è¡ãã¹ããŒãã䟡å€ã¯ãããŸããã
ããŒã«ã«åŸ©æ§ã³ãŒã
ããã¯éåžžã«ã·ã³ãã«ã§ãã¯ã£ããããŠãããšæããŸãã ããããä»ã«æ¹åã§ããããšã¯ãããŸããïŒ ã¯ããMicrosoft Azureã®ååã¯åœŒãã®åºçç©ã§ç§ãã¡ã«èªã£ãŠããŸãã ãã®ã¡ãœããã¯ãããŒã«ã«åæ§ç¯ã³ãŒãïŒLRCïŒãšåŒã°ããŸãã ãã¹ãŠã®ããŒã¿ãããã¯ãè€æ°ã®ã°ã«ãŒãïŒããšãã°ã2ã€ã®ã°ã«ãŒãïŒã«åå²ããå Žåãã°ã«ãŒãå ã§ãšã©ãŒä¿®æ£ãããŒã«ã©ã€ãºããããã«ããªãã£ãããã¯ããšã³ã³ãŒãã§ããŸãã 以åã®ã¬ããªã±ãŒã·ã§ã³ä¿æ°1.5ã®å Žåãã¹ããŒã ã¯æ¬¡ã®ããã«ãªããŸããã¹ãã©ã€ãã4ãããã¯ã®2ã€ã®ã°ã«ãŒãã«åå²ããŸããåã°ã«ãŒãã«ã¯ãç¬èªã®ããŒã«ã«ããªãã£ãããã¯ãš2ã€ã®ã°ããŒãã«ããªãã£ãããã¯ããããŸãã ãã®ã¹ããŒã ã«ããã3ã€ã®ãšã©ãŒãããã³4ã€ã®ãšã©ãŒãããç¶æ³ã®çŽ96ïŒ ãä¿®æ£ã§ããŸãã æ®ãã®4ïŒ ã«ã¯ã4ã€ã®ããŒã¿ãããã¯ãšããŒã«ã«ããªãã£ãããã¯ãå«ã4ã€ã®ãšã©ãŒãã¹ãŠã1ã€ã®ã°ã«ãŒãã«è©²åœããå Žåãå«ãŸããŸãã
ããäžåºŠãåçŽããè€éãžãã®ã¢ãããŒããé©çšããŠããšã³ã³ãŒããããªãã¯ã¹å ã®åäœã®è¡ã次ã®ããã«2ã€ã«åå²ããŸããã
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 55 | 39 | 73 | 84 | 181 | 225 | 217 |
1 | 172 | 70 | 235 | 143 | 34 | 200 | 101 |
for row in range(4): for column in range(8): k = 8 index = row * k + column is_first_half = column < k / 2 if row == 0: matrix[index] = 1 if is_first_half else 0 elif row == 1: matrix[index] = 0 if is_first_half else 1 elif row == 2: shift = 1 if is_first_half else 2 ** (k / 2) relative_column = column if is_first_half else (column - k / 2) matrix[index] = shift * (1 + relative_column) else: prev = array[index - k] matrix[index] = libjerasure.galois_single_multiply(prev, prev, 8)
ãã®ãããªãããªãã¯ã¹ã䜿çšãããšããã¹ãã¯æ£åžžã«åæ ŒããŸãã
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 2 | 3 | 4 | 16 | 32 | 48 | 64 |
1 | 4 | 5 | 16 | 29æ¥ | 116 | 105 | 205 |
ããã§ãã©ã®è¡ãæ¶ããŠããåããŒã«ãªãã£ã°ã«ãŒãã«ã¯3ã€ä»¥äžã®ãšã©ãŒããååšããªãããšãããããŸããããã¯ãããŒã¿ãèªã¿åãããšãã§ããããšãæå³ããŸãã 1ã€ã®ãããã¯ãååšãã1ã€ã®ãã©ã€ãã®ã¿ãæ éããå Žåãä»ã®ã¢ãã€ã©ããªãã£ãŸãŒã³ããè¿œå ãããã¯ã1ã€ã ãèŠæ±ããããšã«ãããããŒã¿ãèªã¿åãããšãã§ããŸãã ãããã¯ãµã€ãºã«é¢ããèæ ®äºé ã¯ãXORã䜿çšããã¹ããŒã ãšã»ãŒåãã§ãããã ãã1ã€ã®äŸå€ããããŸããèªã¿åããã¢ã¯ã»ã¹ãŸãŒã³éã§ã®ã¿é«ããããšä»®å®ããå Žåããããã¯ãµã€ãºã¯4åã®1ã«ãªããŸãã 1ã€ã®ãŸãŒã³å ã
ç·Žç¿ãã
ããã§ãåé·ã³ãŒãã®èšç®ã®ããã°ã©ãã³ã°ã¯éåžžã«ç°¡åãªã¿ã¹ã¯ã§ããããã®ç¥èããããžã§ã¯ãã«é©çšã§ããããšãããããŸããã ãã®èšäºã§æ€èšãããªãã·ã§ã³ïŒ
- ã¬ããªã«-è€æ°ã®åé·æ§ãæäŸããç°¡åã«å®è£ ããïŒå€ãã®å Žå-ããã©ã«ããªãã·ã§ã³ïŒããããã¯ã¬ãã«ãšãã¡ã€ã«ã¬ãã«ã®äž¡æ¹ã§æ©èœããŸãã
- XORãåé·æ§-1.5ã¯ããããã¯ã¬ãã«ãšãã¡ã€ã«ã¬ãã«ã®äž¡æ¹ã§å®è£ ã§ãã3ã€ã®å¯çšæ§ãŸãŒã³ãå¿ èŠã§ãã
- ãªãŒããœãã¢ã³ã³ãŒã-åé·æ§ã®çšåºŠãæè»ã«éžæã§ããŸããã1ã€ã®ããŒã¿ãããã¯ã埩å ããã«ã¯ã1ã€ã®ã¹ãã©ã€ãã«å«ãŸãããããã¯ããã¹ãŠèªã¿åãå¿ èŠããããŸãã ãããã¯ã¬ãã«ã§ã®ã¿æå¹ã§ãã
- LRC-Reed-Solomonã³ãŒãã«äŒŒãŠããŸãããåäžã®é害ã§ãããå°ãªãããŒã¿ã®èªã¿åããèš±å¯ããŸãããå°æ°ã®ã±ãŒã¹ã§ããŒã¿å埩ãæäŸããŸãã
MDSã§ã¯ãLRC-8-2-2ã¹ããŒã ïŒ8ããŒã¿ãããã¯ã2ããŒã«ã«ããªãã£ãããã¯ã2ã°ããŒãã«ããªãã£ãããã¯ïŒãé©çšããŸããã ãã®çµæã2ã€ã®ã¬ããªã«ãããã2ã€ã®ããŒããã£ã¹ã¯ã«ååšãã1ã€ã®ãããããã12å°ã®ããŒããã£ã¹ã¯ã«é 眮ããå§ããŸããã ããã«ããèªã¿åãæé ãéåžžã«è€éã«ãªããããŒããã©ã€ãã倱ã£ãåŸã®å埩ãå°é£ã«ãªããŸããã ãããã25ïŒ ã®ãã£ã¹ã¯ã¹ããŒã¹ã®ç¯çŽãåŸããããã¹ãŠã®çæãäžåããŸããã ãããã¯ãŒã¯ã®è² è·ã軜æžããããã«ãã¬ããªã«ã䜿çšããŠéåžžã®ããããã§ããŒã¿ãèšé²ãããŸãã ããããå®å šã«äžæ¯ã«ãªããèªã¿åãå€ãå°ãããªããšããã€ãŸãããŒã¿ããã¯ãŒã«ããŠã³ããããšãã«ã®ã¿å€æããŸãã
10æ15æ¥ã«ã¢ã¹ã¯ã¯ã®ãªãã£ã¹ã§éå¬ãããã€ãã³ãã§ããã®ã¹ããŒã ã®å®æœäžã«çºçããåé¡ã«ã€ããŠèª¬æããŸãã ãããããã¯é¢çœãã§ãããïŒ