æ¬æ¥ãå€ã®äŒè°ã§è¡ãããYandexæ€çŽ¢ããã€ã¹ã«é¢ããå¥ã®ã¬ããŒããå
¬éããŸãã ãã®æ¥ã®ã©ã³ãã³ã°éšéé·ã§ããããã«ãããã®ã¹ããŒãã¯ãå¹
åºãèŽè¡ã«ãšã£ãŠæãã¢ã¯ã»ã¹ãããããã®ã§ããããšãå€æããŸãããã€ãŸããæå°éã®å
¬åŒãæ倧éã®æ€çŽ¢ã«é¢ããäžè¬çãªæŠå¿µã§ãã ããããPeterã¯äœåºŠã詳现ã«ç®ãéãããã®çµæãYandexããããŸã§ã«å
¬è¡šããããšããªãããšã«ã€ããŠå€ãã®ããšãèªã£ãããã誰ã«ãšã£ãŠãèå³æ·±ããã®ã§ããã
ã¡ãªã¿ã«ããã®åŸ©å·åã®å
¬éãšåæã«ãYandexãã¯ãããžãŒã«ç¹åããã·ãªãŒãºã§2åç®ã®äŒè°ãå§ãŸããŸãã ä»æ¥ã®ã€ãã³ãã¯ããã¯ãæ€çŽ¢ã«é¢ãããã®ã§ã¯ãªããã€ã³ãã©ã¹ãã©ã¯ãã£ã«é¢ãããã®ã§ãã ãã¡ã
ããããŒããã£ã¹ããªã³ã¯ã§ãã
ããŠãã«ããã®äžã§-ããŒã¿ãŒããããšã¹ã©ã€ãã®äžéšã«ããè¬çŸ©ã
ç§ã®ååã¯ããŒã¿ãŒã»ããããç§ã¯ã€ã³ããã¯ã¹ã§åããŠããŸãã ç§ã¯ããã«7幎ã»ã©ããŸãã ãã以åã¯ãã³ã³ãã¥ãŒã¿ãŒã²ãŒã ãããã°ã©ãã³ã°ãã3Dã°ã©ãã£ãã¯ã¹ã«åŸäºãããããªã«ãŒããç¥ã£ãŠãããSSEã¢ã»ã³ãã©ãŒã«æžããŠããŸãããäžè¬çã«ã圌ã¯ãã®ãããªããšã«åŸäºããŠããŸããã
Yandexã§ä»äºã«å°±ãããšããç§ã¯ãã®åéã«ã€ããŠã¯ã»ãšãã©ç¥ããŸããã§ãã-ããã§äººã
ãäœããããã«ã€ããŠã è¯ã人ãããã§åãããšããç¥ããŸããã§ããã ãããã£ãŠãããã€ãã®çåããããŸããã
ããã§ãç§ãã¡ã®æ€çŽ¢ãã©ã®ããã«èŠãããã«ã€ããŠãéåžžã«æ·±ãã§ã¯ãªããå®å
šã«èª¬æããŸãã Yandexãšã¯äœã§ããïŒ ããã¯æ€çŽ¢ãšã³ãžã³ã§ãã ãŠãŒã¶ãŒãªã¯ãšã¹ããåãåããå€æ°ã®çµæãäœæããå¿
èŠããããŸãã ãªãããã10ãªã®ãïŒ ãŠãŒã¶ãŒãä»ã®ããŒãžã«ã¢ã¯ã»ã¹ããããšã¯ã»ãšãã©ãããŸããã 10åã®ããã¥ã¡ã³ãããã¹ãŠè¡šç€ºãããŠãããšæ³å®ã§ããŸãã
ã¡ã€ã³ã®Yandex補åã¯å®å
šã«ç°ãªããšä¿¡ããŠãããããYandexã®åºåã«æºãã£ãŠãã人ã
ãããŒã«ã«ãããã©ããã¯ããããŸããã ãã€ãã®ããã«ã2ã€ã®èŠç¹ããããäž¡æ¹ãšãæ£ããã§ãã
ç§ãã¡ã¯ãäž»ãªããšã¯ãŠãŒã¶ãŒã®å¹žãã ãšä¿¡ããŠããŸãã ãããŠãé©ãã¹ãããšã«ããã®å¹žçŠã¯ã10ã®æ§æãš10ã®ã©ã³ã¯ä»ãã«äŸåããŸãã çºè¡ãæªåãããšããŠãŒã¶ãŒã¯Yandexã®äœ¿çšãæžãããä»ã®æ€çŽ¢ãšã³ãžã³ã«ã¢ã¯ã»ã¹ããŠãæ°åãæªããªããŸãã
ãã®åçŽãªã¿ã¹ã¯ã解決ããããã«ã10åã®ããã¥ã¡ã³ãã衚瀺ããããã«ã©ã®ãããªèšèšãäœæããŸãããïŒ èšèšã¯éåžžã«åŒ·åã§ãäžããèŠããšãããéçºè
ã¯ãããèŠãŠããããã§ãã
ç§ãã¡ã®äœæ¥ã¢ãã«ã ããã€ãã®ããšãããã ãã§ãã ã€ã³ã¿ãŒããããå·¡åããäœæãããããã¥ã¡ã³ãã®ã€ã³ããã¯ã¹ãäœæããå¿
èŠããããŸãã ããŠã³ããŒãããWebããŒãžãšåŒã°ããããã¥ã¡ã³ãã ã€ã³ããã¯ã¹ãäœæããæ€çŽ¢ã€ã³ããã¯ã¹ã«è¿œå ãããã®ã€ã³ããã¯ã¹ã«å¯ŸããŠæ€çŽ¢ããã°ã©ã ãå®è¡ãããŠãŒã¶ãŒã«å¿çããŸãã äžè¬çã«ãããã¯ãã¹ãŠãå©çã§ãã
ãã®ã³ã³ãã¢ã®æé ãèŠãŠãããŸãããã ã€ã³ã¿ãŒããããšã¯äœã§ããïŒ ã€ã³ã¿ãŒããããã«ãŠã³ããç¡éã§ãã äœãã販売ããŠãããµã€ãããªã³ã©ã€ã³ã¹ãã¢ã䞊ã¹æ¿ããªãã·ã§ã³ãå€æŽãããšãå¥ã®ããŒãžã衚瀺ãããŸãã ã€ãŸããããŒãžã®CGIââãã©ã¡ãŒã¿ãŒãèšå®ã§ããã³ã³ãã³ãã¯ãŸã£ããç°ãªããŸãã
éèŠã§ãªãCGIãã©ã¡ãŒã¿ãŒãç Žæ£ãããŸã§ã«ãåºæ¬çã«éèŠãªããŒãžãããã€ç¥ã£ãŠããŸããïŒ ä»-çŽæ°å
ã 1æ¥ã«æ°ååããŒãžçšåºŠã®é床ã§ããŒãžãããŠã³ããŒãããŸãã ãããŠã2幎ã§æéã®æéã§äœæ¥ãå®äºããããšãã§ããããã«æãããŸãã
ã€ã³ã¿ãŒãããã§æ°ããããŒãžãèŠã€ããã«ã¯ã©ãããã°ããã§ããïŒ ããã€ãã®ããŒãžãåã£ãŠããããããªã³ã¯ãåŒãåºããŸããã 圌ãã¯ç§ãã¡ã®ããŠã³ããŒãã®æœåšçãªç ç²è
ã§ãã ãããã2幎以å
ã«ãããã®æ°å
ã®URLããã€ãã¹ããŸãããæ°ããURLã衚瀺ãããããã¥ã¡ã³ãã解æããéçšã§æ°ããããŒãžãžã®ãªã³ã¯ã衚瀺ãããŸãã ããã§ãç§ãã¡ã®äž»ãªã¿ã¹ã¯ãã€ã³ã¿ãŒãããã®ç¡éã«å¯ŸåŠããããšã§ãããããŒã¿ã»ã³ã¿ãŒã®åœ¢ã§ç©¶æ¥µã®ãšã³ãžãã¢ãªã³ã°ãªãœãŒã¹ãæã«æã€ããšã¯ãã§ã«æããã§ãã
ã€ã³ããã¯ã¹ã«ç»é²ãããèšå€§ãªæ°ã®ããã¥ã¡ã³ãããã¹ãŠããŠã³ããŒãããŸããã 次ã«ãããããæ€çŽ¢ã€ã³ããã¯ã¹ã«å
¥ããå¿
èŠããããŸãã ãã¹ãŠãã€ã³ããã¯ã¹ã«å
¥ããã®ã§ã¯ãªããããŠã³ããŒããããã®ã®äžã§æé«ã®ãã®ã ããå
¥ããŸãã
ã€ã³ã¿ãŒãããæ€çŽ¢ãšã³ãžã³ã®çããµãŒã¯ã«ã®æåãªå°é家ã§ããåå¿ãã¢ã·ã¥ããããããŸãã 圌ã¯ãæ€çŽ¢ãšã³ãžã³ã®ããŸããŸãªå質ã®ã°ã©ããäœæããŸãã ããã¯ãæ€çŽ¢ããŒã¹ã®å®å
šæ§ã®ã°ã©ãã§ãã ã©ã®ããã«æ§ç¯ãããŠããŸããïŒ ãªã¯ãšã¹ãã¯ãŸããªåèªããäœæããããã¹ãŠã®æ€çŽ¢ãšã³ãžã³ã«ããããã¥ã¡ã³ããæ€çŽ¢ããŸããããã¯100ïŒ
ã§ãã ãã¹ãŠã®æ€çŽ¢ãšã³ãžã³ã¯å
±æã«ã€ããŠç¥ã£ãŠããŸãã ç§ãã¡ã®äž»ãªç«¶äºçžæã¯ãäžäžãèµ€ãé»ãèµ€ã§ãã
ããã§çåã«æããããããŸããïŒãããã©ã®ããã«éæããã®ã§ããããïŒ å¯èœãªçããããã€ããããŸãã ãªãã·ã§ã³1ïŒãããã®ãã¹ãã䜿çšããŠããŒãžã解æãããã¹ãŠã®URLãåå¿AshmanovãèŠæ±ããããŒãžã«ã€ã³ããã¯ã¹ãä»ãããã¹ãŠã®ãªã¯ãšã¹ããæœåºããŸããã ããããããããŸããã§ããã 2çªç®ã®éžæè¢ïŒç§ãã¡ã«ãšã£ãŠããã·ã¢ã¯äž»èŠåžå Žã§ããã競åä»ç€Ÿã«ãšã£ãŠã¯ãèŠéã®åšèŸºã®ã©ããã«ãããããããªãã®ã§ãã ãã®çãã«ã¯åœã®æš©å©ããããŸãããç§ã奜ãã§ã¯ãããŸããã
ç§ã奜ããªçãã¯ãç§ãã¡ã¯å€ãã®ãšã³ãžãã¢ãªã³ã°äœæ¥ãè¡ãããããã°ããŒã¹ããšåŒã°ãããããžã§ã¯ããè¡ãããã®ããã«å€ãã®éã賌å
¥ããçŸåšãã®çµæãèŠãŠãããšããããšã§ãã 競äºçžæãbeatãããŸããããã¯éã§ã¯ãããŸããã
ããã¥ã¡ã³ããããŠã³ããŒãããŸããã ã©ã®ããã«ããŠæ€çŽ¢ããŒã¹ãæ§ç¯ããŸããïŒ ã³ã³ãã³ãã·ã¹ãã ã®å³ã次ã«ç€ºããŸãã ã€ã³ã¿ãŒããããããã¥ã¡ã³ãã®ã¯ã©ãŠãããããŸãã 圌ãè¿åããè»ããããŸã-ã¯ã¢ãã¯ã¢ã ããã¥ã¡ã³ããããŠã³ããŒãããŸããã ã¯ããã«-ä¿åããã³ããŒã«å
¥ããŸãã ããã¯ãå®éã«ã¯å¥ã®ã»ã³ã¿ãŒéããã·ã¥ããŒãã«ã§ãããåŸã§ãã®ããã¥ã¡ã³ãã®ã€ã³ããã¯ã¹ãäœæããããé
ä¿¡æã«ä¿åãããã³ããŒãšããŠãŠãŒã¶ãŒã衚瀺ãããããå Žåã«èªã¿æžãã§ããŸãã
次ã«ãããã¥ã¡ã³ãã®ã€ã³ããã¯ã¹ãäœæããèšèªãå®çŸ©ããèšèªã®åœ¢æ
ã«å¿ããŠäž»èŠãªåœ¢åŒã«çž®å°ããåèªãåŒãåºããŸããã ãŸããä»ã®ããŒãžãžã®ãªã³ã¯ãåŒãåºããŸããã
ã€ã³ããã¯ã¹ãäœæãããšããããã³äžè¬çã«ã©ã³ãã³ã°ã§åºã䜿çšããå¥ã®ããŒã¿ãœãŒã¹ããããŸã-Yandexãã°ã ãŠãŒã¶ãŒã¯ãªã¯ãšã¹ããèŠæ±ããå€æ°ã®çµæãåãåããäœããã®åœ¢ã§ããã§åäœããŸãã 圌ã«ã¯ããã¥ã¡ã³ãã衚瀺ãããã¯ãªãã¯ãããã¯ãªãã¯ããªããã®ã©ã¡ããã§ãã
ææžãæ€çŽ¢çµæã«è¡šç€ºãããå ŽåããŸãã¯ãŠãŒã¶ãŒããããã¯ãªãã¯ããå Žåãäœããã®çžäºäœçšããã£ãå Žåããã®ãããªææžã¯æ€çŽ¢ããŒã¿ããŒã¹ã«æ®ãããã¹ãã§ãããšä»®å®ããã®ã¯åççã§ãã ããã«ããã®ãããªåªããããã¥ã¡ã³ãããã®ãªã³ã¯ãããåªããããã¥ã¡ã³ããåŸãããããŠã³ããŒãã®åªå
床ãé«ããšæ³å®ããã®ã¯çã«ããªã£ãŠããŸãã ããããã¢ãŒã®èšç»ã§ãã ãã€ãã¹èšç»ããã®ç¢å°ã¯ããã€ãã¹ã«ã€ãªããã¯ãã§ãã
次ã¯ãæ€çŽ¢ã€ã³ããã¯ã¹ãäœæãã段éã§ãã ãããã®è§äžžé·æ¹åœ¢ã¯ã
YTãYandex TableãšåŒã°ããMapReduceã®ç¬èªã®å®è£
ã§ããMapReduceã«ãããŸãã ããã§å°ããã¹ããããŸã-å®éãããŒã¹ã®æ§ç¯ãšã·ã£ãŒãã£ã³ã°ã¯ãã¡ã€ã«ãšåæ§ã«ã€ã³ããã¯ã¹ã§åäœããŸãã å°ãä¿®æ£ããŸãã ãããã®è§äžžé·æ¹åœ¢ã¯MapReduceã«ãããŸãã ããã§ã®ããŒã¿ã®åèšéã¯çŽ50 PBã§ãã ããã§ããããã¯æ€çŽ¢ã€ã³ããã¯ã¹ããã¡ã€ã«ã«å€ãããŸãã
ãã®åè·¯ã«ã¯åé¡ããããŸãã äž»ãªçç±ã¯ãMapReduceãçŽç²ã«æŠéæäœã§ãããšããäºå®ã«ãããã®ã§ãã ããšãã°ãã¯ããŒã«ã®åªå
é äœã®ããã¥ã¡ã³ãã決å®ããããã«ããªã³ã¯ã°ã©ãå
šäœãååŸãããã¹ãŠã®ãŠãŒã¶ãŒã®åäœã§ãããwezhimãããžã£ã³ãã®ãã¥ãŒã圢æããŸãã ãã®ããã»ã¹ã¯éåžžã«æœåšçã§ãæéãããããŸãã ã€ã³ããã¯ã¹ã®æ§ç¯ãšãŸã£ããåãã§ãã åŠç段éããããŸã-ãããã¯ããŒã¹å
šäœã®ãããã§ãã ãããŠãã¬ã€ã¢ãŠãã調æŽãããŸãããã«ã¿ãã¬ã€ã¢ãŠãããããããã ãã§ãã
ãããã®ããªã¥ãŒã ã®éèŠãªã¿ã¹ã¯ã¯ãã€ã³ããã¯ã¹é
ä¿¡æé ãé«éåããããšã§ãã ãã®ã¿ã¹ã¯ã¯ç§ãã¡ã«ãšã£ãŠé£ãããšèšããªããã°ãªããŸããã ç§ãã¡ã¯ãåºå°å»ºèšã®ããããã£ã©ã¯ã¿ãŒãšã®æŠãã«ã€ããŠè©±ããŠããã ããããçš®é¡ã®ãã¥ãŒã¹ããªã¢ã«ã¿ã€ã ã§ããŠã³ããŒããããŠãŒã¶ãŒã«éç¥ããç¹å¥ãªã¯ã€ãã¯ãµãŒãããããããŸãã ãããç§ãã¡ã®ä»äºã§ãã
ãããŠããããã³ã€ã³ã®è£é¢ã§ãã 1ã€ç®ã¯ã³ã³ãã³ãã·ã¹ãã ã2ã€ç®ã¯æ€çŽ¢ã§ãã ç§ããã©ããããæããçç±ãç解ããããšãã§ããŸã-Yandexã®æ€çŽ¢ã¯æ¬åœã«ãã©ãããã®ããã«èŠããã®ã§ããã®ãããªéå±€æ§é ã§ãã äžèšã¯ãã©ã³ãµãŒã§ãããåŒãæž¡ããçæããããã³ãã§ãã ããå°ã-ããŸããŸãªåéããã®çºè¡ãéçŽããã¡ã¿ãµãŒããéçŽããŸãã åŒãæž¡ãã§ããããããŠã§ãææžããããªãåçãèŠããšèšããªããã°ãªããŸããã 3ã€ã®ç°ãªãã€ã³ããã¯ã¹ãããããããã¯ç¬ç«ããŠèª¿æ»ãããŸãã
åæ€çŽ¢ã¯ãšãªã¯ãã®éå±€ãäžã£ãŠè¡ããæ€çŽ¢ããŒã¹ã®åéšåã«è¡ããŸãã æ§ç¯ããã€ã³ããã¯ã¹å
šäœãæ°ååã«åå²ããŸããã æ¡ä»¶ä»ãã§ã2ã3ã5åã æ€çŽ¢ã¯ãã¹ãŠã®ããŒã¹ã«å¯ŸããŠè§£é€ããããã®ã¯ãšãªã¯ã©ãã«ã§ãè¡ããŸããã
Yandexã®æ€çŽ¢ã倧ããªãã®ã§ããããšãããã«ããããŸãã ãªã圌女ã¯å€§ããã®ã§ããïŒ åã®ã¹ã©ã€ãã§èŠãããã«ãããªã代衚çã§åŒ·åãªã€ã³ã¿ãŒãããã®äžéšã§ãããããèšæ¶ãä¿æããŠããããã§ãã è€æ°ã®ããŒã¿ã»ã³ã¿ãŒã«ä¿åããŸããåããŒã¿ã»ã³ã¿ãŒã«ã¯ãã€ã³ããã¯ã¹ã®ã³ããŒã2ã4åä¿åããŸãã ã¯ãšãªã¯åæ€çŽ¢ã«æž¡ããå®éã«ã¯åã€ã³ããã¯ã¹ãæ€çŽ¢ããŸãã çŸåšã䜿çšãããããŒã¿æ§é ã¯ãããããã¹ãŠãRAMã«çŽæ¥ä¿åããããšãäœåãªãããããããªãã®ã§ãã
äœãããå¿
èŠããããŸããïŒ é«äŸ¡ãªRAMã®ä»£ããã«ãå®äŸ¡ãªSSDã䜿çšããŠãæ€çŽ¢ã2åã«é«éåããæ°åãŸãã¯æ°åãã«ã®è³æ¬ã³ã¹ãã®å©çãåŸãŸãã ããããèšãå¿
èŠã¯ãããŸããïŒå±æ©ãYandexã¯ãã¹ãŠãä¿åããŸãã å®éãä¿åãããã®ã¯ãã¹ãŠãæçšãªä»äºã«è²»ãããŸãã ã€ã³ããã¯ã¹ã2åã«ããŸãã ããããæ€çŽ¢ããŸãã ãããŠããã®ãããªè€éãªãšã³ãžãã¢ãå®è¡ãããŠããçç±ã§ãã ããã¯å®éã®ãããžã§ã¯ãã§ãããããªãéããŠé
ãã§ãããæ¬åœã«æ¹åããŠããŸããæ€çŽ¢ãæ¹åãããã®ã§ãã
æ€çŽ¢ã¯ã©ã¹ã¿ãŒã¯ååã«å€§ããã ãã§ãªããéåžžã«è€éã§ãã ããŸããŸãªããã°ã©ã ã®äœçŸäžãã®ã€ã³ã¹ã¿ã³ã¹ãå®éã«ããã§å転ããŠããŸãã æåã«æžããã®ã¯ãæ°åäžäººã§ããããäœæŠã®ä»²éãç§ãä¿®æ£ããŸããã éåžžã«å€ãã®ã³ããŒã®åãã·ã³ã§ã10ã20åãæ£ç¢ºã«å転ããŠããŸãã
æ°åã®ç°ãªãçš®é¡ã®ãµãŒãã¹ãã¯ã©ã¹ã¿å
šäœã«åºãã£ãŠããŸãã æ確ã«ããå¿
èŠããããŸããã¯ã©ã¹ã¿ã¯ããã®ãããªãã·ã³ããã¹ããããã°ã©ã ã§å®è¡ãããŠããããããã¯ãã¹ãŠTCP / IPãä»ããŠéä¿¡ããŸãã ããã°ã©ã ã¯ãCPUãã¡ã¢ãªãããŒããã©ã€ãããããã¯ãŒã¯ã®æ¶è²»éãç°ãªããŸããèŠããã«ãããããã¹ãŠã®ãªãœãŒã¹ã§ãã ããã°ã©ã ã¯ãã¹ãã«ã®ãã¹ãã«ã«äœãã§ããŸãã ããæ£ç¢ºã«ã¯ã1ã€ã®ããã°ã©ã ããã¹ãã«é
眮ãããšãã¯ã©ã¹ã¿ãŒã®äœ¿çšçã¯ãªããªããŸãã ãããã£ãŠãç§ãã¡ã¯ãäºãã«ããã°ã©ã ãæåºããããåŸãŸããã
ãããã©ããããã«ã€ããŠã®æ¬¡ã®ã¹ã©ã€ãã ãããŠãããã§ã¯ããã¹ãŠã®ããã°ã©ã ããŒã¿ããã¬ã³ãã䜿çšãããã¹ãŠã®ãªãªãŒã¹ãããŠã³ããŒããããã¬ã³ããã©ãã«ãŒã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®æ°ãPirate Bayã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®æ°ãè¶
ããŠãããšããå°ããªã³ã¡ã³ãããããŸãã ç§ãã¡ã¯æ¬åœã«å€§ããã§ãã
ãã®ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒèšèšã§äœãããå¿
èŠããããŸããïŒ ä»®æ³åã¡ã«ããºã ãæ¹åããå¿
èŠããããŸãã Linuxã«ãŒãã«ã®éçºã«æ¬åœã«æè³ããŠããŸããDockerã«äŒŒãç¬èªã®ã³ã³ãã管çã·ã¹ãã ããããŸããOlegãããã«ã€ããŠè©³ãã説æããŸãã
ã©ã®ãã¹ããã©ã®ããã°ã©ã ãçžäºã«ãã¹ãããããäºåã«èšç»ããå¿
èŠããããŸããããããé£ããã¿ã¹ã¯ã§ãã ç§ãã¡ã¯åžžã«ã¯ã©ã¹ã¿ãŒã«è¡ããŸãã çŸåšããããã10åã®ãªãªãŒã¹ããªãªãŒã¹ãããŠããŸãã
ããã°ã©ã ãçžäºã«æ£ããå±éããå¿
èŠããããŸããä»®æ³åãæ¹åããå¿
èŠããããŸãããããããšæ€çŽ¢ã¯ã©ã¹ã¿ãŒãšãã2ã€ã®å€§ããªã¯ã©ã¹ã¿ãŒãçµã¿åãããå¿
èŠããããŸãã ç§ãã¡ã¯ã©ããããããéã泚æããèšå€§ãªæ°ã®ãã£ã¹ã¯ãåããå¥ã
ã®ãã·ã³ãšå¥ã
ã«-æ€çŽ¢çšã®èããã¬ãŒãããããšèããŸããã çµ±åãããããŒããŠã§ã¢ã泚æããMapReduceãšæ€çŽ¢ããã°ã©ã ãåç¬ã§å®è¡ããæ¹ãããããšãããããŸããã1ã€ã¯äž»ã«ãã©ã€ããšãããã¯ãŒã¯ã䜿çšãã2ã€ç®ã¯äž»ã«CPUã䜿çšããŸãããCPUã®ãã©ã³ã¹ãåããŠãããããååŸã«èª¿æŽããå¿
èŠããããŸãã ãããã¯ãç§ãã¡ãå®æœããŠãã倧èŠæš¡ãªãšã³ãžãã¢ãªã³ã°ãããžã§ã¯ãã§ãã
ããããäœãåŸãããŸããïŒ è³æ¬ã³ã¹ãã®ç¯çŽã«ãããæ°åäžãã«ã®å©ç¹ã ããªãã¯ãã§ã«ãã®ãéãã©ã®ããã«äœ¿ããç¥ã£ãŠããŸã-ç§ãã¡ã¯ãããæ€çŽ¢ã®æ¹åã«äœ¿ããŸãã
ããã§ããã¶ã€ã³å
šäœã«ã€ããŠèª¬æããŸããã ããã€ãã®å¥åã®æ§æèŠçŽ ã 人ã
ã¯ããã§ãããã®ãããã¯ãçç Žãã圌ãã¯äœããããŸããã
ã©ã³ãã³ã°é¢æ°ãããªãã¯ã¹ã ããªãã·ã³ãã«ãªæ©èœã ããªãã¯èªãããšãã§ããŸã-ãã¯ã¿ãŒã«ã¯ããã¥ã¡ã³ãã®ãã€ããªèšå·ãããããã®ãµã€ã¯ã«ã§ã¯é¢é£æ§ãèšç®ãããŸãã ç§ã¯ããªãã®äžã«SSEã§ããã°ã©ã ã§ããå°é家ããããšç¢ºä¿¡ããŠããŸãããããŠåœŒãã¯ããã10åéãããã§ãããã ãã®ãããããæç¹ã§ãããèµ·ãããŸããã æ°åè¡ã®ã³ãŒãã«ãããã¯ã©ã¹ã¿ãŒã®åèšCPUæ¶è²»éã®10ã15ïŒ
ãç¯çŽãããŸããããããã䜿çšæ¹æ³ãããã£ãŠããæ°åäžãã«ã®è³æ¬ã³ã¹ãã«çžåœããŸãã ããã¯æ°åè¡ã®ã³ãŒãã§ãããéåžžã«é«äŸ¡ã§ãã
å€ããå°ãªãããªããžããªããããããããã«ããæé©åããŸãããããŸã ããã¹ãããšããããŸãã
æ©æ¢°åŠç¿ã®ããã®ãã©ãããã©ãŒã ããããŸãã åã®ã¹ã©ã€ãã®ã€ã³ããã¯ã¹ã貪欲ã«éžæãããã¹ãŠã®å¯èœæ§ããœãŒãããå¿
èŠããããŸãã ããã¯CPUã§é·æéããããŸãã GPUã§-ããã«ããã ããã¬ãŒãã³ã°ããŒã«ã¯ã¡ã¢ãªã«å
¥ããŸããã äœãããå¿
èŠããããŸããïŒ ãŸãã¯ããããã®ã°ã©ã³ãã®å€ããè©°ãŸã£ãŠããã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³ã賌å
¥ãããããã·ã³ããã°ããæ¥ç¶ããããçš®ã®çžäºæ¥ç¶ãã€ã³ãã£ããã³ãã䜿çšããŠããããšäžç·ã«æ®ããããšãåŠã³ãŸãã éåžžã¯ãã°ãå€ããæ©èœããŸããã ããã¯éåžžã«é¢çœããšã³ãžãã¢ãªã³ã°ã®èª²é¡ã§ãããç§ãã¡ãçŽé¢ããŠããŸãã ããã¯ç§ãã¡ã®äž»ãªæŽ»åãšã¯ãŸã£ããé¢ä¿ããªãããã«æããŸãããããã§ããªãããã§ãã
ãŸã æè³ããŠããã®ã¯ãããŒã¿å§çž®ã¢ã«ãŽãªãºã ã§ãã å§çž®ã®äž»ãªã¿ã¹ã¯ã¯æ¬¡ã®ããã«ãªããŸããæŽæ°ã®ã·ãŒã±ã³ã¹ããããäœããã®æ¹æ³ã§å§çž®ããå¿
èŠããããŸãããå§çž®ããã ãã§ãªããiçªç®ã®èŠçŽ ãžã®ã©ã³ãã ã¢ã¯ã»ã¹ãå¿
èŠã§ãã å
žåçãªã¢ã«ãŽãªãºã ã¯ããããå°ããªãããã¯ã«å§çž®ããŠãå
±éã®ããŒã¿ã¹ããªãŒã ã®ããŒã¯ã¢ãããäœæããããšã§ãã ãã®ãããªã¿ã¹ã¯ã¯ãzipãLZãã¡ããªã®ãããªã³ã³ããã¹ãå§çž®ãšã¯ãŸã£ããç°ãªããŸãã å®å
šã«ç°ãªãã¢ã«ãŽãªãºã ããããŸãã ãããã³ãVarlntãPFORXãªã©ã®ãããã¯ã§å§çž®ã§ããŸãã ç¬èªã®ç¬èªã®ã¢ã«ãŽãªãºã ãããããããæ¹åããŠããŸããããããåçŽãªã¢ã«ãŽãªãºã ã§ã®RAMç¯çŽã®10ã15ïŒ
ã§ãã
CPUãLinuxã¹ã±ãžã¥ãŒã©ãŒã®æ¹åãªã©ãããããçš®é¡ã®é¢çœãå°ããªãã®ããããŸãã Intelã®ãã€ããŒã¹ããŒã³ã®åé¡ç¹ã¯äœã§ããïŒ ç©çã³ã¢ã«2ã€ã®ã¹ã¬ãããããããšã 2ã€ã®ã¹ã¬ããã2ã€ã®ã¹ã¬ãããå æãããšãåäœãé
ããªããé
延ãå¢å ããŸãã ç©çããã»ããµã«ã¿ã¹ã¯ãæ£ããåæ£ãããå¿
èŠããããŸãã
ã¹ããã¯ãã©ã³ãã®ããã«æ£ããæããªãå Žåãæ¡ä»¶ä»ãã§ãªã¯ãšã¹ãã®10ã15ïŒ
ã®ã¬ã€ãã³ã·ãåŸãããšãã§ããŸãã ããã¯ãŠãŒã¶ãŒã«è¡šç€ºããããã®ã§ãã ä¿åãããããªç§ã«æ€çŽ¢æ°ãæããŸããããããŠãŒã¶ãŒã®ä¿åæéã§ãã
å®éã«ã¯æ©èœããªãmallocã®ç¬èªã®å®è£
ãªã©ãããã€ãã®éåžžã«å¥åŠãªãã®ããããŸãã ããã¯ã¢ãªãŒãã§åäœããåå Žæã¯åã«ãã®ã¢ãªãŒãå
ã§ãã€ã³ã¿ãåãããŸãã ããŠãã¢ãªãŒãã®refã«ãŠã³ã¿ãŒã¯1ã€äžãããŸãã ã¢ãªãŒãã¯çããŠããŸãããæåŸã®å Žæã¯çããŠããŸãã æ··åè² è·ã®å Žåãçåœãšé·åœã®å Žæãããå Žåãããã¯æ©èœãããã¡ã¢ãªãªãŒã¯ã®ããã«èŠããŸãã ãã ãããµãŒããŒããã°ã©ã ã¯ãã®ããã«é
眮ãããŠããŸããã ãªã¯ãšã¹ããå°çããããã«å
éšæ§é ãå²ãåœãŠãŠãäœããã®åœ¢ã§æ©èœãããŠãŒã¶ãŒã«çããåºããšããã¹ãŠãç Žå£ãããŸãã ãã®ã¢ãã±ãŒã¿ãŒã¯ãã¹ããŒãã¬ã¹ãµãŒããŒããã°ã©ã ã«æé©ã§ãã ãã¹ãŠã®å Žæã¯ããŒã«ã«ã§ãããã¢ãªãŒãå
ã§äžè²«ããŠãããããéåžžã«è¿
éã«æ©èœããŸãã ããŒãžãã©ãŒã«ãããã£ãã·ã¥ãã¹ãªã©ã¯ãããŸãããéåžžã«é«éã§ããããã¯ãäžè¬çãªãµãŒããŒããã°ã©ã ã®é床ã®5ïŒ
ã25ïŒ
ã§ãã
ããã¯ãšã³ãžãã¢ã§ãããä»ã«äœãã§ããŸããïŒ æ©æ¢°åŠç¿ãè¡ãããšãã§ããŸãã
ãµãŒã·ã£ã»ãµãããã㯠ãããã«ã€ããŠæããã£ãŠ
èªããŸãã
次ã«è³ªåãšåçã
ç§ã¯ããã¥ãŒã¹ã¬ã¿ãŒã«æ¥ãŠãç§ã®ãã¬ãŒã³ããŒã·ã§ã³ã«å«ããã¹ãéåžžã«æ°ã«å
¥ã£ã質åã«çããŸãã ã¢ãããªãŒã»ãã©ãã³ãåå¿ã¯å°ããŸããMatrixNetã®å°å
¥åã«åŒãã©ãã»ã©éãæé·ãããã«ã€ããŠæåãªã¹ã©ã€ãããããŸãã å®éãåãšåŸã®äž¡æ¹ã çŸåšãæé·ã®åé¡ã¯ãããŸããïŒ
å®å
šãªæé·ã§çŽé¢ããæé·ã®åé¡ã ã©ã³ãã³ã°åŒã§å埩åæ°ãå¢ãã次ã®é åºã çŸåšããŠãŒã¶ãŒã«å¿çããããã«MatrixNeté¢æ°ã§çŽ20äžåã®å埩ãè¡ã£ãŠããŸãã 次ã®ãšã³ãžãã¢ãªã³ã°ã¹ãããã§ååŸãããŸããã 以åã¯ããŒã¹ã§ã©ã³ã¯ä»ãããŠããŸããã ã€ãŸããåºæ¬çãªãã®ã¯ããããMatrixnetãèµ·åãã100ã®çµæãçæããŸãã ç§ãã¡ã¯èšã£ãïŒå¹³åã§æé«ã®100ã®çµæãçµã¿åãããŠãéåžžã«é£ããåŒã§ããäžåºŠæŽçããŸãããã ã¯ããå¹³åããŠãå¿
èŠãªãªãœãŒã¹ãååå°ãªããããè€æ°ã®ã¹ã¬ããã§MatrixNeté¢æ°ãèšç®ã§ããŸãã ããã¯ãã©ã³ãã³ã°é¢æ°ã®ããªã¥ãŒã ãå¢ãããšãã次ã®é åºãéæã§ãããããžã§ã¯ãã§ãã ä»ã«äœãèµ·ãã-ç§ã¯ç¥ããŸããã
Yandex Search Products Departmentã®è²¬ä»»è
ãAndrey Styskinæ°ïŒ
-æåã®Yandexã©ã³ãã³ã°åŒã¯äœãã€ããå æããŸãããïŒ
ããŒã¿ãŒïŒ
-ããŒã¹ãããããã
ã¢ã³ããªã¥ãŒïŒ
ããããã¯ããããããã©ããã§100æåã§ããã ãããŠãYandexã©ã³ãã³ã°åŒã¯ä»ã©ã®ãããããããŸããïŒ
ããŒã¿ãŒïŒ
-ã©ãã100 MBã
ã¢ã³ããªã¥ãŒïŒ
-é¢é£åŒã ããã¯ããŠã§ããã¹ã¿ãŒãSEOãšãã¹ããŒãåãã§ãã 100MBã©ã³ãã³ã°ããªãšã³ãžãã¢ãªã³ã°ããŠã¿ãŠãã ããã
Alesya BolgovaãIntelïŒ
-mallocã«é¢ããæåŸã®ã¹ã©ã€ãã«ãããšãã¡ã¢ãªã®å²ãåœãŠæ¹æ³ã«ã€ããŠèª¬æããŠããã ããŸããïŒ ãšãŠãèå³æ·±ãã
ããŒã¿ãŒïŒ
-éåžžã®ããŒãžïŒ4 KBïŒãéå§ãããæåã«å転ã«ãŠã³ã¿ãŒããããåå²ãåœãŠããããŸã...å°ããå²ãåœãŠãããŒãžæªæºã®å Žåããã®ããŒãžã«ç§»åããŸãã ãã¡ãããåã¹ã¬ããã«ã¯ããã®ããŒãžã«ç¬èªã®ããŒãžããããŸãã ããŒãžãéãããããšã-ããã ãã§ãã圌ãã¯ãããå¿ããŠããŸããã 圌女ãæã£ãŠããå¯äžã®ãã®ã¯ãæåã®å転ã«ãŠã³ã¿ãŒã§ãã
ã¢ã¬ã·ã¢ïŒ
-ã§ã¯ãããŒãžã匷調衚瀺ããŸããïŒ
ããŒã¿ãŒïŒ
-å²ãåœãŠã®ããããŒãžå
ã§ã¯ããã®ããã«æé·ããŸãã å¯äžã®ããšã¯ãããŒãžå
ã®æåŸã®å²ãåœãŠãåç¶ããéãããŒãžãåç¶ããããšã§ãã éåžžã®ã¯ãŒã¯ããŒãã®å Žåã¯ãªãŒã¯ã®ããã«èŠããŸãããç§ãã¡ã®å Žåã¯éåžžã®ãžã§ãã®ããã«èŠããŸãã
-ããŒãžã®å質ãã©ã®ããã«å€æããŸãããã€ã³ããã¯ã¹ã«å
¥ãã䟡å€ããããŸããïŒ æ©æ¢°åŠç¿ãïŒ
ããŒã¿ãŒïŒ
ãã¯ãããã¡ãããã ããŒãžã«ã¯ããã®ãµã€ãºããæ€çŽ¢ã®ã€ã³ãã¬ãã·ã§ã³ãŸã§ãå€ãã®èŠå ããããŸã...
ã¢ã³ããªã¥ãŒïŒ
-ããããã®ã©ã³ã¯ãžã ããã€ãã®ãã¹ããããã€ãã®ãã¹ããµããã£ã¬ã¯ããªã«ããããããžã®ããã€ãã®çä¿¡ãªã³ã¯ããããŸãã ãããåç
§ãã人ã¯ããçšåºŠã®å質ãæã£ãŠããŸãã ãã®ãã¹ãŠãååŸããã©ã®ç¢ºçã§äºæž¬ããããšããŸãããã®ããŒãžãããŠã³ããŒããããå Žåãåé¡ã®äœããã®ãªã¯ãšã¹ãã«å¿ããæ
å ±ãå«ãŸããŸãã , â , - , . . .
â âŠ
:
â .
â , ?
:
â , Mail.Ru.
:
â â . , . , , , , , âŠ
:
â , . , . , â -. 30 , . .
:
â .
:
â , , .
:
-ããã£ãã â ? , ?
:
â , , . , , â .
:
â . , .
:
â , â , . , .
:
â , . : , , Lenta.ru. Lenta.ru, . . , .
:
â , 3-4 .
:
â , , real time.
:
â ?
:
â -, , .
:
â .
:
â . â , . â , , , - . .
:
â , , , ? , , ? : «Google». , . , -, - âŠ
:
â , .
:
â , . , , . , , , . â , , , - , . «Google», Google - , , . .
:
â , . , .
:
â , , , : , - . , , , .
:
â : . , , .
:
â , «», , â , , , , .
:
â , .
:
â , , , . , . , - ?
:
â . : - , , , . « », , .
:
â â . , CPU- . Xeon Phi Intel? , GPU.
:
â , , . , - 1,5%. , , , ++-, .
â , , . , - ?
:
â .
, , . , , , . , .
:
â . , , - , . , , , , , â . -, .
:
â , .
():
â , . deep learning ? -, ?
:
â Deep learning , . . , .
:
â , 0,5% , deep learning . - , , .
:
â , , -100 . . .
:
â deep learning , , , â .
:
â . , , , . , 10 , , ? , , 10 ?
:
â , - . .
:
â . , . , , , , , , , .
:
â 10 â , , .
():
â , , ?
:
â â 50 , , . , . , .
:
â ?
:
â â torrent, torrent share. .
:
â - ?
:
â , . , , .
:
â F5 â , âŠ
:
â , , .
:
â - ?
:
â , , .
:
â .
:
â . , , , , , - . , , .
:
â . , , , . - â , - , â . DDoS .
, Sphinx Search:
â . â ? SSD , - , SSD?
â , 50-100 , . , . , . , . , .
:
â bandwidth latency?
:
â . , .
:
â , : -âŠ
:
â , - â .
:
â ?
:
-ã¯ããã¯ãã
:
â : ?
:
â .
:
â .
:
â , . .
:
â - ?
:
â , , - .
:
â , âŠ
:
â .
:
â ?
:
â - .
:
â , , .
:
â . , .
:
â ?
:
â .
:
â , .
:
â . . , ?
:
â , . ⊠-, 250 , 95- . , - 700 .
:
â , JavaScript, 250 , 700.
:
â , , . .
:
â . , . ?
:
â , , , . .
:
â , , . , , , , , .
:
â , . , .
:
â , , ?
:
â . , , .
:
â real time, - . up . , .
:
â , .
:
â , , real time?
:
â , . , .
:
â , - , ?
:
â , . , .
:
â ?
:
â . , . , , . .
:
â ? , , ?
:
-ãã£ãã·ã¥ã¯ãããŸãããã±ãŒã¹ã®50ïŒ
ã§æ©èœããŸãããŠãŒã¶ãŒèŠæ±ã®40ã50ïŒ
ã¯äžæã§ãããäºåºŠãšå°ããããããšã¯ãããŸãããäžè¬çã«ãYandexã®ç涯ãéããŠå€ãã®çã«ãŠããŒã¯ãªãŠãŒã¶ãŒãªã¯ãšã¹ãã50ã60ïŒ
ããã£ãã·ã¥ããŸãããã£ãã·ã³ã°çšã®ã·ã¹ãã ããããŸãã