ããã§ã¯ãæ³åããŠã¿ãŸãããã éšå±ã«ã¯5å¹ã®ç«ãéã蟌ããããŠããã飌ãäž»ãèµ·ããã«è¡ãã«ã¯ãç«å šå¡ãããã«åæããå¿ èŠããããŸããXNUMXå¹ãå¯ãããã£ãŠããªããšãã¢ãéããããšãã§ããªãããã§ãã ç«ã®ãã¡ã® XNUMX å¹ãã·ã¥ã¬ãŒãã£ã³ã¬ãŒã®ç«ã§ãä»ã®ç«ãã·ã¥ã¬ãã£ã³ã¬ãŒã®æ±ºæãç¥ããªãã£ãå Žåããã©ããã£ãŠãããªããšãã§ããã®ã§ããã?ããšããçåãçããŸãã
ãã®èšäºã§ã¯ãåæ£ã·ã¹ãã ã®äžçã®çè«çæ§æèŠçŽ ãšãã®åäœåçã«ã€ããŠç°¡åã«èª¬æããŸãã ãŸããPaxos ã®æ ¹åºã«ããäž»ãªã¢ã€ãã¢ãè¡šé¢çã«èª¿ã¹ãŸãã
éçºè
ãã¯ã©ãŠã ã€ã³ãã©ã¹ãã©ã¯ãã£ãããŸããŸãªããŒã¿ããŒã¹ã䜿çšããå€æ°ã®ããŒããããªãã¯ã©ã¹ã¿ãŒã§äœæ¥ããå ŽåãããŒã¿ã¯å®å
šã§å®å
šã§ãåžžã«å©çšå¯èœã§ãããšç¢ºä¿¡ããŸãã ããããä¿èšŒã¯ã©ãã«ããã®ã§ããããïŒ
åºæ¬çã«ãåœç€Ÿã®ä¿èšŒã¯ãµãã©ã€ã€ãŒä¿èšŒã§ãã ããã¥ã¡ã³ãã§ã¯æ¬¡ã®ããã«èª¬æãããŠããŸããããã®ãµãŒãã¹ã¯éåžžã«ä¿¡é Œæ§ãé«ããæå®ã® SLA ãå®ããããŠããŸããå¿é ããªãã§ãã ããããã¹ãŠãæåŸ ã©ããã«åæ£ããŠæ©èœããŸããã
倧äŒæ¥ã®è³¢ã人ãã¡ããã¹ãŠããŸããããšä¿èšŒããŠãããã®ã§ãç§ãã¡ã¯æåã®ãã®ãä¿¡ããåŸåããããŸãã ç§ãã¡ã¯ãå®éã«ãªããããæ©èœããã®ããšãã質åãããŸããã ãã®ãããªã·ã¹ãã ãæ£ããåäœããããšãæ£åœåããæ£åŒãªæ ¹æ ã¯ããã®ã§ãããã?
æè¿è¡ã£ãã®ã¯
ææ°ã®åæ£ã·ã¹ãã ã®ã»ãšãã©ã¯ãPaxos ã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ãšãã®ããŸããŸãªä¿®æ£ã䜿çšããŠããŸãã æãçŽ æŽãããããšã¯ããã®ã¢ã«ãŽãªãºã ã®æå¹æ§ããããŠåççã«ã¯ãã®ååšã®å¯èœæ§ãã®ãã®ããçŽãšãã³ã§ç°¡åã«èšŒæã§ããããšã§ãã å®éã«ã¯ããã®ã¢ã«ãŽãªãºã ã¯ã¯ã©ãŠãå ã®èšå€§ãªæ°ã®ããŒãã§å®è¡ããã倧èŠæš¡ã·ã¹ãã ã§äœ¿çšãããŸãã
次ã«èª¬æããå
容ã®ç°¡åãªèª¬æ: XNUMX 人ã®å°è»ã®ä»»åãŠã©ãŒãã³ã°ã¢ããã®ã€ããã§èŠãŠã¿ãŸããã
ç§ãã¡ã«ã¯èµ€è»ãšçœè»ã® 1 ã€ã®è»éããããŸãã çœè»ã¯å å²ãããéœåžã«æ ç¹ã眮ããŠããã å°è» A2 ãš AXNUMX ãçããèµ€è»ãéœåžã®äž¡åŽã«é 眮ãããŠããŸãã èµ€æ¯ã®äœ¿åœã¯ãçœãéœåžãæ»æããŠåã€ããšã§ãã ãã ããèµ€è»ã®åå°è»ã®åå¥ã®è»éã¯çœè»ãããå°èŠæš¡ã§ãã
èµ€åŽã®åå©æ¡ä»¶: çœåŽã«å¯ŸããŠæ°çåªäœæ§ãåŸãã«ã¯ãäž¡æ¹ã®å°è»ãåæã«æ»æããå¿
èŠããããŸãã ãããè¡ãã«ã¯ãå°è» A1 ãš A2 ãäºãã«åæããå¿
èŠããããŸãã å
šå¡ãå¥ã
ã«æ»æãããšãèµ€æ¯ã¯è² ããŸãã
åæã«éããããã«ãå°è» A1 ãš A2 ã¯çœãéœåžã®é åãéããŠäºãã«äœ¿è ãéãããšãã§ããŸãã 䜿è ã¯å³æ¹ã®å°è»ã«ç¡äºå°éããããšãããã°ãæµã«åŠšå®³ãããããšããããŸãã 質å: èµ€æ¯ã®å°è»ãã¡ã®éã«ãX æéã®æ»æã«åæããããšãä¿èšŒããããããªäžé£ã®éä¿¡ (A1 ãã A2 ãžããŸãã¯ãã®éã« A2 ãã A1 ãžäœ¿è ãéãäžé£ã®ããš) ã¯ããã®ã§ããããã ããã§ã¯ãä¿èšŒãšã¯ãåçåœ (å¥ã®å°è») ãæå®æé X ã«ç¢ºå®ã«æ»æãããšããæ確ãªç¢ºèªãäž¡å°è»ãæã€ããšãæå³ããŸãã
A1 ã A2 ã«ãä»æ¥ã®åå 1 æã«æ»æããŸããã!ããšããã¡ãã»ãŒãžãå«ãã¡ãã»ã³ãžã£ãŒãéä¿¡ãããšããŸãã å°è»A2ã¯å°è»A1ã®ç¢ºèªããªããã°æ»æã§ããŸããã A2 ããã®äœ¿è ãå°çããå ŽåãA2 å°è»ã¯ãã¯ããä»æ¥çœäººã殺ããŸãããããšããã¡ãã»ãŒãžãå«ã確èªãéä¿¡ããŸãã ãããçŸåšãå°è» A2 ã¯èªåã®äœ¿è ãå°çãããã©ãããç¥ããŸãããæ»æãåæã§ãããã©ããã®ä¿èšŒããããŸããã ããŠãäžè¬ AXNUMX ã¯å床確èªãå¿ èŠã§ãã
圌ãã®éä¿¡ã詳ãã説æãããšã次ã®ããšãæããã«ãªããŸããã¡ãã»ãŒãž ãµã€ã¯ã«ãã©ãã»ã©å€ããŠããäž¡å°è»ãã¡ãã»ãŒãžãåä¿¡ããããšãéç¥ãããããšãä¿èšŒããæ¹æ³ã¯ãããŸãã (ã©ã¡ããã®ã¡ãã»ã³ãžã£ãŒãååã§ãããšä»®å®ãããš)ã
Two Generals åé¡ã¯ãéä¿¡ã®ä¿¡é Œæ§ãäœã 100 ã€ã®ããŒããååšããéåžžã«åçŽãªåæ£ã·ã¹ãã ããã瀺ããŠããŸãã ããã¯ãããããåæããŠãããšãã XNUMX% ã®ä¿èšŒããªãããšãæå³ããŸãã åæ§ã®åé¡ã«ã€ããŠã¯ããã®èšäºã®åŸåã§ãã倧èŠæš¡ã«ã®ã¿èª¬æããŸãã
åæ£ã·ã¹ãã ã®æŠå¿µãå°å ¥ããŸã
åæ£ã·ã¹ãã ãšã¯ãã¡ãã»ãŒãžã亀æã§ããã³ã³ãã¥ãŒã¿ (以äžãããŒããšåŒã³ãŸã) ã®ã°ã«ãŒãã§ãã åã ã®ããŒãã¯ãããããããçš®ã®èªåŸçãªãšã³ãã£ãã£ã§ãã ããŒãã¯åç¬ã§ã¿ã¹ã¯ãåŠçã§ããŸãããä»ã®ããŒããšéä¿¡ããã«ã¯ã¡ãã»ãŒãžãéåä¿¡ããå¿ èŠããããŸãã
ã¡ãã»ãŒãžãã©ã®ããã«æ£ç¢ºã«å®è£ ãããããã©ã®ãããªãããã³ã«ã䜿çšãããã - ãã®æèã§ã¯ãããã¯ç§ãã¡ã«ã¯é¢ä¿ãããŸããã åæ£ã·ã¹ãã ã®ããŒããã¡ãã»ãŒãžãéä¿¡ããããšã«ãã£ãŠçžäºã«ããŒã¿ã亀æã§ããããšãéèŠã§ãã
å®çŸ©èªäœã¯ããã»ã©è€éã§ã¯ãããŸããããåæ£ã·ã¹ãã ã«ã¯éèŠãªå±æ§ãå€æ°ããããšãèæ ®ããå¿ èŠããããŸãã
åæ£ã·ã¹ãã ã®å±æ§
- 䞊è¡æ§ â ã·ã¹ãã å ã§åæãŸãã¯åæã«çºçããã€ãã³ãã®å¯èœæ§ã ããã«ãXNUMX ã€ã®ç°ãªãããŒãã§çºçããã€ãã³ãã¯ããããã®ã€ãã³ãã®çºçé åºãæ確ã§ãªãéããåæçºçããå¯èœæ§ããããšã¿ãªããŸãã ããããååãšããŠãç§ãã¡ã«ã¯ããããããŸããã
- ã°ããŒãã«ã¯ããã¯ããããŸããã äžçæèšããªããããã€ãã³ãã®æ確ãªé åºã¯ããããŸããã æ®éã®äººã ã®äžçã§ã¯ãç§ãã¡ã¯æèšãšæéã絶察ã«ãããšããäºå®ã«æ £ããŠããŸãã åæ£ã·ã¹ãã ã«ãªããšãã¹ãŠãå€ãããŸãã è¶ é«ç²ŸåºŠã®ååæèšã«ã誀差ããããXNUMX ã€ã®åºæ¥äºã®ã©ã¡ããå ã«èµ·ãã£ãããå€æã§ããªãç¶æ³ãçºçããå¯èœæ§ããããŸãã ãããã£ãŠãæéãåœãŠã«ã§ããŸããã
- ã·ã¹ãã ããŒãã®ç¬ç«ããé害ã ãã XNUMX ã€åé¡ããããŸããããŒããæ°žä¹
ã«æç¶ããããã§ã¯ãªããšããã ãã®çç±ã§ãäœãåé¡ãçºçããå¯èœæ§ããããŸãã ããŒããã©ã€ãã«é害ãçºçããã¯ã©ãŠãå
ã®ä»®æ³ãã·ã³ãåèµ·åãããããã¯ãŒã¯ãç¹æ»
ããã¡ãã»ãŒãžã倱ãããå¯èœæ§ããããŸãã ããã«ãããŒããæ©èœããŠããã«ãããããããåæã«ã·ã¹ãã ã«æªåœ±é¿ãåãŒããŠããç¶æ³ãèããããŸãã æåŸã®ã¯ã©ã¹ã®åé¡ã«ã¯ãåé¡ãšããå¥ã®ååãä»ããããŸããã
ãã¶ã³ãã³ã®å°è» ã ãã®åé¡ãæ±ããåæ£ã·ã¹ãã ã®æãäžè¬çãªäŸã¯ãããã¯ãã§ãŒã³ã§ãã ããããä»æ¥ã¯ãã®ç¹å¥ãªçš®é¡ã®åé¡ã«ã€ããŠã¯èæ ®ããŸããã åã« XNUMX ã€ä»¥äžã®ããŒãã«é害ãçºçããå¯èœæ§ãããç¶æ³ã«æ³šç®ããŸãã - ããŒãéã®éä¿¡ã¢ãã«ïŒã¡ãã»ãŒãžã³ã°ã¢ãã«ïŒã ããŒããã¡ãã»ãŒãžã亀æããããšã«ãã£ãŠéä¿¡ããããšã¯ãã§ã«ç¢ºç«ããŠããŸãã ããç¥ãããŠããã¡ãã»ãŒãžã³ã° ã¢ãã«ã«ã¯ãåæãšéåæã® XNUMX ã€ããããŸãã
åæ£ã·ã¹ãã ã«ãããããŒãéã®éä¿¡ã¢ãã«
åæã¢ãã« â ã¡ãã»ãŒãžãããããŒãããå¥ã®ããŒãã«å°éããããšãä¿èšŒããããæéã®æ¢ç¥ã®æéãã«ã¿ãååšããããšã¯ç¢ºå®ã«ããã£ãŠããŸãã ãã®æéãçµéããŠãã¡ãã»ãŒãžãå°çããªãå Žåã¯ãããŒãã«é害ãçºçããŠãããšèšã£ãŠééããããŸããã ãã®ã¢ãã«ã§ã¯ãåŸ ã¡æéãäºæž¬å¯èœã§ãã
éåæã¢ãã« â éåæã¢ãã«ã§ã¯ãåŸ æ©æéã¯æéã§ãããšèããããŸãããããŒãã®é害ãçºçããããšãä¿èšŒã§ãããããªæéã®å·®ã¯ãããŸããã ãããã®ã ããŒãããã®ã¡ãã»ãŒãžã®åŸ æ©æéã¯ä»»æã«é·ãããããšãã§ããŸãã ããã¯éèŠãªå®çŸ©ãªã®ã§ãããã«è©³ãã説æããŸãã
åæ£ã·ã¹ãã ã«ãããã³ã³ã»ã³ãµã¹ã®æŠå¿µ
ã³ã³ã»ã³ãµã¹ã®æŠå¿µãæ£åŒã«å®çŸ©ããåã«ããããå¿ èŠãšãªãç¶æ³ã®äŸãèããŠã¿ãŸãããã ã¹ããŒã ãã·ã³ã®ã¬ããªã±ãŒã·ã§ã³.
åæ£ãã°ãããã€ããããŸãã ããã«ã¯äžè²«æ§ããããåæ£ã·ã¹ãã ã®ãã¹ãŠã®ããŒãäžã§åäžã®ããŒã¿ãå«ãŸããããšãå¿ èŠã§ãã ããããã®ããŒãããã°ã«æžã蟌ãæ°ããå€ãåŠç¿ãããšããã®ã¿ã¹ã¯ã¯ãã®å€ãä»ã®ãã¹ãŠã®ããŒãã«æäŸããŠããã¹ãŠã®ããŒãã§ãã°ãæŽæ°ãããã·ã¹ãã ãæ°ããäžè²«ããç¶æ ã«ç§»è¡ããããã«ããŸãã ãã®å ŽåãããŒãéã§åæããããšãéèŠã§ããææ¡ãããæ°ããå€ãæ£ããããšã«ãã¹ãŠã®ããŒããåæãããã¹ãŠã®ããŒãããã®å€ãåãå ¥ããŸãããã®å Žåã«ã®ã¿ã誰ããæ°ããå€ããã°ã«æžã蟌ãããšãã§ããŸãã
èšãæããã°ãã©ã®ããŒãããããé¢é£æ§ã®é«ãæ
å ±ããããææ¡ãããå€ãæ£ãããªãããšã«å察ããŸããã§ããã åæ£ã·ã¹ãã ã§ã¯ãããŒãéã®åæãããã³åäžã®æ£ããåãå
¥ããããå€ã«é¢ããåæãã³ã³ã»ã³ãµã¹ãšãªããŸãã 次ã«ãåæ£ã·ã¹ãã ã確å®ã«åæã«éããããšãå¯èœã«ããã¢ã«ãŽãªãºã ã«ã€ããŠèª¬æããŸãã
ããæ£åŒã«ã¯ãã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã (ãŸãã¯åã«ã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ) ããåæ£ã·ã¹ãã ãç¶æ
A ããç¶æ
B ã«é·ç§»ãããç¹å®ã®é¢æ°ãšããŠå®çŸ©ã§ããŸããããã«ããã®ç¶æ
ã¯ãã¹ãŠã®ããŒãã«ãã£ãŠåãå
¥ãããããã¹ãŠã®ããŒããããã確èªã§ããŸãã çµå±ã®ãšããããã®ã¿ã¹ã¯ã¯äžèŠããã»ã©ç°¡åã§ã¯ãããŸããã
ã³ã³ã»ã³ãµã¹ã¢ã«ãŽãªãºã ã®ããããã£
ã·ã¹ãã ãåç¶ããç¶æ ããç¶æ ãžã®ç§»è¡ãããçšåºŠé²ããããã«ã¯ãã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ã«ã¯ XNUMX ã€ã®ããããã£ãå¿ èŠã§ãã
- å¥çŽ â æ£ããåäœããŠãããã¹ãŠã®ããŒãã¯åãå€ãåãå¿
èŠããããŸã (èšäºã§ã¯ããã®ããããã£ã¯å®å
šããããã£ãšãåŒã°ããŸã)ã çŸåšæ©èœããŠãã (é害ãçºçããŠããªãããä»ã®ããŒããšã®æ¥ç¶ã倱ãããŠããªã) ãã¹ãŠã®ããŒãã¯åæã«éããäœããã®æçµçãªå
±éå€ãåãå
¥ããå¿
èŠããããŸãã
ããã§ãç§ãã¡ãæ€èšããŠããåæ£ã·ã¹ãã å ã®ããŒãã¯åæãæãã§ããããšãç解ããããšãéèŠã§ãã ã€ãŸããç§ãã¡ã¯ä»ãäœããåçŽã«å€±æããå¯èœæ§ãããã·ã¹ãã ã«ã€ããŠè©±ããŠããŸããïŒããšãã°ãäžéšã®ããŒãã倱æãããªã©ïŒããã®ã·ã¹ãã ã«ã¯ãæå³çã«ä»ã®ããŒãã«å¯ŸããŠæ©èœããããŒãïŒãã¶ã³ãã³ã®å°è»ã®ä»»åïŒã¯çµ¶å¯Ÿã«ååšããŸããã ãã®ç¹æ§ã«ãããã·ã¹ãã ã®äžè²«æ§ãä¿ãããŸãã
- çµ±åæ§ â æ£ããåäœããŠãããã¹ãŠã®ããŒããåãå€ãæäŸããå Žå vããã¯ãæ£ããåäœããŠãããã¹ãŠã®ããŒãããã®å€ãåãå ¥ããå¿ èŠãããããšãæå³ããŸã v.
- çµäº â æ£ããåäœããŠãããã¹ãŠã®ããŒãã¯æçµçã«ç¹å®ã®å€ (掻æ§ããããã£) ãååŸããããã«ããã¢ã«ãŽãªãºã ãã·ã¹ãã å ã§é²æ©ããããšãå¯èœã«ãªããŸãã æ£ããåäœããŠããåã ã®ããŒãã¯ãé ããæ©ããæçµå€ãåãå ¥ãããç§ã«ãšã£ãŠããã®å€ã¯çå®ã§ãããã·ã¹ãã å šäœã«åæããŸããããšç¢ºèªããå¿ èŠããããŸãã
ã³ã³ã»ã³ãµã¹ã¢ã«ãŽãªãºã ãã©ã®ããã«æ©èœãããã®äŸ
ãã ããã¢ã«ãŽãªãºã ã®ç¹æ§ã¯å®å šã«ã¯æããã§ã¯ãªããããããŸããã ãããã£ãŠãåæã¡ãã»ãŒãžã³ã° ã¢ãã«ãåããã·ã¹ãã ã§ãæãåçŽãªã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ãã©ã®æ®µéãééããããäŸã§èª¬æããŸãããã®å Žåããã¹ãŠã®ããŒããæåŸ ã©ããã«æ©èœããã¡ãã»ãŒãžã¯å€±ããããäœãäžæãããŸãã (ããã¯æ¬åœã«èµ·ãããŸãã?)ã
- ãã¹ãŠã¯ããããŒãºïŒããããŒãºïŒããå§ãŸããŸãã ã¯ã©ã€ã¢ã³ãããããŒã 1ããšããããŒãã«æ¥ç¶ããŠãã©ã³ã¶ã¯ã·ã§ã³ãéå§ããæ°ããå€ - O ãããŒãã«æž¡ãããšããŸããä»åŸã¯ãããŒã 1ããšåŒã³ãŸãã æäŸã ããããŒã¶ãŒãšããŠããããŒã 1ãã¯ã·ã¹ãã å šäœã«æ°ããããŒã¿ãããããšãéç¥ããå¿ èŠããããä»ã®ãã¹ãŠã®ããŒãã«ã¡ãã»ãŒãžãéä¿¡ããŸãã ãOãã®æå³ãæãæµ®ããã ã®ã§æžããããšæããŸãïŒ ãã°ã«ãOããèšé²ãããããšã確èªããŠãã ãããã
- 次ã®æ®µéã¯ãææ¡ãããå€ã«å¯Ÿããæ祚ã§ã (æ祚)ã ããã¯ãªãã®ããã§ããïŒ ä»ã®ããŒããããæ°ããæ
å ±ãåä¿¡ããåããã©ã³ã¶ã¯ã·ã§ã³ã«é¢ããããŒã¿ãæã£ãŠããå ŽåããããŸãã
ããŒããããŒã 1ããããããŒã¶ã«ãéä¿¡ãããšãä»ã®ããŒãã¯ãã®ã€ãã³ãã«é¢ããããŒã¿ã®ãã°ããã§ãã¯ããŸãã ççŸããªãå ŽåãããŒãã¯æ¬¡ã®ããã«éç¥ããŸãããã¯ãããã®ã€ãã³ãã«é¢ããããŒã¿ã¯ä»ã«ãããŸããã ãOãã®å€ã¯ãç§ãã¡ãåãåãã¹ãææ°æ å ±ã§ããããã以å€ã®å Žåã¯ãããŒãã¯ãããŒã 1ãã«å¿çã§ããŸãã ãã®ååŒã«é¢ããææ°ã®ããŒã¿ããããŸãã ãOãã§ã¯ãªãããã£ãšè¯ããã®ã§ããã
æ祚段éã§ã¯ãããŒãã¯ãã¹ãŠåãå€ãåãå ¥ãããããŸãã¯ãã®ãã¡ã® XNUMX ã€ãå察祚ãæããŠããã®ããŒããããæ°ããããŒã¿ãæã£ãŠããããšã瀺ããã®ããããã®æ±ºå®ãäžããŸãã
- æ祚ã©ãŠã³ããæåããå šå¡ãè³æããå Žåãã·ã¹ãã ã¯æ°ãã段éãã€ãŸãå€ãåãå ¥ãã段éã«ç§»è¡ããŸãã ãããŒã 1ãã¯ä»ã®ããŒãããã®ãã¹ãŠã®å¿çãåéãããå šå¡ãå€ "O" ã«åæããŸãã!ããšå ±åããŸãã ä»ãç§ã¯ãOããç§ãã¡ã®æ°ããæå³ã§ããã誰ã«ãšã£ãŠãåãã§ããããšãæ£åŒã«å®£èšããŸãã å°ããªæ¬ã«æžãçããŠãã ãããå¿ããªãã§ãã ããã ããããã°ã«èšé²ããŠãã ããïŒã
- æ®ãã®ããŒãã¯ãå€ãOããæžãçããããšã瀺ãç¢ºèª (Accepted) ãéä¿¡ããŸãããã®éãæ°ãããã®ã¯äœãå°çããŸãã (äžçš®ã® XNUMX ãã§ãŒãº ã³ããã)ã ãã®éèŠãªã€ãã³ãã®åŸãåæ£ãã©ã³ã¶ã¯ã·ã§ã³ã¯å®äºãããšèŠãªãããŸãã
ãããã£ãŠãåçŽãªå Žåã®ã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ã¯ãææ¡ãæ祚 (æ祚)ãåãå ¥ã (åãå ¥ã)ãåãå ¥ãã®ç¢ºèª (åãå ¥ã) ã® XNUMX ã€ã®ã¹ãããã§æ§æãããŸãã
ããã¹ãããã§åæã«éã§ããªãã£ãå Žåãææ¡ãããå€ã®ç¢ºèªãæåŠããããŒãã«ãã£ãŠæäŸãããæ å ±ãèæ ®ããŠãã¢ã«ãŽãªãºã ãå床éå§ãããŸãã
éåæã·ã¹ãã ã«ãããã³ã³ã»ã³ãµã¹ã¢ã«ãŽãªãºã
ãããŸã§ã¯ãåæã¡ãã»ãŒãžã³ã° ã¢ãã«ã«ã€ããŠè©±ããŠããããããã¹ãŠãã¹ã ãŒãºã§ããã ããããçŸä»£ã®äžçã§ã¯ããã¹ãŠãéåæã§è¡ãããšã«æ £ããŠããããšã¯ããã£ãŠããŸãã åæ§ã®ã¢ã«ãŽãªãºã ã¯ãããŒãããã®å¿çã®åŸ ã¡æéãä»»æã«é·ããªãå¯èœæ§ããããšèããããéåæã¡ãã»ãŒãžã³ã° ã¢ãã«ãåããã·ã¹ãã ã§ã©ã®ããã«æ©èœããŸãã (ã¡ãªã¿ã«ãããŒãã®é害ãã次ã®ãããªå Žåã®äŸãšããŠèæ ®ãããŸã)ãããŒãã¯ä»»æã®é·ãæéå¿çã§ããŸã)ã
ã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ãåççã«ã©ã®ããã«æ©èœããããããã£ãã®ã§ããããŸã§èªã¿é²ãã奜å¥å¿æºçãªèªè ãžã®è³ªåã§ããéåæã¡ãã»ãŒãž ã¢ãã«ãåãã N ããŒãã®ã·ã¹ãã ã§ãã·ã¹ãã ãã³ã³ã»ã³ãµã¹ã«éããããã«ã¯äœåã®ããŒããé害ãèµ·ãããŠãåé¡ãããŸããã?
æ£è§£ãšæ ¹æ ã¯ãã¿ãã¬ã®è£ã«ãããŸããæ£è§£ã¯æ¬¡ã®ãšããã§ãã 0ã éåæã·ã¹ãã 㧠1985 ã€ã®ããŒãã§ãé害ãçºçãããšãã·ã¹ãã ã¯åæã«éããããšãã§ããªããªããŸãã ãã®ã¹ããŒãã¡ã³ãã¯ãç¹å®ã®çéã§ã¯ããç¥ãããŠãã FLP å®çã§èšŒæãããŠããŸã (XNUMX 幎ãFischerãLynchãPatersonãåæãžã®ãªã³ã¯ã¯èšäºã®æåŸã«ãããŸã)ã ã
çãããåé¡ãçºçããŸãããç§ãã¡ã¯ãã¹ãŠãéåæã§ããããšã«æ
£ããŠããŸãã ãããŠããã«ãããŸãã ã©ããã£ãŠçãç¶ããã®ãïŒ
ç§ãã¡ã¯ãã çè«ã«ã€ããŠãæ°åŠã«ã€ããŠè©±ããŠããŸããã ãåæã«éããããšãã§ããªãããšã¯ãæ°åŠçãªèšèªããå·¥åŠçãªèšèªã«çœ®ãæãããšãäœãæå³ããã®ã§ãããã? ããã¯ããåžžã«éæã§ãããšã¯éããªããããšãæå³ããŸãã ã³ã³ã»ã³ãµã¹ãåŸãããªãã±ãŒã¹ãããã ããã¯ã©ã®ãããªã±ãŒã¹ã§ãã?
ããã¯ãŸãã«ãäžã§èª¬æãã liveness ããããã£ã®éåã§ãã å ±éã®åæããªãããã¹ãŠã®ããŒãããå¿çããªãå Žåãã·ã¹ãã ã¯é²è¡ã§ããŸããïŒæéæéå ã«å®äºã§ããŸããïŒã ãªããªããéåæã·ã¹ãã ã§ã¯å¿çæéãäºæž¬ã§ãããããŒããã¯ã©ãã·ã¥ããã®ãããããšãåã«å¿çã«æéãããã£ãŠããã ããªã®ããç¥ãããšãã§ããªãããã§ãã
ããããå®éã«ã¯è§£æ±ºçãèŠã€ããããšãã§ããŸãã ã¢ã«ãŽãªãºã ã倱æããå Žåã§ãé·æéåäœã§ããããã«ããŸã (æœåšçã«ã¯ç¡æéã«åäœããå¯èœæ§ããããŸã)ã ããããã»ãšãã©ã®ç¶æ³ã§ã¯ãã»ãšãã©ã®ããŒããæ£ããæ©èœããŠããã°ãã·ã¹ãã ã¯é²æ©ããŸãã
å®éã«ã¯ãéšååæéä¿¡ã¢ãã«ãæ±ããŸãã éšååæã¯æ¬¡ã®ããã«ç解ãããŸããäžè¬çãªã±ãŒã¹ã§ã¯ãéåæã¢ãã«ããããŸãããç¹å®ã®æç¹ã®ãã°ããŒãã«å®å®åæéããšããç¹å®ã®æŠå¿µãæ£åŒã«å°å ¥ãããŸãã
ãã®ç¬éã¯é·ãã¯æ¥ãªããããããªããããã€ãå¿ ãæ¥ãã¯ãã ã ä»®æ³ç®èŠãŸãæèšã鳎ãããã®ç¬éããã¡ãã»ãŒãžãå°çãããŸã§ã®æéå·®ãäºæž¬ã§ããŸãã ãã®ç¬éãããã·ã¹ãã ã¯éåæããåæã«å€ãããŸãã å®éã«ã¯ãç§ãã¡ã¯ãŸãã«ãã®ãããªã·ã¹ãã ãæ±ããŸãã
Paxos ã¢ã«ãŽãªãºã ã¯ã³ã³ã»ã³ãµã¹åé¡ã解決ããŸã
ãããããã®èšŒæã¯æ±ºããŠç°¡åãªãã®ã§ã¯ãªãããšãå€æããã ã¢ã«ãŽãªãºã ã説æããæåã®åºçç© (1998 ããŒãž) 㯠33 幎ã«ã®ã¿çºè¡ãããŸããã çµå±ã®ãšãããããã¯éåžžã«ãããã«ããã2001幎ã«ã¯14ããŒãžã«åã¶è§£èª¬ãåºçãããŸããã åºçç©ã®éã¯ãå®éã«ã¯ã³ã³ã»ã³ãµã¹ã®åé¡ããŸã£ããåçŽã§ã¯ãªãããã®ãããªã¢ã«ãŽãªãºã ã®èåŸã«ã¯æãè³¢ã人ã ã«ããèšå€§ãªéã®ç 究ã暪ããã£ãŠããããšã瀺ãããã«æããããŠããŸãã
èå³æ·±ãã®ã¯ãã¬ã¹ãªãŒã»ã©ã³ããŒãèªèº«ãè¬çŸ©ã®äžã§ãXNUMX çªç®ã®èª¬æèšäºã«ã¯ XNUMX ã€ã®ã¹ããŒãã¡ã³ããXNUMX è¡ (圌ã¯ã©ã®ã¹ããŒãã¡ã³ãã§ãããã¯ç¹å®ããªãã£ã) ããããããã¯ããŸããŸãªæ¹æ³ã§è§£éã§ãããšææããããšã§ãã ãã®ãããææ°ã® Paxos å®è£ ã®å€ãã¯å®å šã«æ£ããåäœããŸããã
Paxos ã®ä»äºã詳现ã«åæããã«ã¯è€æ°ã®èšäºãå¿ èŠã«ãªããããã¢ã«ãŽãªãºã ã®äž»ãªã¢ã€ãã¢ãéåžžã«ç°¡åã«èª¬æããããšã«ããŸãã ç§ã®èšäºã®æåŸã«ãããªã³ã¯ã«ã¯ããã®ãããã¯ãããã«æ·±ãæãäžããããã®è³æããããŸãã
ãã¯ãœã¹ã§ã®åœ¹å²
Paxos ã¢ã«ãŽãªãºã ã«ã¯åœ¹å²ã®æŠå¿µããããŸãã XNUMX ã€ã®äž»ãªãã®ãèããŠã¿ãŸããã (è¿œå ã®åœ¹å²ã«ããå€æŽããããŸã)ã
- ææ¡è (ãªãŒããŒãŸãã¯ã³ãŒãã£ããŒã¿ãŒãšããçšèªã䜿çšãããå ŽåããããŸã)ã ãŠãŒã¶ãŒããæ°ããªäŸ¡å€ãåŠã³ããªãŒããŒã®åœ¹å²ãæ ã人ãã¡ã§ãã 圌ãã®ä»»åã¯ãæ°ããå€ã®äžé£ã®ææ¡ãéå§ããããŒãã®ãããªãã¢ã¯ã·ã§ã³ã調æŽããããšã§ãã ããã«ãPaxos ã§ã¯ãç¹å®ã®ç¶æ³ã«ãããŠè€æ°ã®ãªãŒããŒã®ååšãèš±å¯ãããŠããŸãã
- æ¿èªè (ææš©è )ã ãããã¯ãç¹å®ã®å€ãåãå ¥ãããæåŠããããæ祚ããããŒãã§ãã ãããã®åœ¹å²ã¯éåžžã«éèŠã§ãããªããªããã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ã®æ¬¡ã®æ®µéã®åŸã«ã·ã¹ãã ãã©ã®ç¶æ ã«ç§»è¡ãã (ãŸãã¯ç§»è¡ããªã) ããšãã決å®ããããã«äŸåããããã§ãã
- åŠç¿è ã ã·ã¹ãã ã®ç¶æ ãå€åãããšãã«ãåã«åãå ¥ããŠãæ°ããåãå ¥ããããå€ãæžã蟌ãããŒãã 圌ãã¯æ±ºå®ãäžãã®ã§ã¯ãªããããŒã¿ãåä¿¡ããŠââãšã³ããŠãŒã¶ãŒã«æäŸããã ãã§ãã
XNUMX ã€ã®ããŒãã§ãããŸããŸãªç¶æ³ã§è€æ°ã®åœ¹å²ãçµã¿åãããããšãã§ããŸãã
å®è¶³æ°ã®æŠå¿µ
次ã®ã·ã¹ãã ããããšä»®å®ããŸãã N ããŒããããŠãã®äžã§æ倧ã®ãã®ã¯ F ããŒãã倱æããå¯èœæ§ããããŸãã F ããŒãã倱æããå Žåãå°ãªããšã次ã®ãã®ãå¿ èŠã§ãã 2F+1 ã¢ã¯ã»ãã¿ããŒãã
ããã¯ãææªã®ç¶æ³ã§ãã£ãŠããæ£ããåäœãããè¯å¥œãªãããŒãã®å€§éšåãåžžã«ç¢ºä¿ããããã«å¿ èŠã§ãã ãã㯠F+1 åæãããè¯å¥œãªãããŒããããã³æçµå€ãåãå ¥ããããŸãã ããããªããšãããŸããŸãªå°åã°ã«ãŒããç°ãªãæå³ãåãåããã°ã«ãŒãéã§åæã§ããªãç¶æ³ãçºçããå¯èœæ§ããããŸãã ãããã£ãŠãæ祚ãç²åŸããã«ã¯çµ¶å¯Ÿå€æ°ãå¿ èŠã§ãã
Paxos ã³ã³ã»ã³ãµã¹ ã¢ã«ãŽãªãºã ãã©ã®ããã«æ©èœãããã«ã€ããŠã®äžè¬çãªèãæ¹
Paxos ã¢ã«ãŽãªãºã ã«ã¯ XNUMX ã€ã®å€§ããªãã§ãŒãºãå«ãŸããŠãããããããã XNUMX ã€ã®ã¹ãããã«åå²ãããŸãã
- ãã§ãŒãº 1a: æºåããã æºåãã§ãŒãºäžã«ããªãŒã㌠(ææ¡è ) ã¯ãã¹ãŠã®ããŒãã«æ¬¡ã®ããã«éç¥ããŸãã æ°ããã©ãŠã³ããå§ãŸããŸããã ãã®ã©ãŠã³ãã®æ°ã¯ n ã§ãã ããããæ祚ãå§ããŸããã çŸæç¹ã§ã¯ãæ°ãããµã€ã¯ã«ã®éå§ãå ±åããã ãã§ãããæ°ããå€ã¯å ±åããŸããã ãã®ã¹ããŒãžã®ã¿ã¹ã¯ã¯ãæ°ããã©ãŠã³ããéå§ãããã®åºæã®çªå·ãå šå¡ã«éç¥ããããšã§ãã ã©ãŠã³ãæ°ã¯éèŠã§ããããããŸã§ã®ãã¹ãŠã®ãªãŒããŒã«ãã以åã®ãã¹ãŠã®æ祚æ°ããã倧ããªå€ã§ãªããã°ãªããŸããã ã·ã¹ãã å ã®ä»ã®ããŒãããªãŒããŒã®ããŒã¿ãã©ãã ãæ°ããããç解ã§ããã®ã¯ãæŠæ°ã®ãããã ããã§ãã ããããä»ã®ããŒãã¯ããªãåŸã®ã©ãŠã³ãã®æ祚çµæããã§ã«æã£ãŠãããåã«ãªãŒããŒã«æ代é ãã§ããããšãäŒããã ãã§ãããã
- ãã§ãŒãº 1b: çŽæã ã¢ã¯ã»ãã¿ãŒ ããŒããæ°ããæ祚ã¹ããŒãžã®çªå·ãåãåããšã次㮠XNUMX ã€ã®çµæãèããããŸãã
- æ°ããæ祚ã®æ° n ã¯ãã¢ã¯ã»ãã¿ãåå ãã以åã®æ祚ã®æ°ããã倧ãããªããŸãã 次ã«ãã¢ã¯ã»ãã¿ãŒã¯ãn ããå°ããçªå·ã®æ祚ã«ã¯ãã以äžåå ããªããšããçŽæããªãŒããŒã«éä¿¡ããŸãã ã¢ã¯ã»ãã¿ãŒããã§ã«äœãã«æ祚ããŠããå Žå (ã€ãŸãã第 XNUMX ãã§ãŒãºã§ãã§ã«äœããã®å€ãåãå ¥ããŠããå Žå)ãåãå ¥ããããå€ãšåå ããæ祚ã®æ°ããããã¹ã«æ·»ä»ããŸãã
- ãã以å€ã®å Žåãã¢ã¯ã»ãã¿ãŒãããé«ãçªå·ã®æ祚ã«ã€ããŠãã§ã«ç¥ã£ãŠããå Žåã¯ãåã«æºåã¹ããããç¡èŠããŠããªãŒããŒã«å¿çããªããŠãæ§ããŸããã
- ãã§ãŒãº 2a: åãå
¥ããã ãªãŒããŒã¯ã¯ã©ãŒã©ã (ã·ã¹ãã å
ã®å€§éšåã®ããŒã) ããã®å¿çãåŸ
ã€å¿
èŠããããŸããå¿
èŠãªæ°ã®å¿çãåä¿¡ãããå Žåãã€ãã³ãã®éçºã«ã¯ XNUMX ã€ã®ãªãã·ã§ã³ããããŸãã
- ã¢ã¯ã»ãã¿ã®äžéšã¯ããã§ã«æ祚ããå€ãéä¿¡ããŸããã ãã®å ŽåããªãŒããŒã¯æ祚ã®äžããæ倧æ°ã®å€ãéžæããŸãã ãã®å€ã x ãšåŒã³ããAccept (n, x)ãã®ãããªã¡ãã»ãŒãžããã¹ãŠã®ããŒãã«éä¿¡ããŸããæåã®å€ã¯ç¬èªã®ææ¡ã¹ãããã§ã®æ祚æ°ãXNUMX çªç®ã®å€ã¯å šå¡ãéãŸã£ããã®ã§ããã€ãŸãç§ãã¡ãå®éã«æ祚ãã䟡å€ã
- ã¢ã¯ã»ãã¿ã®ã©ããå€ãéä¿¡ãããåã«ãã®ã©ãŠã³ãã§æ祚ããããšãçŽæããå ŽåããªãŒããŒã¯ãã®å€ãã€ãŸãæåã«ãªãŒããŒã«ãªã£ãå€ã«æ祚ããããæåŸ ããããšãã§ããŸãã ãããyãšåŒã³ãŸãããã åã®çµæãšåæ§ã«ããAccept (n, y)ãã®ãããªã¡ãã»ãŒãžããã¹ãŠã®ããŒãã«éä¿¡ãããŸãã
- ãã§ãŒãº 2b: æ¿èªãããŸããã ããã«ãã¢ã¯ã»ãã¿ãŒããŒãã¯ããªãŒããŒãããAccept(...)ãã¡ãã»ãŒãžãåä¿¡ãããšãäžéšã®(ãã®ä»)ããšãçŽæããŠããªãå Žåã«ã®ã¿ãããã«åæããŸã(æ°ããå€ã«åæãããšãã確èªããã¹ãŠã®ããŒãã«éä¿¡ããŸã)ããªãŒããŒã¯ã©ãŠã³ããã³ããŒä»ãã§æ祚ã«åå ããŸã n' > nããã§ãªãå Žåã確èªãªã¯ãšã¹ãã¯ç¡èŠãããŸãã
倧å€æ°ã®ããŒãããªãŒããŒã«å¿çãããã¹ãŠã®ããŒããæ°ããå€ã確èªããå Žåãæ°ããå€ã¯åãå ¥ãããããšã¿ãªãããŸãã äžæ³ïŒ éåæ°ã«éããŠããªãå ŽåããŸãã¯æ°ããå€ã®åãå ¥ããæåŠããããŒããããå Žåã¯ããã¹ãŠãããçŽãã«ãªããŸãã
ããã Paxos ã¢ã«ãŽãªãºã ã®ä»çµã¿ã§ãã ãããã®å段éã«ã¯å€ãã®åŸ®åŠãªç¹ããããå®éã«ã¯ããŸããŸãªçš®é¡ã®å€±æãè€æ°ã®ãªãŒããŒã®åé¡ãªã©ãèæ ®ããŠããŸããã§ãããããã®èšäºã®ç®çã¯ãèªè ã«åæ£ã³ã³ãã¥ãŒãã£ã³ã°ã®äžçãé«ãã¬ãã«ã§çŽ¹ä»ããããšã ãã§ãã
Paxos ããã®çš®ã®å¯äžã®ãã®ã§ã¯ãªããä»ã®ã¢ã«ãŽãªãºã ãååšããããšã泚ç®ã«å€ããŸããããšãã°ã
ãããªãåŠç¿ã®ããã®è³æãžã®ãªã³ã¯
ãã®ããŒã®ã¬ãã«ïŒ
åæ£åã³ã³ã»ã³ãµã¹ã¯ã©ã®ããã«æ©èœããã®ã§ãããã? ãPreethi KasireddyãMedium ã®ããã°èšäºPaxos ãã·ã³ãã«ã«ããŸããã å®éã« ãAdi KancherlaãMedium ã®ããã°èšäºåæ£æè ããšã€ãã©ãã äžäœãããã°åæãéåæãéšååæ ããšã€ãã©ãã äžäœãããã°èšäº
ã¬ã¹ãªãŒã»ã©ã³ããŒãã®ã¬ãã«:
XNUMX ã€ã®æ¬ é¥ã®ããããã»ã¹ã«ããåæ£ã³ã³ã»ã³ãµã¹ã®äžå¯èœæ§ (FLP äžå¯èœæ§) ããã£ãã·ã£ãŒããªã³ãããã¿ãŒãœã³ãç 究è«æã1985éåžžå€è°äŒ ãã¬ã¹ãªãŒ ã©ã³ããŒããç 究è«æã1998 幎Paxos ãã·ã³ãã«ã« ãã¬ã¹ãªãŒ ã©ã³ããŒããç 究è«æã2001 幎
åºæïŒ habr.com