ÕªÒª£ºGoogleµÄBorgϵͳÊÇÒ»¸öÔËÐÐ×ųÉǧÉÏÍòÏî×÷ÒµµÄ¼¯Èº¹ÜÀíÆ÷£¬Ëüͬʱ¹ÜÀíןܶà¸öÓ¦Óü¯Èº£¬Ã¿¸ö¼¯Èº¶¼ÓгÉǧÉÏÍǫ̀»úÆ÷£¬ÕâЩ¼¯ÈºÖ®ÉÏÔËÐÐ×ÅGoogleµÄºÜ¶à²»Í¬µÄÓ¦Óá£Borgͨ¹ý×¼Èë¿ØÖÆ£¬¸ßЧµÄÈÎÎñ´ò°ü£¬³¬¶îµÄ×ÊÔ´·ÖÅäºÍ½ø³Ì¼¶¸ôÀëµÄ»úÆ÷¹²Ïí£¬À´ÊµÏÖ³¬¸ßµÄ×ÊÔ´ÀûÓÃÂÊ¡£Ëüͨ¹ý×îС»¯¹ÊÕϻָ´Ê±¼äµÄÔËÐÐÊ±ÌØÐԺͼõÉÙÏà¹ØÔËÐÐʱ¹ÊÕϵĵ÷¶È²ßÂÔÀ´Ö§³Ö¸ß¿ÉÓõÄÓ¦ÓóÌÐòBorgͨ¹ýÌṩһ¸ö×÷ÒµÉùÃ÷µÄ±ê×¼ÓïÑÔ£¬ÃüÃû·þÎñµÄ¼¯³É»úÖÆ£¬ÊµÊ±µÄ×÷Òµ¼à¿Ø£¬ÒÔ¼°Ò»Ì×·ÖÎöºÍÄ£ÄâϵͳÐÐΪµÄ¹¤¾ßÀ´¼ò»¯Óû§µÄʹÓá£
ÎÒÃǽ«Í¨¹ý´ËÂÛÎĶÔBorgϵͳµÄ¼Ü¹¹ºÍÖ÷ÒªÌØÐÔ½øÐÐ×ܽᣬ°üÀ¨ÖØÒªµÄÉè¼Æ¾ö¶¨£¬Ò»Ð©µ÷¶È¹ÜÀí²ßÂԵ͍Á¿·ÖÎö£¬ÒÔ¼°¶ÔÊ®ÄêµÄʹÓþÑéÖм³È¡µÄ½ÌѵµÄ¶¨ÐÔ·ÖÎö¡£
1.¼ò½é

ͼ1 BorgµÄ¸ß¼¶¼Ü¹¹¡£½öÏÔʾÁ˳ÉǧÉÏÍò¹¤×÷½ÚµãÖеÄһС²¿·Ö¡£
Õâ¸öÔÚÎÒÃÇÄÚ²¿³ÆÎªBorgµÄ¼¯Èº¹ÜÀíϵͳ£¬Ëü¸ºÔðȨÏÞ¿ØÖÆ¡¢µ÷¶È¡¢Æô¶¯¡¢ÖØÐÂÆô¶¯ºÍ¼àÊÓÈ«²¿µÄGoogleÖÐÔËÐеÄÓ¦ÓóÌÐò¡£±¾ÎĽ«½âÊÍËüÊÇÈçºÎ×öµ½µÄ¡£
×ܵÄÀ´Ëµ£¬BrogÖ÷ÒªÌṩÁËÈý¸öÖ÷ÒªµÄºÃ´¦£º£¨1£©Òþ²Ø×ÊÔ´¹ÜÀíºÍ¹ÊÕÏ´¦ÀíµÄϸ½Ú£¬Òò´ËÆäÓû§¿ÉÒÔרעÓÚÓ¦ÓóÌÐò¿ª·¢;
£¨2£©Ìṩ¸ß¿É¿¿ÐԺ͸߿ÉÓÃÐÔ²Ù×÷£¬Ö§³ÖµÄÓ¦ÓÃÒ²ÊÇÈç´Ë; £¨3£©Ê¹ÎÒÃÇÄܹ»ÓÐЧµØÔÚÊýÍǫ̀»úÆ÷ÉÏÔËÐй¤×÷¸ºÔØ¡£
Borg²»Êǽâ¾öÕâЩÎÊÌâµÄµÚÒ»¸öϵͳ£¬µ«ËüÊÇÔÚÄܹ»±£Ö¤×î´óµ¯ÐÔºÍÍêÕûÐÔÇé¿öÏ£¬ÒÔ´ó¹æÄ£ÔËÐеÄÉÙÊý¼¸¸öϵͳ֮һ¡£
±¾ÎĽ«Ö÷ÒªÎ§ÈÆÕâЩÖ÷Ìâ½øÐÐ×éÖ¯£¬²¢´ÓBorgͶÈëÉú²ú£¬ÕâÊ®¶àÄêÀ´µÄʹÓþÑé×÷Ϊ×Ü½á ¡£
2.Óû§ÊÓͼ
BorgµÄÓû§ÊÇÔËÐÐGoogleÓ¦ÓúͷþÎñµÄGoogle¿ª·¢ÈËÔ±ºÍϵͳ¹ÜÀíÔ±£¨ÍøÕ¾¿É¿¿ÐÔ¹¤³Ìʦ»òSRE£©¡£
Óû§ÒÔ×÷ÒµµÄÐÎʽ½«ËûÃǵŤ×÷Ìá½»¸øBorg£¬Ã¿¸ö×÷Òµ°üÀ¨Ò»¸ö»ò¶à¸öÈÎÎñ£¬ËüÃǶ¼ÔËÐÐÏàͬµÄ³ÌÐò£¨¶þ½øÖÆ£©¡£
ÿ¸ö×÷ÒµÔÚÒ»¸öBorgµ¥ÔªÖÐÔËÐУ¬Ò»×é»úÆ÷×é֯Ϊһ¸öµ¥Ôª¡£ ±¾½ÚµÄÊ£Óಿ·ÖÃèÊöÁËBorgÓû§ÊÓͼÖÐÕ¹ÏÖµÄÖ÷Òª¹¦ÄÜ¡£
2.1 ¹¤×÷¸ºÔØ
BorgµÄËùÓе¥Ôª¶¼Í¬Ê±ÔËÐÐ×ÅÁ½ÖÖÀàÐ͵ÄÒìÖʹ¤×÷¸ºÔØ¡£µÚÒ»¸öÊÇ¡°ÓÀÔ¶ÔËÐÐÏÂÈ¥¡±µÄ³¤·þÎñ£¬ËûÃǶÔÑÓ³ÙºÍÐÔÄܲ¨¶¯Ãô¸Ð£¬
´ËÀà·þÎñÓÃÓÚÃæÏòÖÕ¶ËÓû§µÄ²úÆ·£¬ÀýÈçGmail£¬GoogleÎĵµ£¬webËÑË÷ºÍÄÚ²¿»ù´¡ÉèÊ©·þÎñ£¨ÀýÈ磬BigTable£©¡£
µÚ¶þ¸öÊÇÅú´¦Àí×÷Òµ£¬ÐèÒª»¨·Ñ´Ó¼¸Ãëµ½¼¸ÌìÍê³É£¬ÕâЩÈÎÎñ¶Ô¶ÌÆÚÐÔÄܲ¨¶¯µÄÃô¸ÐÐÔҪСµÃ¶à¡£ ÕâЩ¹¤×÷¸ºÔØ»ìºÏÔËÐÐÔÚBorgµÄ¸÷¸öÔËÐе¥ÔªÖУ¬Æä¸ù¾ÝÆäÖ÷Òª×â»§£¨ÀýÈ磬һЩµ¥ÔªÊÇרÃÅÓÃÀ´ÔËÐÐÅúÁ¿Ãܼ¯ÈÎÎñµÄ£©ÔËÐв»Í¬µÄ»ìºÏÓ¦Ó㬲¢ÇÒÒ²ËæÊ±¼ä±ä»¯£ºÅú´¦Àí×÷ÒµÍê³ÉºÍÖØÐÂÔËÐУ¬Ðí¶àÃæÏòÖÕ¶ËÓû§µÄ·þÎñ×÷Òµ¿´µ½ÈÕ³£Ê¹ÓÃģʽ¡£
BorgͬÑùÐèÒª´¦ÀíºÃËùÓÐÕâЩÇé¿ö¡£
BorgµÄ´ú±íÐÔ¹¤×÷¸ºÔØÇé¿ö¿ÉÒÔ´Ó2011Äê5ÔµÄÒ»¸ö¹«¿ªµÄÔ·ݸú×ÙÖÐÕÒµ½[80]£¬ÒѾ½øÐÐÁ˹㷺·ÖÎö£¨ÀýÈç[68]ºÍ[1,26,27,57]£©¡£
ÔÚ¹ýÈ¥¼¸ÄêÖУ¬Ðí¶àÓ¦ÓóÌÐò¿ò¼ÜÒѾ½¨Á¢ÔÚBorgÖ®ÉÏ£¬°üÀ¨ÎÒÃÇÄÚ²¿µÄMapReduceϵͳ[23]£¬FlumeJava
[18]£¬Millwheel [3]ºÍPregel [59]¡£ ´ó¶àÊý¶¼ÓÐÒ»¸ö¿ØÖÆÆ÷Ìá½»Ò»¸öÖ÷×÷ÒµºÍÒ»¸ö»ò¶à¸ö¹¤×÷×÷Òµ;
ǰÁ½Õß¶ÔYARNµÄÓ¦ÓóÌÐò¹ÜÀíÆ÷[76]ÆðÀàËÆµÄ×÷ÓᣠÎÒÃǵķֲ¼Ê½´æ´¢ÏµÍ³ÈçGFS [34]¼°Æäºó¼ÌCFS£¬Bigtable
[19]ºÍMegastore [8]¶¼ÔËÐÐÔÚBorgÉÏ¡£
¶ÔÓÚ±¾ÎÄ£¬ÎÒÃǽ«ÓÅÏȼ¶½Ï¸ßµÄBorg×÷Òµ·ÖΪ¡°Éú²ú¡±£¨prod£©×÷Òµ£¬ÆäÓà×÷Ϊ¡°·ÇÉú²ú¡±£¨non-prod£©×÷Òµ¡£
´ó¶àÊý³¤ÆÚÔËÐеķþÎñÆ÷×÷ÒµÊÇprod;´ó¶àÊýÅú´¦Àí×÷ÒµÊÇ·ÇprodµÄ¡£ÔÚ´ú±íÐÔµ¥ÔªÖУ¬·ÖÅ䏸prod×÷Òµ´óÔ¼×ÜCPU×ÊÔ´µÄ70£¥£¬´óÔ¼Õ¼×ÜCPUʹÓÃÁ¿µÄ60£¥;
·ÖÅ䏸ËüÃÇÔ¼×ÜÄÚ´æµÄ55£¥£¬Ô¼Õ¼×ÜÄÚ´æÊ¹ÓõÄ85£¥¡£ÔÚ¡ì5.5½Ú£¬½«¿´µ½·ÖÅäºÍʹÓÃÖ®¼äµÄ²îÒ콫ÊǺÜÖØÒªµÄ¡£
2.2 ¼¯ÈººÍµ¥Ôª
µ¥ÔªÖеĻúÆ÷ÊôÓÚµ¥¸ö¼¯Èº£¬ÓÉÁ¬½ÓËüÃǵĸßÐÔÄÜÊý¾ÝÖÐÐĹæÄ£µÄÍøÂç¼Ü¹¹¶¨Òå¡£
Ò»¸ö¼¯ÈºÎ»ÓÚµ¥¸öÊý¾ÝÖÐÐÄ´óÂ¥ÄÚ£¬´óÏü¯ºÏ¹¹³ÉÒ»¸öÕ¾µã¡£Ò»¸ö¼¯ÈºÍ¨³£³ÐÔØÒ»¸ö´óÐ͵¥Ôª£¬¿ÉÄÜÓÐһЩ½ÏС¹æÄ£µÄ²âÊÔ»òÌØÊâÓÃ;µ¥Ôª¡£
ÎÒÃÇŬÁ¦±ÜÃâÈκε¥µã¹ÊÕÏ¡£
ÖÐÑëµ¥Ôª´óСÊÇÅųý²âÊÔµ¥ÔªºóÔ¼10k»úÆ÷; ÓÐЩ»á¸ü´ó¡£Ò»¸öµ¥ÔªÖеĻúÆ÷ÔÚÐí¶àά¶ÈÉÏÊÇÒì¹¹µÄ£º´óС£¨CPU£¬RAM£¬´ÅÅÌ£¬ÍøÂ磩£¬´¦ÀíÆ÷ÀàÐÍ£¬ÐÔÄܺ͹¦ÄÜ£¨±ÈÈçÍⲿIPµØÖ·»òÉÁ´æ´æ´¢Æ÷£©¡£Borgͨ¹ýÈ·¶¨µ¥ÔªÖеÄÔËÐÐÈÎÎñ£¬ÎªÈÎÎñ·ÖÅä×ÊÔ´£¬°²×°³ÌÐòºÍÆäËûµÄÒÀÀµ£¬¼à¿ØÈÎÎñ״̬²¢ÔÚʧ°ÜÊ±ÖØÆô£¬½«Óû§´Ó´ó¶àÊý²îÒìÖиôÀë³öÀ´¡£
2.3 ×÷ÒµºÍÈÎÎñ
Borg×÷ÒµµÄÊôÐÔ°üÀ¨Ãû³Æ£¬ËùÓÐÕß¼°ÆäÓµÓеÄÈÎÎñÊýÁ¿¡£×÷Òµ¿ÉÄܾßÓÐÏÞÖÆ£¬Ê¹ÆäÈÎÎñÔÚ¾ßÓÐÌØ¶¨ÊôÐÔ£¨ÀýÈç´¦ÀíÆ÷Ìåϵ½á¹¹£¬²Ù×÷ϵͳ°æ±¾»òÍⲿIPµØÖ·£©µÄ¼ÆËã»úÉÏÔËÐС£ÏÞÖÆ¿ÉÒÔÊÇÓ²µÄ»òÈíµÄ;
ÈíÏÞÖÆ¾ÍÏñÊÇÆ«ºÃ¶ø²»ÊÇÒªÇó¡£×÷ÒµµÄ¿ªÊ¼Äܱ»ÍƳٵ½Ö±µ½Ç°Ò»¸ö×÷ÒµÍê³É¡£ Ò»¸ö×÷Òµ½öÔÚÒ»¸öµ¥ÔªÖÐÔËÐС£
ÿ¸öÈÎÎñÓ³Éäµ½ÔÚ»úÆ÷ÉϵÄÈÝÆ÷ÖÐÔËÐеÄÒ»×éLinux½ø³Ì[62]¡£ ´ó¶àÊýBorg¹¤×÷¸ºÔز»ÔÚÐéÄâ»ú£¨VM£©ÄÚÔËÐУ¬ÒòΪÎÒÃDz»ÏëÖ§¸¶ÐéÄ⻯µÄ³É±¾¡£´ËÍ⣬¸ÃϵͳÊÇÔÚÎÒÃǶÔûÓÐÓ²¼þµÄÐéÄ⻯֧³ÖµÄ´¦ÀíÆ÷½øÐдóÁ¿Í¶×ʵÄʱºòÉè¼ÆµÄ¡£
ÈÎÎñÒ²¾ßÓÐÊôÐÔ£¬ÀýÈç×ÊÔ´ÐèÇóºÍÈÎÎñÔÚ×÷ÒµÖеÄË÷Òý¡£ ´ó¶àÊýÈÎÎñÊôÐÔ¶Ô×÷ÒµÖеÄËùÓÐÈÎÎñÊÇÏàͬµÄ£¬µ«ÊÇ¿ÉÒÔ±»ÖØÐ´
- ÀýÈ磬ÒÔÌṩָ¶¨ÈÎÎñµÄÃüÁîÐбêÖ¾¡£Ã¿¸ö×ÊԴά¶È£¨CPUºË£¬RAM£¬´ÅÅ̿ռ䣬´ÅÅÌ·ÃÎÊËÙÂÊ£¬TCP¶Ë¿Ú£¬µÈ£©ÒÔϸÁ£¶È¶ÀÁ¢Ö¸¶¨;
ÎÒÃDz»Ç¿¼Ó¹Ì¶¨´óСµÄͰ»ò²Û£¨¡ì5.4£©¡£¾²Ì¬Á´½ÓBorg³ÌÐòÒÔ¼õÉÙ¶ÔÆäÔËÐÐʱ»·¾³µÄÒÀÀµ£¬²¢ÇÒBrog³ÌÐò±»´ò°üΪ¶þ½øÖÆÎļþºÍÊý¾ÝÎļþ£¬ÓÉBorg¸ºÔð°²×°¡£
Óû§Í¨¹ýÏòBorg·¢³öÔ¶³Ì¹ý³Ìµ÷Óã¨RPC£©À´²Ù×÷×÷Òµ£¬×î³£¼ûµÄÊÇͨ¹ýÃüÁîÐй¤¾ß£¬ÆäËûBorg×÷Òµ»ò¼àÊÓϵͳ£¨¡ì2.6£©¡£´ó¶àÊý×÷ÒµÃèÊö¶¼ÊÇÓÃÉùÃ÷ÐÔÅäÖÃÓïÑÔBCL±àдµÄ¡£BCLÊÇGCLµÄÒ»¸ö±äÌå[12]£¬ËüÉú³ÉprotobufÎļþ[67]£¬²¢À©Õ¹ÁËһЩBorgÌØ¶¨µÄ¹Ø¼ü×Ö¡£GCLÌṩlambdaº¯ÊýÒÔÔÊÐí¼ÆË㣬ӦÓóÌÐò¿ÉÒÔʹÓÃËüÃÇÀ´µ÷Õû»·¾³ÅäÖÃ;
³ÉǧÉÏÍòµÄBCLÎļþ³¬¹ý1kÐг¤£¬ÎÒÃÇÒѾ»ýÀÛÁËÊýǧÍòÐеÄBCL¡£Borg×÷ÒµÅäÖÃÓëAuroraÅäÖÃÎļþÏàËÆ[6]¡£
ͼ2˵Ã÷ÁË×÷ÒµºÍÈÎÎñÔÚÆäÉúÃüÖÜÆÚÖоÀúµÄ״̬¡£

ͼ2£º×÷ÒµºÍÈÎÎñµÄ״̬ͼ¡£ Óû§¿ÉÒÔ´¥·¢Ìá½»£¬ÖÕÖ¹ºÍ¸üÐÂת»»¡£
Óû§¿ÉÒÔͨ¹ýÍÆËÍеÄ×÷ÒµÅäÖõ½Borg£¬ÔÙָʾBorg½«ÈÎÎñ¸üе½ÐÂÅäÖã¬À´¸ü¸ÄÕýÔÚÔËÐеÄ×÷ÒµÖеÄijЩÈÎÎñ»òËùÓÐÈÎÎñµÄÊôÐÔ¡£
ÕâÊÇÒ»¸öÇáÁ¿¼¶µÄ·ÇÔ×ÓÊÂÎñ£¬¿ÉÒÔºÜÈÝÒ׵ر»³·Ïú£¬Ö±µ½Ëü±»¹Ø±Õ£¨Ìá½»£©¡£ ¸üÐÂͨ³£ÒÔ¹ö¶¯·½Ê½Íê³É£¬²¢ÇÒ¿ÉÒÔ¶Ô¸üе¼ÖµÄÈÎÎñÖжϣ¨ÖØÐ¼ƻ®»òÇÀÕ¼£©µÄÊýÁ¿¼ÓÒÔÏÞÖÆ;
Ìø¹ý»áµ¼Ö¸ü¶àÖжϵÄÈκθü¸Ä¡£
ijЩÈÎÎñ¸üУ¨ÀýÈç£¬ÍÆËÍеĶþ½øÖÆ£©×ÜÊÇÐèÒªÖØÆôÈÎÎñ; ijЩ¸üУ¨ÀýÈ磬Ôö¼ÓµÄ×ÊÔ´ÐèÇóÔö¼Ó»òÔ¼Êø¸Ä±ä£©¿ÉÄÜʹµÃÈÎÎñ²»ÔÙÊʺÏÓÚÕą̂»úÆ÷£¬½«µ¼ÖÂÈÎÎñÍ£Ö¹²¢ÖØÐµ÷¶È;
¶øÄ³Ð©¸üУ¨ÀýÈ磬¸Ä±äÓÅÏȼ¶£©È´¿ÉÔÚ²»ÖØÐÂÆô¶¯»òÒÆ¶¯ÈÎÎñµÄÇé¿öϽøÐС£
ÈÎÎñ¿ÉÒÔÒªÇóÔÚ±»SIGKILLÇÀռ֮ǰͨ¹ýUnix SIGTERMÐźŻñȡ֪ͨ£¬ÕâÑùÈÎÎñ¾ÍÓÐʱ¼ä½øÐÐÇåÀí£¬±£´æ×´Ì¬£¬Íê³Éµ±Ç°ÕýÔÚÖ´ÐеÄÇëÇ󲢾ܾøÐµÄÇëÇó¡£
Èç¹ûÇÀÕ¼ÕßÉèÖÃÑÓ³Ù½çÏÞ£¬Ôòʵ¼Ê֪ͨ¿ÉÄܸüÉÙ¡£ ÔÚʵ¼ùÖУ¬Í¨Öª´«µÝÔ¼80£¥µÄʱ¼ä¡£
2.4 ·ÖÅä
Borg alloc£¨·ÖÅäµÄ¼ò³Æ£©ÊÇ¿ÉÒÔÔËÐÐÒ»¸ö»ò¶à¸öÈÎÎñµÄ»úÆ÷ÉϵÄÒ»×é±£Áô×ÊÔ´;ÎÞÂÛ×ÊÔ´ÊÇ·ñ±»Ê¹ÓÃÈÔÈ»±»·ÖÅä¡£Alloc¿ÉÒÔÓÃÓÚΪ½«À´µÄÈÎÎñÉèÖÃ×ÊÔ´£¬ÔÚÍ£Ö¹ºÍÖØÆôÈÎÎñÖ®¼ä±£Áô×ÊÔ´£¬ÒÔ¼°½«²»Í¬×÷ÒµÖеÄÈÎÎñÊÕ¼¯µ½Í¬Ò»Ì¨»úÆ÷ÉÏ
- ÀýÈ磬Web·þÎñʵÀýºÍÏà¹ØµÄÈÕÖ¾±£´æÈÎÎñ£¬ Õâ¸öÈÎÎñ½«·þÎñµÄURLÈÕÖ¾´Ó±¾µØ´ÅÅ̸´ÖƵ½·Ö²¼Ê½Îļþϵͳ¡£
allocµÄ×ÊÔ´ÒÔÀàËÆÓÚ»úÆ÷×ÊÔ´µÄ·½Ê½´¦Àí; ¶à¸öÈÎÎñÔËÐÐÔÚÒ»¸öallocÖУ¬¹²ÏíÆä×ÊÔ´¡£Èç¹ûÒ»¸öalloc±ØÐëÖØ¶¨Î»µ½Áíһ̨»úÆ÷£¬ËüµÄÈÎÎñ½«±»ÖØÐµ÷¶È¡£
Ò»¸öalloc¼¯ºÏ¾ÍÏñÒ»¸ö×÷Òµ£ºËüÊÇÒ»×éÔÚ¶à¸ö»úÆ÷ÉÏÔ¤Áô×ÊÔ´µÄalloc¡£ Ò»µ©´´½¨ÁËÒ»¸öalloc¼¯£¬¿ÉÒÔÌá½»Ò»¸ö»ò¶à¸ö×÷ÒµÔÚÆäÖÐÔËÐС£
¼òµ¥ÆÚ¼ä£¬ÎÒÃÇÒ»°ã»áʹÓá°task¡±À´ÒýÓÃalloc»ò¶¥²ãÈÎÎñ£¨ÔÚallocÖ®ÍâµÄ£©ºÍ¡°job¡±À´ÒýÓÃÒ»¸ö×÷Òµ»òalloc¼¯¡£
2.5 ÓÅÏȼ¶£¬Åä¶îºÍ½ÓÄÉ¿ØÖÆ
µ±¸ü¶àµÄ¹¤×÷³öÏÖ¶ø³¬¹ý¿ÉÈÝÄɵÄÏÞ¶Èʱ»á·¢Éúʲô£¿ÎÒÃǵĽâ¾ö·½°¸ÊÇÓÅÏȼ¶ºÍÅä¶î¡£
ÿ¸ö×÷Òµ¶¼ÓÐÒ»¸öÓÅÏȼ¶£¬ËüÊÇÒ»¸öСµÄÕýÕûÊý¡£¸ßÓÅÏȼ¶ÈÎÎñ¿ÉÒÔÒÔÎþÉüµÍÓÅÏȼ¶ÈÎÎñΪ´ú¼Û¶ø»ñµÃ×ÊÔ´£¬¼´Ê¹Õâµ¼ÖÂÇÀÕ¼£¨É±ËÀ£©ºóÕß¡£Borg½«²»Í¬ÖÖÀàµÄ×÷Òµ·ÖΪ²»Í¬µÄÁìÓò£¬²¢¸øÃ¿¸öÁìÓò¶¨ÒåÁ˲»ÖصþµÄÓÅÏÈÈ¨ÖØ£¬ÕâЩ×÷Òµ×é°üÀ¨£º¼àÊÓ×÷Òµ£¬Éú²ú×÷Òµ£¬Åú´¦Àí×÷ÒµºÍ¾¡Á¦¶øÎªµÄ×÷Òµ£¨ÒÑÖªµÄ°üÀ¨²âÊÔ³ÌÐò£©£¬ËûÃǵÄÓÅÏȼ¶ÒÀ´ÎµÝ¼õ¡£¶ÔÓÚ±¾ÎÄ£¬prod×÷ÒµÊǼà²âºÍÉú²úÁìÓòµÄ¹¤×÷¡£
ËäÈ»±»ÇÀÕ¼µÄÈÎÎñͨ³£½«±»ÖØÐ°²ÅÅÔÚµ¥ÔªÖÐµÄÆäËûµØ·½£¬ÇÀÕ¼¼¶Áª¿ÉÄÜ·¢Éú£¬Èç¹û¸ßÓÅÏȼ¶µÄÈÎÎñÅöµ½Ò»¸öÂÔµÍÓÅÏȼ¶µÄÈÎÎñ£¬¶øÕâ¸öÂÔµÍÓÅÏȼ¶ÈÎÎñÓÖÒý·¢ÁíÒ»¸öÂÔµÍÓÅÏȼ¶µÄÈÎÎñ£¬µÈµÈ¡£ÎªÁËÏû³ý´ó²¿·ÖÕâÖÖÇé¿ö£¬ÎÒÃDz»ÔÊÐíÉú²úÁìÓòÖеÄÈÎÎñÏ໥ÇÀÕ¼¡£
ϸÁ£¶ÈÓÅÏȼ¶ÔÚÆäËûÇé¿öÏÂÈÔÈ»ÓÐÓà - ÀýÈ磬MapReduceÖ÷ÈÎÎñÒÔ±ÈËûÃÇ¿ØÖƵÄworkers¸ü¸ßµÄÓÅÏȼ¶ÔËÐУ¬À´Ìá¸ßÆä¿É¿¿ÐÔ¡£
ÓÅÏȼ¶±íʾµ¥ÔªÖÐÕýÔÚÔËÐлòÕýµÈ´ýÔËÐеÄ×÷ÒµµÄÏà¶ÔÖØÒªÐÔ¡£ Åä¶îÓÃÓÚ¾ö¶¨ÔÊÐí½øÐе÷¶ÈµÄ×÷Òµ¡£ Åä¶î±íʾΪÔÚ¸ø¶¨ÓÅÏȼ¶ÉϵÄÒ»¶Îʱ¼ä£¨Í¨³£Îª¼¸¸öÔ£©ÄÚµÄ×ÊÔ´Á¿£¨CPU£¬RAM£¬´ÅÅ̵ȣ©µÄÏòÁ¿¡£
ÊýÁ¿Ö¸¶¨Óû§µÄ×÷ÒµÇëÇó¿ÉÒÔÒ»´ÎÇëÇóµÄ×ÊÔ´µÄ×î´óÁ¿£¨ÀýÈ磬¡°´ÓÏÖÔÚÖ±µ½7Ôµ×ÔÚµ¥ÔªxxÖеÄprodÓÅÏȼ¶µÄ20TiBRAM¡°£©¡£
Åä¶î¼ì²éÊÇÐí¿É¿ØÖƵÄÒ»²¿·Ö£¬¶ø²»Êǵ÷¶È£ºÅä¶î²»×ãµÄ×÷ÒµÁ¢¼´¾Ü¾øÌá½»¡£
½Ï¸ßÓÅÏȼ¶Åä¶îµÄ³É±¾¸ßÓڽϵÍÓÅÏȼ¶Åä¶î¡£Éú²úÓÅÏȼ¶Åä¶î½öÏÞÓÚµ¥ÔªÖпÉÓõÄʵ¼Ê×ÊÔ´£¬Òò´Ë£¬Ìá½»·ûºÏÅä¶îµÄÉú²úÓÅÏȼ¶×÷ÒµµÄÓû§¿ÉÒÔÔ¤ÆÚÔËÐС£
¼´Ê¹ÎÒÃǹÄÀøÓû§¹ºÂòµÄÅä¶î²»³¬¹ýËûÃǵÄÐèÇ󣬵«ÊÇÐí¶àÓû§ÈÔÈ»¹ý¶È¹ºÂò£¬ÒòΪÕâ°ïÖúËûÃÇÔÚÓ¦ÓóÌÐòµÄÓû§ÈºÔö³¤Ê±¿Ë·þ²»×ã¡£ÎÒÃÇͨ¹ýÔڽϵÍÓÅÏȼ¶±ðÉϹý¶ÈÏúÊÛÅä¶îÀ´ÏìÓ¦ÕâÒ»µã£ºÃ¿¸öÓû§¾ßÓÐÔÚÓÅÏȼ¶ÁãµÄÎÞÏÞÅä¶î£¬¾¡¹ÜÕâ³£³£ÄÑÒÔÖ´ÐУ¬ÒòΪ×ÊÔ´±»¹ý¶È¶©ÔÄ¡£Ò»¸öµÍÓÅÏȼ¶×÷Òµ¿ÉÄܱ»ÔÊÐíÁË£¬µ«ÊÇÓÉÓÚ×ÊÔ´²»×ã¶ø±£³ÖµÈ´ý£¨Î´µ÷¶È£©¡£
ÔÚBorgÒÔÍâ½øÐÐÅä¶î·ÖÅ䣬²¢ÇÒÓëÎÒÃǵÄÎïÀíÈÝÁ¿¹æ»®ÃÜÇÐÏà¹Ø£¬Æä½á¹û·´Ó³ÔÚ²»Í¬Êý¾ÝÖÐÐĵÄÅä¶îµÄ¼Û¸ñºÍ¿ÉÓÃÐÔÉÏ¡£
½öµ±Óû§×÷Òµ¾ßÓÐËùÐèÓÅÏȼ¶µÄ×ã¹»Åä¶îʱ£¬²ÅÔÊÐíÓû§×÷Òµ¡£ Åä¶îµÄʹÓüõÉÙÁ˶ÔÓÅÊÆ×ÊÔ´¹«Æ½£¨DRF£©[29,35,36,66]µÈ²ßÂÔµÄÐèÒª¡£
BorgÓÐÒ»¸öÄÜÁ¦ÏµÍ³£¬ÄܸøÓèһЩÓû§ÌØÊâµÄȨÏÞ; ÀýÈ磬ÔÊÐí¹ÜÀíԱɾ³ý»òÐ޸ĵ¥ÔªÖеÄÈκÎ×÷Òµ£¬»òÔÊÐíÓû§·ÃÎÊÊÜÏÞÄں˹¦ÄÜ»òBorgÐÐΪ£¨ÀýÈç½ûÓÃÆä×÷ÒµµÄ×ÊÔ´¹À¼Æ£¨¡ì5.5£©£©¡£
2.6 ÃüÃûºÍ¼à¿Ø
½ö´´½¨ºÍ·ÅÖÃÈÎÎñÊDz»¹»µÄ£º·þÎñµÄ¿Í»§¶ËºÍÆäËûϵͳÐèÒªÄܹ»ÕÒµ½ËüÃÇ£¬¼´Ê¹ËüÃDZ»Öض¨Î»µ½Ð»úÆ÷ÉÏÁË¡£ÒªÆôÓô˹¦ÄÜ£¬Borg½«ÎªÃ¿¸öÈÎÎñ´´½¨Ò»¸öÎȶ¨µÄ¡°Borg
name service¡±£¨BNS£©Ãû³Æ£¬ÆäÖаüº¬µ¥ÔªÃû³Æ£¬×÷ÒµÃû³ÆºÍÈÎÎñ±àºÅ¡£Borg½«ÈÎÎñµÄÖ÷»úÃûºÍ¶Ë¿ÚдÈëÒ»¸öÒÔBNSÃüÃûµÄÒ»Öµĸ߿ÉÓõÄChubby
[14]ÎļþÖУ¬ÓÉÎÒÃǵÄRPCϵͳʹÓøÃÎļþÀ´²éÕÒÈÎÎñ¶Ëµã¡£BNSÃû³Æ»¹ÐγÉÈÎÎñµÄDNSÃû³ÆµÄ»ù´¡£¬ËùÒÔÔÚccµ¥ÔªÖеÄÓû§ubarÓµÓеÄ×÷Òµ
jfooÖеĵÚÎåÊ®¸öÈÎÎñ½«Í¨¹ý50.jfoo.ubar.cc.borg.google.com·ÃÎʵ½¡£Borg»¹»áÔÚChubby·¢Éú±ä»¯Ê±½«×÷Òµ´óСºÍÈÎÎñ½¡¿µÐÅϢдÈëChubby£¬Òò´Ë¸ºÔØÆ½ºâÆ÷¿ÉÒԲ鿴½«ÇëÇó·Óɵ½ÄÄÀï¡£
¼¸ºõÔÚBorgÏÂÔËÐеÄÿ¸öÈÎÎñ¶¼°üº¬Ò»¸öÄÚÖõÄHTTP·þÎñÆ÷£¬Ëü·¢²¼ÓйØÈÎÎñÔËÐÐ×´¿öµÄÐÅÏ¢ºÍ³ÉǧÉÏÍò¸öÐÔÄÜÖ¸±ê£¨ÀýÈçRPCÑÓ³Ù£©¡£
Borg¼à¿Øhealth-check URL£¬²¢ÖØÐÂÆô¶¯²»»á¼°Ê±ÏìÓ¦»ò·µ»ØHTTP´íÎó´úÂëµÄÈÎÎñ¡£ ÆäËûÊý¾ÝÓÉÒDZíÅ̼àÊÓ¹¤¾ßºÍÎ¥·´·þÎñ¼¶±ðÄ¿±ê£¨SLO£©µÄ¾¯±¨½øÐиú×Ù¡£
³ÆÎªSigmaµÄ·þÎñÌṩÁË»ùÓÚWebµÄÓû§½çÃæ£¨UI£©£¬Í¨¹ý¸ÃUIÓû§¿ÉÒÔ¼ì²éËùÓÐ×÷Òµ£¬Ìض¨µ¥ÔªµÄ״̬£¬»òÏòÏÂ×êÈ¡µ½µ¥¸ö×÷ÒµºÍÈÎÎñ£¬ÒÔ¼ì²éÆä×ÊÔ´ÐÐΪ£¬ÏêϸÈÕÖ¾£¬Ö´ÐÐÀúÊ·
£¬ºÍ×îÖյĽá¹û¡£ ÎÒÃǵÄÓ¦ÓòúÉú´óÁ¿ÈÕÖ¾; ÕâЩ±»×Ô¶¯ÂÖתÒÔ±ÜÃâÓÃÍê´ÅÅ̿ռ䣬²¢ÔÚÈÎÎñÍ˳öºó±£´æÒ»¶Îʱ¼äÒÔÐÖúµ÷ÊÔ¡£
Èç¹û×÷ҵδÔËÐУ¬BorgÌṩÁË¡°ÎªÊ²Ã´´ý´¦Àí£¿¡±×¢ÊÍ£¬ÒÔ¼°ÈçºÎÐÞ¸Ä×÷ÒµµÄ×ÊÔ´ÇëÇóÒÔ¸üºÃµØÊÊÓ¦µ¥ÔªµÄÖ¸µ¼¡£
ÎÒÃÇ·¢²¼ÁË¡°Çкϡ±¸ü¿ÉÄÜÈÝÒ×µ÷¶ÈµÄ×ÊÔ´ÐÎʽµÄ¹æÔò¡£
Borg¼Ç¼ËùÓÐ×÷ÒµÌύʼþºÍÈÎÎñʼþ£¬ÒÔ¼°Ã¿¸öÈÎÎñÔÚInfrastoreÖÐÏêϸµÄ×ÊԴʹÓÃÐÅÏ¢£¬ÕâÊÇÒ»¸ö¿ÉÀ©Õ¹µÄÖ»¶ÁÊý¾Ý´æ´¢£¬Í¨¹ýDremel
[61]¾ßÓÐÒ»¸ö½»»¥Ê½µÄÀàËÆSQLµÄ½çÃæ¡£´ËÊý¾ÝÓÃÓÚ»ùÓÚʹÓõļƷѣ¬×÷Òµµ÷ÊÔºÍϵͳ¹ÊÕÏÒÔ¼°³¤ÆÚÈÝÁ¿¹æ»®¡£
Ëü»¹ÎªGoogleȺ¼¯¹¤×÷¸ºÔظú×ÙÌṩÊý¾Ý[80]¡£
ËùÓÐÕâЩ¹¦Äܶ¼ÓÐÖúÓÚÓû§Àí½âºÍµ÷ÊÔBorgµÄÐÐΪ¼°Óû§µÄ×÷Òµ£¬²¢°ïÖúÎÒÃǵÄSREsΪÿ¸öÈ˹ÜÀí¼¸Íǫ̀»úÆ÷¡£
3.BorgÌåϵ½á¹¹
Borgµ¥ÔªÓÉÒ»×é»úÆ÷£¬Ò»¸ö³ÆÎªBorgmasterµÄÂß¼ÖÐÑë¿ØÖÆÆ÷ºÍµ¥ÔªÖÐÿ̨»úÆ÷ÉÏÔËÐеijÆÎªBorgletµÄ´úÀí½ø³Ì¹¹³É£¨²Î¼ûͼ1£©¡£
BorgµÄËùÓÐ×é¼þ¶¼ÓÃC ++±àд¡£
3.1 Borgmaster
ÿ¸öµ¥ÔªµÄBorgmaster°üÀ¨Á½¸ö½ø³Ì£ºÖ÷½ø³ÌBorgmasterºÍ¶ÀÁ¢µÄµ÷¶È³ÌÐò£¨¡ì3.2£©¡£
Ö÷Borgmaster½ø³Ì´¦Àí¿Í»§¶ËRPC£¬×´Ì¬±ä»¯£¨ÀýÈ磬´´½¨×÷Òµ£©»òÌṩ¶ÔÊý¾ÝµÄÖ»¶Á·ÃÎÊ£¨ÀýÈ磬²éÕÒ×÷Òµ£©¡£Ëü»¹¹ÜÀíϵͳÖÐËùÓжÔÏ󣨻úÆ÷£¬ÈÎÎñ£¬·ÖÅäµÈ£©µÄ״̬»ú£¬ÓëBorglets½øÐÐͨÐÅ£¬²¢ÌṩWeb
UI×÷ΪSigmaµÄ±¸·Ý¡£
BorgmasterÔÚÂß¼ÉÏÊÇÒ»¸öµ¥Ò»µÄ½ø³Ì£¬µ«Êµ¼ÊÉϱ»¸´ÖÆÁËÎå´Î¡£ ÿ¸ö¸±±¾Î¬»¤ÁËÒ»·Ý¸Ãµ¥Ôª´ó²¿·Ö״̬µÄÄڴ渱±¾£¬²¢ÇÒ¸Ã״̬Ҳ¼Ç¼Ôڸø±±¾µÄ±¾µØ´ÅÅÌÉϵĸ߿ÉÓÃÐÔ£¬·Ö²¼Ê½£¬»ùÓÚPaxosµÄ´æ´¢[55]ÖС£Ã¿¸öµ¥ÔªµÄµ¥¸öÑ¡¶¨µÄmaster¼ÈÓÃ×÷PaxosµÄÁìµ¼ÕßÓÖÓÃ×÷״̬mutator£¬´¦Àí¸Ä±äµ¥Ôª×´Ì¬µÄËùÓвÙ×÷£¨ÀýÈçÌá½»×÷Òµ»òÔÚ»úÆ÷ÉÏÖÕÖ¹ÈÎÎñ£©¡£µ±cell½¨Á¢Ê±»òÖ»Òªµ±Ñ¡ÔñµÄmaster³öÏÖ¹ÊÕÏʱ£¬¾Í»áÑ¡ÔñÒ»¸ömaster£¨Ê¹ÓÃPaxos£©;
Ëü»ñȡһ¸öChubbyËø£¬ÒÔ±ãÆäËûϵͳ¿ÉÒÔÕÒµ½Ëü¡£Ñ¡ÔñÒ»¸ömasterºÍ¹ÊÕÏ×ªÒÆµ½ÐµÄmasterͨ³£ÐèÒª´óÔ¼10s£¬µ«ÊÇÔÚ´óµ¥ÔªÖпÉÄÜÐèÒªÒ»·ÖÖÓ£¬ÒòΪһЩÄÚ´æÖеÄ״̬±ØÐëÖØ½¨¡£
µ±¸±±¾´ÓÖжϻָ´Ê±£¬Ëü½«×Ô¶¯ÖØÐÂͬ²½À´×Ô×îÐÂµÄÆäËüPaxos¸±±¾µÄ״̬¡£
BorgmasterÔÚij¸öʱ¼äµãµÄ״̬³ÆÎª¼ì²éµã£¬²¢²ÉÓö¨ÆÚ¿ìÕÕµÄÐÎʽÔö¼ÓÒ»Ìõ¸ü¸ÄÈÕÖ¾£¨±£´æÔÚPaxos´æ´¢ÖУ©¡£¼ì²éµãÓÐÐí¶àÓÃ;£¬°üÀ¨½«BorgmasterµÄ״̬»Ö¸´µ½¹ýÈ¥µÄÈÎÒâÒ»¸öµã£¨ÀýÈ磬ÔÚ½ÓÊÜ´¥·¢BorgÖеÄÈí¼þȱÏݵÄÇëÇó֮ǰ£¬ÒÔ±ã¿ÉÒÔ¶ÔÆä½øÐе÷ÊÔ£©;
¹¹½¨ÓÃÓÚδÀ´²éѯµÄʼþµÄ³Ö¾ÃÈÕÖ¾; ÒÔ¼°ÀëÏßÄ£Äâ¡£
¸ß±£ÕæµÄBorgmasterÄ£ÄâÆ÷Faokemaster¿ÉÓÃÓÚ¶ÁÈ¡¼ì²éµãÎļþ£¬²¢°üº¬²úÉúBorgmaster´úÂëµÄÍêÕû¸±±¾£¬ÆäÖаüº¬ÓëBorgletsµÄÎÞ´æ¸ù½Ó¿Ú¡£Ëü½ÓÊÜRPC½øÐÐ״̬»ú¸ü¸ÄºÍÖ´ÐвÙ×÷£¬Èç¡°µ÷¶ÈËùÓÐ¹ÒÆðµÄÈÎÎñ¡±£¬Í¨¹ýÓëËü½øÐн»»¥£¨Ëü¾ÍÏñÊÇÒ»¸ö»îµÄBorgmaster£¬´øÓÐÄ£ÄâµÄBorglets¿É´Ó¼ì²éµãÎļþÖØ·ÅÕæÊµµÄ½»»¥£©£¬¿ÉÒÔʹÓÃËüÀ´µ÷ÊÔ¹ÊÕÏ¡£Óû§¿ÉÒÔÖð²½¹Û²ìÔÚ¹ýȥʵ¼Ê·¢ÉúµÄϵͳ״̬µÄ¸Ä±ä¡£
Fauxmaster¶ÔÓÚÈÝÁ¿¹æ»®£¨¡°·ûºÏ¶àÉÙÕâÖÖÀàÐ͵ÄÐÂ×÷Òµ£¿¡±£©ÒÔ¼°ÔÚ¸ü¸Äµ¥ÔªÅäÖÃ֮ǰ½øÐÐÍêÕûÐÔ¼ì²é£¨¡°ÕâÖÖ¸ü¸ÄÊÇ·ñ»áÇýÖðÖØÒªµÄ¹¤×÷£¿¡±£©Ò²ºÜÓÐÓá£
3.2 µ÷¶È
Ìá½»×÷ҵʱ£¬Borgmaster»á½«Æä³Ö¾Ã»¯ÔÚPaxos´æ´¢ÖУ¬²¢½«×÷ÒµµÄÈÎÎñÌí¼Óµ½µÈ´ý¶ÓÁС£ ÕâÊÇÓɵ÷¶È³ÌÐòÒ첽ɨÃèµÄ£¬Èç¹ûÓÐ×ã¹»µÄ¿ÉÓÃ×ÊÔ´Âú×ã×÷ÒµµÄÒªÇó£¬Ôò»á½«ÈÎÎñ·ÖÅ䏸»úÆ÷¡£
£¨µ÷¶È³ÌÐòÖ÷Òª²Ù×÷ÈÎÎñ£¬¶ø²»ÊÇ×÷Òµ¡££©É¨Ãè´Ó¸ßµ½µÍÓÅÏȼ¶£¬ÓÉÓÅÏȼ¶Ñ»··½°¸µ÷¶È£¬ÒÔÈ·±£Óû§Ö®¼äµÄ¹«Æ½ÐÔ£¬²¢±ÜÃâ´óÐÍ×÷ÒµºóÃæµÄ¶ÓÍ·×èÈû¡£
µ÷¶ÈËã·¨ÓÐÁ½¸ö²¿·Ö£º¿ÉÐÐÐÔ¼ì²é£¨ÓÃÓÚÕÒµ½ÈÎÎñ¿ÉÒÔÔËÐеĻúÆ÷£©£¬ÒÔ¼°ÆÀ·Ö£¨ÓÃÓÚÌôѡһ¸ö¿ÉÐеĻúÆ÷£©¡£
ÔÚ¿ÉÐÐÐÔ¼ì²éÖУ¬µ÷¶ÈÆ÷ÕÒµ½Âú×ãÈÎÎñÐèÇóµÄÒ»×é»úÆ÷£¬Õâ×é»úÆ÷¾ßÓÐ×ã¹»µÄ¡°¿ÉÓá±×ÊÔ´ - ÕâЩ×ÊÔ´ÖаüÀ¨ÒѾ·ÖÅ䏸¿ÉÒÔ±»ÇÀÕ¼µÄ½ÏµÍÓÅÏȼ¶ÈÎÎñµÄ×ÊÔ´¡£
ÔÚÆÀ·ÖÖУ¬µ÷¶ÈÆ÷È·¶¨Ã¿¸ö¿ÉÐлúÆ÷µÄ¡°Á¼ºÃÐÔ¡±¡£¸Ã·ÖÊý¿¼ÂÇÁËÓû§Ö¸¶¨µÄÆ«ºÃ£¬µ«Ö÷ÒªÊÇÓÉÄÚÖñê×¼¾ö¶¨£¬Èç×î´óÏ޶ȵؼõÉÙÇÀÕ¼ÈÎÎñµÄÊýÁ¿ºÍÓÅÏȼ¶£¬Ñ¡ÔñÒѾÓÐÈÎÎñ°ü¸±±¾µÄ»úÆ÷£¬¿çÔ½µçÔ´ºÍ¹ÊÕÏÓò´«²¥ÈÎÎñ£¬ÒÔ¼°´ò°üÖÊÁ¿£¨°üÀ¨½«¸ßÓÅÏȼ¶ÈÎÎñºÍµÍÓÅÏȼ¶ÈÎÎñ»ìºÏµ½µ¥¸ö»úÆ÷ÉÏ£¬ÒÔÔÊÐí¸ßÓÅÏȼ¶ÈÎÎñÔÚ¸ºÔظ߷åÖÐÀ©Õ¹£©¡£
Borg×î³õʹÓÃE-PVM [4]µÄ±äÌå½øÐÐÆÀ·Ö£¬ÆäÔÚ²»Í¬×ÊÔ´ÉÏÉú³Éµ¥Ò»³É±¾Öµ£¬²¢ÇÒÔÚ·ÅÖÃÈÎÎñʱ×îС»¯³É±¾µÄ±ä»¯¡£ÔÚʵ¼ùÖУ¬E-PVM×îÖÕÔÚËùÓлúÆ÷ÉÏÀ©Õ¹¸ºÔØ£¬Îª¸ºÔظ߷åÁôÏÂÓàÁ¿
- µ«ÊÇÒÔÔö¼ÓËéÆ¬Îª´ú¼Û£¬ÌرðÊǶÔÓÚÐèÒª´ó²¿·Ö»úÆ÷µÄ´óÐÍÈÎÎñ; ÎÒÃÇÓÐʱ³ÆÖ®Îª¡°¸ÕºÃºÏÊÊ¡±¡£
µ÷¶ÈµÄÁíÒ»¶ËÊÇ¡°×î¼ÑºÏÊÊ¡±£¬ËüÊÔͼ¾¡¿ÉÄܽôÃܵØÌî³ä»úÆ÷¡£ ÕâʹһЩ»úÆ÷ûÓÐÓû§×÷Òµ£¨ËüÃÇÈÔÈ»ÔËÐд洢·þÎñÆ÷£©£¬Òò´Ë·ÅÖôóÈÎÎñÊǼòµ¥Ö±½ÓµÄ£¬µ«ÊÇÑϸñµÄ·â×°²»ÀûÓÚÓû§»òBorg¶Ô×ÊÔ´ÐèÇóµÄÈκδíÎó¹À¼Æ¡£
Õâ»áÉ˺¦Í»·¢¸ºÔصÄÓ¦ÓóÌÐò£¬¶ÔÓÚÖ¸¶¨µÍCPUÐèÇóµÄÅú´¦Àí×÷ÒµÓÈÆäÔã¸â£¬ÒÔ±ãËûÃÇ¿ÉÒÔÇáËɰ²ÅŲ¢³¢ÊÔÔÚδʹÓõÄ×ÊÔ´ÖÐËÅ»úÔËÐУº20£¥µÄ·ÇÉú²úÈÎÎñÇëÇóÉÙÓÚ0.1¸öCPUÄںˡ£
ÎÒÃǵ±Ç°µÄÆÀ·ÖÄ£ÐÍÊÇÒ»ÖÖ»ìºÏʽµÄ£¬ËüÊÔͼ¼õÉÙ¸éÖÃ×ÊÔ´µÄÊýÁ¿ - ÓÉÓÚ»úÆ÷ÉϵÄÁíÒ»¸ö×ÊÔ´±»ÍêÈ«·ÖÅä¶øÎÞ·¨Ê¹ÓõÄ×ÊÔ´¡£
ËüÌṩ±È×îÊʺÏÎÒÃǹ¤×÷¸ºÔØÔ¼3-5£¥µÄ¸üºÃµÄ°üװЧÂÊ£¨ÔÚ[78]Öж¨Ò壩¡£
Èç¹û¼Æ·Ö½×¶ÎÑ¡ÔñµÄ»úÆ÷ûÓÐ×ã¹»µÄ¿ÉÓÃ×ÊÔ´À´Âú×ãÈÎÎñ£¬ÔòBorg»áÇÀÕ¼£¨É±ËÀ£©½ÏµÍÓÅÏȼ¶ÈÎÎñ£¬´Ó×îµÍÓÅÏȼ¶µ½×î¸ßÓÅÏȼ¶£¬Ö±µ½Âú×ãΪֹ¡£
ÎÒÃǽ«±»ÇÀÕ¼µÄÈÎÎñÌí¼Óµ½µ÷¶È³ÌÐòµÄ¹ÒÆð¶ÓÁУ¬¶ø²»ÊÇÇ¨ÒÆ»òÐÝÃßËüÃÇ¡£
ÈÎÎñÆô¶¯ÑÓ³Ù£¨´Ó×÷ÒµÌá½»µ½ÈÎÎñÔËÐеÄʱ¼ä£©ÊÇÒ»¸öÒѾ²¢¼ÌÐøÊܵ½¼«´ó¹Ø×¢µÄÁìÓò¡£ËüÊǸ߶ȿɱäµÄ£¬ÖÐֵͨ³£Ô¼25s¡£
Èí¼þ°ü°²×°´óԼռȫ²¿µÄ80£¥£ºÆäÖÐÒ»¸öÒÑÖªµÄÆ¿¾±ÊÇÈí¼þ°üҪдÈëµÄ±¾µØ´ÅÅ̵ÄÕùÓá£ÎªÁ˼õÉÙÈÎÎñÆô¶¯Ê±¼ä£¬µ÷¶È³ÌÐò¸üÇãÏò½«ÈÎÎñ·ÖÅ䏸ÒѾ°²×°Á˱ØÒªµÄÈí¼þ°ü£¨³ÌÐòºÍÊý¾Ý£©µÄ»úÆ÷£º´ó¶àÊýÈí¼þ°üÊDz»¿É±äµÄ£¬Òò´Ë¿ÉÒÔ¹²ÏíºÍ»º´æ¡£
£¨ÕâÊÇBorgµ÷¶È³ÌÐòÖ§³ÖÊý¾Ý±¾µØ»¯µÄΨһÐÎʽ¡££©´ËÍ⣬BorgʹÓÃÀàËÆÊ÷ºÍtorrentµÄÐÒé²¢Ðеؽ«Èí¼þ°ü·Ö·¢µ½»úÆ÷¡£
´ËÍ⣬µ÷¶È³ÌÐòʹÓü¸ÖÖ¼¼ÊõÀ´À©Õ¹¾ßÓгÉǧÉÏÍǫ̀»úÆ÷µÄµ¥Ôª£¨¡ì3.4£©¡£
3.3 Borglet
BorgletÊÇÒ»¸ö±¾µØBorg´úÀí£¬´æÔÚÓÚµ¥ÔªÖеÄÿһ̨»úÆ÷ÖС£ËüÆô¶¯ºÍÍ£Ö¹ÈÎÎñ; Èç¹û¹ÊÕϾÍÖØÆôÈÎÎñ;
ͨ¹ý²Ù×ݲÙ×÷ϵͳÄÚºËÉèÖÃÀ´¹ÜÀí±¾µØ×ÊÔ´; ·×ªµ÷ÊÔÈÕÖ¾; ²¢ÏòBorgmasterµÈ¼à¿ØÏµÍ³±¨¸æ»úÆ÷µÄ״̬¡£
Borgmasterÿ¸ô¼¸ÃëÖÓÂÖѯһ´ÎBorgletÒÔ¼ìË÷»úÆ÷µÄµ±Ç°×´Ì¬£¬²¢½«ËùÓÐδÍê³ÉµÄÇëÇó·¢Ë͸øËü¡£
ÕâʹBorgmaster¿ØÖÆÍ¨ÐÅËÙÂÊ£¬±ÜÃâÁËÏÔʽÁ÷¿ØÖÆ»úÖÆµÄÐèÒª£¬²¢·ÀÖ¹»Ö¸´·ç±©[9]¡£
Ñ¡¶¨µÄmaster¸ºÔð×¼±¸Òª·¢Ë͵½BorgletsµÄÏûÏ¢£¬²¢¸ºÔð¸ù¾ÝcellµÄÏìÓ¦¸üÐÂcellµÄ״̬¡£ÎªÁËÐÔÄÜ¿ÉÀ©Õ¹ÐÔ£¬Ã¿¸öBorgmaster¸±±¾ÔËÐÐÎÞ״̬Á´½Ó·ÖƬÀ´´¦ÀíÓëһЩBorgletsµÄͨÐÅ;ÿµ±·¢ÉúBorgmasterÑ¡ÔñÊ±ÖØÐ¼ÆËã·ÖÇø¡£¶ÔÓÚµ¯ÐÔ£¬BorgletʼÖÕ±¨¸æÆäÍêÕû״̬£¬µ«Á´½Ó·ÖƬͨ¹ý½ö±¨¸æ×´Ì¬»ú¼äµÄ²îÒìÀ´ÊÕ¼¯ºÍѹËõ´ËÐÅÏ¢£¬ÒÔ¼õÉÙÑ¡¶¨masterµÄ¸üиºÔØ¡£
Èç¹ûBorgletûÓÐÏìÓ¦¼¸¸öÂÖѯÏûÏ¢£¬ËüµÄ»úÆ÷±»±ê¼ÇΪ¹Ø±Õ£¬²¢ÇÒÆäÔËÐеÄÈκÎÈÎÎñ±»ÖØÐ°²ÅÅÔÚÆäËû»úÆ÷ÉÏ¡£Èç¹ûͨÐŻָ´£¬Borgmaster»á֪ͨBorgletҪֹͣÕâЩÒÑ¾ÖØÐ°²ÅŵÄÈÎÎñ£¬ÒÔ±ÜÃâÖØ¸´¡£¼´Ê¹ÓëBorgmasterʧȥÁªÏµ£¬BorgletÒ²¼ÌÐøÕý³£ÔËÐУ¬Òò´Ë¼´Ê¹ËùÓÐBorgmaster¸±±¾¹ÊÕÏÁË£¬µ±Ç°ÔËÐеÄÈÎÎñºÍ·þÎñÒ²»á±£³Ö¡£
3.4¿ÉÀ©Õ¹ÐÔ
ÎÒÃDz»È·¶¨BorgµÄ¼¯ÖÐʽ¼Ü¹¹µÄ×îÖÕ¿ÉÀ©Õ¹ÐÔÏÞÖÆ½«³öÏÖÔںδ¦; µ½Ä¿Ç°ÎªÖ¹£¬Ã¿´ÎÎÒÃǽӽüÒ»¸ö¼«ÏÞ£¬ÎÒÃÇÒѾÉè·¨Ïû³ýËü¡£Ò»¸öBorgmaster¿ÉÒÔ¹ÜÀíÒ»¸öcellÖеÄÊýǧ̨»úÆ÷£¬²¢ÇÒ¼¸¸öcell¾ßÓÐÿ·ÖÖÓ³¬¹ý10000¸öÈÎÎñµÄµ½´ïËÙÂÊ¡£·±Ã¦µÄBorgmasterʹÓÃ10-14¸ö
CPUÄں˺͸ߴï50GiB µÄRAM¡£ÎÒÃÇʹÓü¸ÖÖ¼¼ÊõÀ´ÊµÏÖÕâÖÖ¹æÄ£¡£
ÔçÆÚ°æ±¾µÄBorgmasterÓÐÒ»¸ö¼òµ¥µÄ£¬Í¬²½µÄÑ»·£º½ÓÊÜÇëÇ󣬼ƻ®ÈÎÎñ£¬²¢ÓëBorgletsͨÐÅ¡£ÎªÁË´¦Àí¸ü´óµÄcell£¬ÎÒÃǽ«µ÷¶È³ÌÐò·ÖÀë³öÀ´×÷Ϊһ¸öµ¥¶ÀµÄ½ø³Ì£¬ÕâÑùËü¿ÉÒÔÓëÆäËûBorgmasterº¯Êý²¢ÐвÙ×÷¹ÊÕÏÈÝÏÞ¡£
µ÷¶ÈÆ÷¸±±¾¶Ôµ¥Ôª×´Ì¬µÄ¸ßËÙ»º´æ¸±±¾½øÐвÙ×÷¡£Ëü·´¸´£º´ÓÑ¡¶¨µÄÖ÷»ú¼ìË÷״̬¸ü¸Ä£¨°üÀ¨ÒÑ·ÖÅäºÍ¹ÒÆðµÄ¹¤×÷£©;
¸üÐÂÆä±¾µØ¸±±¾;Ö´Ðе÷¶È´«µÝÒÔ·ÖÅäÈÎÎñ; ²¢½«ÕâЩ·ÖÅä֪ͨѡ¶¨µÄÖ÷»ú¡£master½«½ÓÊܲ¢²ÉÓÃÕâЩ·ÖÅ䣬³ý·ÇËüÃÇÊDz»Êʵ±µÄ£¨ÀýÈ磬»ùÓÚ¹ýÆÚ״̬£©£¬Õ⽫µ¼ÖÂËüÃÇÔÚµ÷¶È³ÌÐòµÄÏÂÒ»´Î´«µÝÖб»ÖØÐ¿¼ÂÇ¡£ÕâÔÚÁé»êÉÏÓëÔÚOmega
[69]ÖÐʹÓõÄÀÖ¹Û²¢·¢¿ØÖƷdz£ÏàËÆ£¬ÊÂʵÉÏ£¬ÎÒÃÇ×î½üΪBorgÌí¼ÓÁËÕë¶Ô²»Í¬¹¤×÷¸ºÔØÀàÐÍʹÓò»Í¬µ÷¶È³ÌÐò£¨schedulers£©µÄÄÜÁ¦¡£
ΪÁËÌá¸ßÏìӦʱ¼ä£¬ÎÒÃÇÌí¼ÓÁ˵¥¶ÀµÄÏß³ÌÀ´ÓëBorglets½øÐÐͨÐŲ¢ÏìÓ¦Ö»¶ÁRPC¡£ÎªÁ˸üºÃµÄÐÔÄÜ£¬ÎÒÃÇÔÚÎå¸öBorgmaster¸±±¾£¨¡ì3.3£©Öзָ·ÖÇø£©ÕâЩ¹¦ÄÜ¡£Í¬Ê±£¬Õâ±£³ÖÁËUIÉÏ99£¥ileµÄÏìӦʱ¼äµÍÓÚ1sºÍ95£¥ile
µÄBorgletÂÖѯ¼ä¸ôµÍÓÚ10s¡£

ͼ3£ºÕë¶ÔÉú²úºÍ·ÇÉú²ú¹¤×÷¸ºÔصÄÈÎÎñÇýÖðÂʼ°ÔÒò¡£
Êý¾Ý×Ô2013Äê8ÔÂ1ÈÕÆð¡£
Óм¸µãʹBorgµ÷¶ÈÆ÷¸ü¾ß¿ÉÀ©Õ¹ÐÔ£º
·ÖÊý»º´æ£ºÆÀ¹À¿ÉÐÐÐÔºÍÆÀ¼Û»úÆ÷Êǰº¹óµÄ£¬Òò´ËBorg»º´æ·ÖÊýÖ±µ½»úÆ÷»òÈÎÎñµÄÊôÐԸıä - ÀýÈ磬»úÆ÷ÉϵÄÈÎÎñÖÕÖ¹£¬ÊôÐԸıä»òÈÎÎñµÄÐèÇó¸Ä±ä¡£
ºöÂÔ×ÊÔ´ÊýÁ¿µÄС±ä»¯¿É¼õÉÙ¸ßËÙ»º´æÊ§Ð§¡£
µÈ¼ÛÀࣺBorg×÷ÒµÖеÄÈÎÎñͨ³£¾ßÓÐÏàͬµÄÐèÇóºÍÔ¼Êø£¬Òò´Ë²¢²»ÊÇÈ·¶¨Ã¿¸ö»úÆ÷ÉϵÄÿ¸ö¹ÒÆðÈÎÎñµÄ¿ÉÐÐÐÔ£¬²¢¶ÔËùÓпÉÐеĻúÆ÷½øÐÐÆÀ·Ö£¬BorgÖ»¶Ôÿ¸öµÈ¼ÛÀàµÄÒ»¸öÈÎÎñ½øÐпÉÐÐÐÔ·ÖÎöºÍÆÀ·Ö
- Ò»×é¾ßÓÐÏàͬÐèÇóµÄÈÎÎñ¡£
ÇáËÉËæ»ú»¯£º¼ÆËã´ócellÖÐËùÓлúÆ÷µÄ¿ÉÐÐÐԺͷÖÊýÊÇÀ˷ѵģ¬Òò´Ëµ÷¶È³ÌÐòÒÔËæ»ú˳Ðò¼ì²é»úÆ÷£¬Ö±µ½ÕÒµ½¡°×ã¹»¡±¿ÉÐеĻúÆ÷½øÐÐÆÀ·Ö£¬È»ºóÑ¡Ôñ¸Ã¼¯ºÏÖеÄ×î¼Ñ»úÆ÷¡£
Õâ¼õÉÙÁËÈÎÎñ½øÈëºÍÀ뿪ϵͳʱËùÐèµÄÆÀ·ÖºÍ¸ßËÙ»º´æÊ§Ð§µÄÊýÁ¿£¬²¢¼Ó¿ìÁËÈÎÎñµ½»úÆ÷µÄ·ÖÅä¡£·ÅËÉËæ»ú»¯ÓÐʱÀàËÆÓÚSparrow
[65]µÄÅúÁ¿²ÉÑù£¬Í¬Ê±»¹´¦ÀíÓÅÏȼ¶£¬ÇÀÕ¼£¬ÒìÖÊÐÔºÍÈí¼þ°ü°²×°µÄ³É±¾¡£
ÔÚÎÒÃǵÄʵÑ飨¡ì5£©ÖУ¬´ÓÍ·¿ªÊ¼°²Åŵ¥ÔªµÄÕû¸ö¹¤×÷¸ºÔØÍ¨³£ÐèÒª¼¸°ÙÃ룬µ«ÊÇÔÚ½ûÓÃÉÏÊö¼¼Êõºó³¬¹ý3Ììºó»¹Ã»ÓÐÍê³É¡£
ͨ³££¬Ôڵȴý¶ÓÁÐÉϵÄÔÚÏßµ÷¶È´«µÝÔÚ²»µ½°ëÃëÄÚÍê³É¡£
4.¿ÉÓÃÐÔ
¹ÊÕÏÊÇ´ó¹æÄ£ÏµÍ³Öеij£Ì¬[10,11,22]¡£Í¼3ÌṩÁË15¸öÑù±¾cellÖÐÈÎÎñÇýÖðÔÒòµÄ·Ö½â¡£ÔËÐÐÔÚBorgÉϵÄÓ¦ÓóÌÐòÓ¦ÄÜʹÓÃÖîÈç¸´ÖÆ£¬ÔÚ·Ö²¼Ê½ÎļþϵͳÖд洢³Ö¾Ã״̬²¢£¨Èç¹ûÊʵ±µÄ»°£©²¶×½ÁÙʱ¼ì²éµãµÈ¼¼ÊõÀ´´¦Àí´ËÀàʼþ¡£¼´Ê¹Èç´Ë£¬ÎÒÃÇÒ²ÊÔͼ¼õÇáÕâЩʼþµÄÓ°Ïì¡£ÀýÈ磬Borg£º
ÈçÓбØÒª£¬ÔÚлúÆ÷ÉÏ×Ô¶¯ÖØÐ°²ÅÅÖð³öµÄÈÎÎñ;
ͨ¹ýÔÚÖîÈç»úÆ÷£¬»ú¼ÜºÍµçÔ´ÓòÖ®ÀàµÄ¹ÊÕÏÓòÖÐÀ©Õ¹×÷ÒµµÄÈÎÎñ£¬¼õÉÙÏà¹Ø¹ÊÕÏ;
ÏÞÖÆÈÎÎñÖжϵÄÔÊÐíËÙÂʺÍÈÎÎñÊýÁ¿£¬ÕâЩÈÎÎñ¿ÉÒÔÔÚά»¤»î¶¯£¨ÀýÈç²Ù×÷ϵͳ»ò»úÆ÷¸üУ©ÆÚ¼äͬʱ¹Ø±Õ£» 
ͼ4£ºÑ¹ËõµÄЧ¹û¡£ ¶Ô15¸öcell£¬ÔÚѹËõºó»ñµÃµÄÔʼcell´óСµÄ°Ù·Ö±ÈµÄCDF¡£
ʹÓÃÉùÃ÷ÐÔÆÚÍû״̬±íʾºÍÃݵȱ任²Ù×÷£¬Ê¹µÃʧ°ÜµÄ¿Í»§¶Ë¿ÉÒÔÎÞËðµØÖØÐÂÌá½»Èκα»ÒÅÍüµÄÇëÇó;
rate-limitsÕÒµ½ÎÞ·¨·ÃÎʵĻúÆ÷µÄÈÎÎñµÄÐÂλÖã¬ÒòΪËüÎÞ·¨Çø·Ö´óÐÍ»úÆ÷¹ÊÕϺÍÍøÂç·ÖÇø;
±ÜÃâÖØ¸´ÈÎÎñ::µ¼ÖÂÈÎÎñ»ò»úÆ÷±ÀÀ£µÄ»úÆ÷Åä¶Ô;
ͨ¹ý²»¶ÏÖØÐÂÔËÐÐÈÕÖ¾¼Ç¼Æ÷ÈÎÎñ£¨¡ì2.4£©À´»Ö¸´Ð´Èë±¾µØ´ÅÅ̵ĹؼüÖмäÊý¾Ý£¬¼´Ê¹ËùÁ¬½ÓµÄallocÒÑÖÕÖ¹»òÒÆ¶¯µ½ÁËÁíһ̨»úÆ÷¡£
Óû§¿ÉÒÔÉèÖÃϵͳ³ÖÐø³¢ÊÔµÄʱ¼ä;Ò»°ãÊǼ¸Ìì¡£
BorgµÄÒ»¸ö¹Ø¼üÉè¼ÆÌØµãÊÇ£¬¼´Ê¹Borgmaster»òÈÎÎñµÄBorglet¹Ø±Õ£¬ÒѾÔËÐеÄÈÎÎñÒ²»á¼ÌÐøÔËÐС£µ«ÊDZ£³ÖmasterÈÔÈ»ºÜÖØÒª£¬ÒòΪµ±Ëü¹Ø±Õʱ£¬ÎÞ·¨Ìá½»ÐÂ×÷Òµ»ò¸üÐÂÏÖÓеÄ×÷Òµ£¬²¢ÇÒÎÞ·¨ÖØÐ¼ƻ®¹ÊÕϵļÆËã»úÉϵÄÈÎÎñ¡£
BorgmasterʹÓõļ¼Êõ×éºÏ£¬Ê¹ÆäÔÚʵ¼ùÖдﵽÁË99.99£¥µÄ¿ÉÓÃÐÔ£º»úÆ÷¹ÊÕϸ´ÖÆ; ×¼Èë¿ØÖÆ±ÜÃâ¹ýÔØ;
²¢Ê¹Óüòµ¥µÄµÍ¼¶¹¤¾ß²¿ÊðʵÀýÒÔ×îС»¯ÍⲿÒÀÀµÐÔ¡£ ÿ¸öµ¥Ôª¶ÀÁ¢ÓÚÆäËûµ¥Ôª£¬ÒÔ×îС»¯¹ØÁªµÄ²Ù×÷Õß´íÎóºÍ¹ÊÕÏ´«²¥µÄ»ú»á¡£
ÕâЩĿ±ê£¬²»ÊÇ¿ÉÀ©Õ¹ÐÔÏÞÖÆ£¬¶øÊÇ·´¶Ô½Ï´ócellµÄÖ÷ÒªÂÛÖ¤¡£
5.ÀûÓÃ
BorgµÄÖ÷ҪĿ±êÖ®Ò»ÊǸßЧÀûÓÃGoogleµÄ»úÆ÷£¬ÕâÒâζמ޴óµÄ²ÆÎñͶ×Ê£º½«ÀûÓÃÂÊÌá¸ß¼¸¸ö°Ù·Öµã¿ÉÒÔ½ÚÊ¡Êý°ÙÍòÃÀÔª¡£
±¾½ÚÌÖÂÛºÍÆÀ¹ÀBorgʹÓõÄһЩ²ßÂԺͼ¼Êõ¡£

ͼ5£º½«prodºÍnon-prod¹¤×÷·ÖÀëµ½²»Í¬µÄµ¥Ôª½«ÐèÒª¸ü¶àµÄ»úÆ÷¡£ÕâÁ½¸öͼ±íÏÔʾÈç¹ûprodºÍnon-prod¹¤×÷¸ºÔØ·¢Ë͵½µ¥¶ÀµÄµ¥Ôª£¬ÐèÒª¶àÉÙ¶îÍâµÄ»úÆ÷£¬Ê¹ÓðٷֱȱíʾÔÚÒ»¸öµ¥ÔªÖÐÔËÐй¤×÷¸ºÔØËùÐèµÄ×îС»úÆ÷ÊýÁ¿¡£ÔÚµ±Ç°ºÍËæºóµÄCDFͼÖУ¬Ã¿¸öµ¥ÔªÏÔʾµÄÖµÍÆµ¼×ÔÎÒÃǵÄʵÑé³¢ÊÔ²úÉúµÄ²»Í¬cell´óСµÄ90£¥£¬Îó²îÌõÏÔʾÁ˳¢ÊÔÖµµÄÍêÕû·¶Î§¡£
5.1 ÆÀ¹À·½·¨
ÎÒÃǵŤ×÷´æÔÚ²¼¾ÖÏÞÖÆ£¬ÐèÒª´¦ÀíÏ¡ÉٵŤ×÷¸ºÔØ·åÖµ£¬»úÆ÷ÊÇÒì¹¹µÄ£¬ÔÚ´Ó·þÎñ×÷ÒµÖлØÊÕµÄ×ÊÔ´ÖÐÔËÐÐÅú´¦Àí×÷Òµ¡£
ËùÒÔ£¬ÎªÁËÆÀ¹À²ßÂÔÑ¡Ôñ£¬ÐèÒªÒ»¸ö±È¡°Æ½¾ùÀûÓÃÂÊ¡±¸ü¸´ÔӵĶÈÁ¿±ê×¼¡£ ¾¹ý¶à´ÎʵÑ飬ÎÒÃÇÑ¡ÔñÁËcell compaction£º¸ø¶¨Ò»¸ö¹¤×÷¸ºÔØ£¬Í¨¹ýɾ³ýcellÖеĻúÆ÷Ö±µ½²»ÔÙÊÊÓ¦£¬¿ÉÒÔ·¢ÏÖËüÄÜÊÊÓ¦µÄcellÓжàС£¬£¬´ÓÍ·¿ªÊ¼ÖØÐ°ü×°¹¤×÷¸ºÔØÒÔÈ·±£Ã»ÓйÒÔÚÒ»¸öÔã¸âµÄÅäÖá£
ÕâÌṩÁ˸ɾ»µÄ×îÖÕÌõ¼þ£¬´Ù½øÁË×Ô¶¯»¯±È½Ï£¨Ã»Óкϳɹ¤×÷Éú³ÉºÍ½¨Ä£µÄÏÝÚå [31]£©¡£ÆÀ¼Û¼¼ÊõµÄ¶¨Á¿±È½Ï¿ÉÒÔÔÚ[78]ÖÐÕÒµ½£ºÏ¸½ÚÊÇÁîÈ˾ªÑȵÄ΢Ãî¡£
²»¿ÉÄܶÔÕæÊµÉú²úµ¥Ôª½øÐÐʵÑ飬µ«¿ÉÒÔʹÓÃFauxmaster»ñµÃ¸ß±£ÕæµÄÄ£Äâ½á¹û£¬Ê¹ÓÃÀ´×Ôʵ¼ÊÉú²úµ¥ÔªºÍ¹¤×÷¸ºÔصÄÊý¾Ý£¬°üÀ¨ÆäËùÓÐÔ¼Êø¡¢Êµ¼ÊÏÞÖÆ¡¢±£ÁôºÍʹÓÃÊý¾Ý£¨¡ì5.5
£©¡£ ÕâЩÊý¾ÝÀ´×Ô2014-10-01 14£º00 PDTµÄBorg¼ì²éµã¡£ £¨ÆäËû¼ì²éµã²úÉúÁËÀàËÆ½á¹û£©¡£Ñ¡Ôñ15¸öBorgcell½øÐб¨¸æ£¬Ê×ÏÈÏû³ýÌØÊâÓÃ;¡¢²âÊÔºÍС£¨<5000̨»úÆ÷£©cell£¬È»ºó¶ÔÊ£ÓàµÄcell½øÐÐÈ¡Ñù£¬ÒÔ»ñµÃ´óС¾ùÔȵķ¶Î§¡£
ΪÁËÔÚѹËõµÄcellÖÐά³Ö»úÆ÷Òì¹¹ÐÔ£¬Ëæ»úÑ¡Ôñ»úÆ÷½øÐÐɾ³ý¡£ ΪÁ˱£³Ö¹¤×÷¸ºÔصÄÒì¹¹ÐÔ£¬±£Áô³ýÁËÓëÌØ¶¨»úÆ÷£¨ÀýÈ磬Borglets£©°ó¶¨µÄ·þÎñÆ÷ºÍ´æ´¢ÈÎÎñÍâµÄÒ»ÇС£Îª´óÓÚÔcell´óСһ°ëµÄ×÷Òµ¸ü¸ÄÓ²Ô¼ÊøÎªÈíÔ¼Êø£¬²¢ÔÊÐí¶à´ï0.2£¥µÄÈÎÎñµÈ´ý£¬Èç¹ûËûÃǷdz£¡°ÌôÌÞ¡±²¢Ö»ÄÜ·ÅÖÃÔÚÉÙÊý¼¸Ì¨»úÆ÷ÉÏ;
¹ã·ºµÄʵÑé±íÃ÷£¬Õâ²úÉúÁ˵ͷ½²îµÄ¿ÉÖØ¸´½á¹û¡£ Èç¹ûÎÒÃÇÐèÒª±ÈÔcell¸ü´óµÄcell£¬¿ÉÒÔÔÚѹËõ֮ǰ¿Ë¡Ôʼcell¼¸´Î;
Èç¹ûÎÒÃÇÐèÒª¸ü¶àcell£¬Ö»ÐèÒª¿Ë¡ÔÀ´µÄcell¼´¿É¡£

ͼ6£º·ÖÀëÓû§½«ÐèÒª¸ü¶àµÄ»úÆ÷¡£Èç¹ûÓû§¶àÓÚËùʾµÄãÐÖµ£¬Õë¶Ô5¸ö²»Í¬µÄcell£¬¸ø³öÁ˸÷˽Óе¥ÔªµÄ
Cell×ÜÊýºÍÐèÒªµÄ¶îÍâ»úÆ÷¡£
¶ÔÓÚ¾ßÓв»Í¬Ëæ»úÊýÖÖ×ÓµÄÿ¸öcell£¬Ã¿¸öʵÑéÖØ¸´11´Î¡£ ÔÚͼ±íÖУ¬ÎÒÃÇʹÓôíÎóÀ¸ÏÔʾËùÐè»úÆ÷ÊýÁ¿µÄ×îСֵºÍ×î´óÖµ£¬²¢Ñ¡Ôñ90£¥ileÖµ×÷Ϊ¡°½á¹û¡±-ƽ¾ùÖµ»òÖÐλÊý²¢²»·´Ó³ÏµÍ³¹ÜÀíÔ±Èç¹ûÏ£ÍûºÏÀíµØÈ·±£¹¤×÷¸ºÔØÊʺÏʱ½«×öʲô¡£
ÎÒÃÇÈÏΪcellѹËõÌṩÁËÒ»ÖÖ¹«Æ½¡¢Ò»Öµķ½·¨À´±È½Ïµ÷¶È²ßÂÔ£¬ËüÖ±½Óת»¯Îª³É±¾/Ð§Òæ½á¹û£º¸üºÃµÄ²ßÂÔÐèÒª¸üÉٵĻúÆ÷À´ÔËÐÐÏàͬµÄ¹¤×÷¸ºÔØ¡£
ÎÒÃǵÄʵÑ鼯ÖÐÔÚ´ÓÒ»¸öʱ¼äµãµ÷¶È£¨´ò°ü£©¹¤×÷¸ºÔØ£¬¶ø²»ÊÇÖØ·Å³¤ÆÚ¹¤×÷¸ºÔظú×Ù¡£ Õⲿ·ÖÊÇΪÁ˱ÜÃâÓ¦¶Ô¿ª·ÅºÍ·â±ÕÅŶÓÄ£Ð͵ÄÀ§ÄÑ[71,79]£¬²¿·ÖÔÒòÊÇ´«Í³µÄÍê³Éʱ¼äÖ¸±ê²»ÊÊÓÃÓÚ³¤ÆÚÔËÐзþÎñµÄ»·¾³£¬²¿·ÖÊÇΪÁËÌṩÇåÎúµÄÐźÅ
½øÐбȽϣ¬²¿·ÖÊÇÒòΪÎÒÃDz»ÏàÐŽá¹û»áÓÐÃ÷ÏԵIJ»Í¬£¬²¿·ÖÊÇÒ»¸öʵ¼ÊÎÊÌ⣺ÎÒÃÇ·¢ÏÖ×Ô¼ºÏûºÄÁË200000¸öBorg
CPUºËÓÃÓÚʵÑé - ¼´Ê¹°´¹È¸èµÄ¹æÄ££¬ÕâÒ²ÊÇÒ»¸ö·Çƽ·²µÄͶ×Ê ¡£
ÔÚ²úÆ·ÖУ¬Õë¶Ô¹¤×÷¸ºÔصÄÔö³¤Áô³öÓÐЧµÄ¿Õ¼ä£¬Å¼È»µÄ¡°black swan¡±Ê¼þ£¬¸ºÔظ߷壬»úÆ÷¹ÊÕÏ£¬Ó²¼þ¸üУ¬ÒÔ¼°´ó¹æÄ£¾Ö²¿¹ÊÕÏ£¨e.g.,
a power supply bus duct£©¡£Í¼4ÏÔʾÁËÈç¹ûÓ¦ÓÃÁËcellѹËõ£¬ÕæÊµµÄcellÓжàС¡£Í¼ÖиúËæµÄ»ùÏßʹÓÃÁËѹËõµÄ´óС¡£

ͼ7£º½«cellϸ·Ö³É¸üСµÄcell½«ÐèÒª¸ü¶àµÄ»úÆ÷¡£ Èç¹û½«ÕâÐ©ÌØ¶¨cell»®·ÖΪ²»Í¬ÊýÁ¿µÄ½ÏСcell£¬ÔòÐèÒª¶îÍâµÄ»úÆ÷£¨×÷Ϊµ¥¸öcellÇé¿öµÄ°Ù·Ö±È£©¡£
5.2 cell¹²Ïí
¼¸ºõËùÓлúÆ÷ͬʱÔËÐÐ×Åprod ºÍ non-prodÈÎÎñ£ºÔÚ¹²ÏíµÄBorg cellÖÐ98%µÄ»úÆ÷£¬ÓÐ83%¿çÔ½Borg¹ÜÀíµÄÕû¸öµÄ»úÆ÷¼¯ºÏ¡££¨ÓÐÒ»Ð©ÌØÊâÓÃ;µÄרÓÃcell£©¡£
ÓÉÓںܶàÆäËü×éÖ¯ÔÚµ¥¶ÀµÄ¼¯ÈºÖÐÔËÐÐÃæÏòÓû§»òÅúÁ¿×÷Òµ£¬ÎÒÃǶÔÈç¹ûÎÒÃÇÒ²ÕâÑù×ö»á·¢Éúʲô×öÁ˵÷²é¡£Í¼5ÏÔʾÁË·ÖÀ뿪procºÍnon-proc¹¤×÷£¬ÔÚÖÐÖµµÄcellÖн«ÐèÒª20-30%µÄ¸ü¶àµÄ»úÆ÷À´ÔËÐй¤×÷¸ºÔØ¡£ÕâÊÇÒòΪproc×÷Òµ×ÜÊÇ»áÔ¤Áô×ÊÔ´À´´¦ÀíÏ¡ÓеĸºÔظ߷壬µ«´ó²¿·Öʱ¼ä²¢²»Ê¹ÓÃÕâЩ×ÊÔ´¡£Borg»ØÊÕÀûÓÃÕâЩδʹÓõÄ×ÊÔ´À´ÔËÐд󲿷Önon-proc¹¤×÷£¬ÕâÑù×ÜÌåÉϾÍÐèÒª¸üÉٵĻúÆ÷ÁË¡£
´ó²¿·ÖBorg cell±»ÊýÒÔǧ¼ÆµÄÓû§¹²Ïí¡£Í¼6ÏÔʾÁËÔÒò¡£¶ÔÕâ¸ö²âÊÔ£¬Èç¹ûÓû§µÄ¹¤×÷¸ºÔØÏûºÄÁËÖÁÉÙ10TiB£¨»òÕß100
TiB£©µÄÄڴ棬¾Í·ÖÀëÓû§µÄ¹¤×÷¸ºÔص½Ò»¸öеÄcell¡£ÏÖ´æµÄ²ßÂÔ¿´ÆðÀ´ÊǺõģº¼´Ê¹ÊǸü´óµÄ¼«ÏÞ£¬½«ÐèÒª2¨C16¡Á×÷ΪһЩcell£¬ÒÔ¼°20¨C150%µÄ¶îÍâµÄ»úÆ÷¡£ÔٴΣ¬ºÏ²¢×ÊÔ´ÏÔÖø¼õÉÙÁ˳ɱ¾¡£
µ«ÊÇ¿ÉÄܽ«²»Ïà¹ØµÄÓû§ºÍ×÷ÒµÀàÐÍ´ò°üµ½Í¬Ò»Ì¨»úÆ÷ÉϻᵼÖÂCPU¸ÉÈÅ£¬Òò´ËÐèÒª¸ü¶àµÄ»úÆ÷À´ÃÖ²¹£¿ ΪÁËÆÀ¹ÀÕâÒ»µã£¬ÎÒÃÇÑо¿ÁËÔÚ¾ßÓÐÏàͬʱÖÓËٶȵÄÏàͬ»úÆ÷ÀàÐÍÉÏÔËÐеIJ»Í¬»·¾³ÖеÄÈÎÎñµÄCPI£¨Ã¿¸öÖ¸ÁîµÄÖÜÆÚÊý£©ÈçºÎ¸Ä±ä¡£
ÔÚÕâЩÌõ¼þÏ£¬CPIÖµÊǿɱȵ쬲¢ÇÒ¿ÉÒÔÓÃ×÷Õë¶ÔÐÔÄܸÉÈŵĴúÀí£¬ÒòΪCPIµÄ·±¶¼Ó±¶ÁËCPU°ó¶¨³ÌÐòµÄÔËÐÐʱ¼ä¡£ÔÚÒ»¸öÐÇÆÚÄÚ´ÓÔ¼12000¸öËæ»úÑ¡ÔñµÄprodÈÎÎñÊÕ¼¯Êý¾Ý£¬Ê¹ÓÃ[83]ÖÐÃèÊöµÄÓ²¼þÅäÖüܹ¹£¬ÔÚ5·ÖÖӵļä¸ôÄÚ¶ÔÖÜÆÚºÍÖ¸Áî½øÐмÆÊý£¬²¢¶ÔÑù±¾½øÐмÓȨ£¬Ê¹µÃÿÃëÖÓµÄCPUʱ¼ä±»¹«Æ½¼ÆÊý¡£
½á¹û²¢²»ÇåÎú¡£
£¨1£©ÎÒÃÇ·¢ÏÖCPIÓëÔÚÏàͬʱ¼ä¼ä¸ôÄÚµÄÁ½¸ö²âÁ¿½á¹ûÕýÏà¹Ø£º»úÆ÷ÉϵÄ×ÜÌåCPUʹÓÃÂÊ£¬£¨ºÜ´ó³Ì¶ÈÉ϶ÀÁ¢µØ£©»úÆ÷ÉϵÄÈÎÎñÊýÁ¿;
Ïò»úÆ÷Ìí¼ÓÈÎÎñʹµÃÆäËûÈÎÎñµÄCPIÌá¸ß0.3£¥£¨Ê¹ÓÃÊʺÏÕâЩÊý¾ÝµÄÏßÐÔÄ£ÐÍ£©; ½«»úÆ÷CPUʹÓÃÂÊÌá¸ß10£¥Ê¹µÃCPIÌá¸ßСÓÚ2£¥¡£
µ«ÊǼ´Ê¹Ïà¹ØÐÔÔÚͳ¼ÆÉÏÊÇÖØÒªµÄ£¬Ò²Ö»ÏÔʾÁËÔÚCPI²âÁ¿Öп´µ½µÄ·½²îµÄ5£¥; ÆäËûÒòËØÕ¼Ö÷µ¼µØÎ»£¬ÀýÈçÓ¦ÓõĹÌÓвîÒìºÍÌØ¶¨µÄ¸ÉÈÅģʽ[24,83]¡£
£¨2£©½«ÎÒÃÇ´Ó¹²ÏícellÖвÉÑùµÄCPIÓëÀ´×Ô¾ßÓнÏÉÙ²»Í¬Ó¦ÓõöרÓÃcellµÄCPI½øÐбȽϣ¬ÎÒÃÇ¿´µ½¹²ÏícellµÄƽ¾ùCPIΪ1.58£¨¦Ò=
0.35£©£¬×¨ÓÃcellµÄƽ¾ùCPIΪ1.53£¨¦Ò= 0.32£©- ¼´£¬CPUÔÚ¹²ÏícellÖÐÐÔÄܽµµÍÔ¼3£¥¡£
£¨3£©ÎªÁ˽â¾ö²»Í¬cellÖеÄÓ¦ÓÿÉÄܾßÓв»Í¬¹¤×÷¸ºÔØ»ò»¹Óöµ½Ñ¡ÔñÆ«²î£¨¿ÉÄܽ«¸ÉÈŸüÃô¸ÐµÄ³ÌÐòÒÑ¾ÒÆ¶¯µ½×¨ÓÃcell£©µÄµ£ÓÇ£¬¿¼²ìÁËBorgletµÄCPI£¬ËüÔÚÁ½ÖÖÀàÐ͵ÄËùÓлúÆ÷ÉÏÔËÐС£ËüÔÚרÓÃcellÖеÄCPIΪ1.20£¨¦Ò=
0.29£©£¬ÔÚ¹²ÏícellÖеÄCPIΪ1.43£¨¦Ò= 0.45£©£¬±íÃ÷ËüÔÚרÓÃcellÖеÄÔËÐÐËÙ¶ÈΪ1.19±¶£¬ÓëÔÚ¹²Ïíµ¥ÔªÖÐÒ»Ñù¿ì£¬ËäÈ»Õâ¼ÓÖØÁËÇá¸ºÔØ»úÆ÷µÄÓ°Ï죬µ«Çá΢ƫ²î½á¹ûÓÐÀûÓÚרÓÃcell¡£

ͼ8£ºÃ»ÓÐÊʺϴó¶àÊýÈÎÎñµÄͰ´óС¡£ÇëÇóµÄCPUºÍÄÚ´æµÄCDFÒªÇó¿çÔ½Ñù±¾µ¥Ôª¡£
ûÓÐÒ»¸öֵͻ³ö£¬ËäÈ»¼¸¸öÕûÊýCPUºË´óСÓеã¸üÊÜ»¶Ó¡£

ͼ9£º¡°Bucketing¡±×ÊÔ´ÐèÇó½«ÐèÒª¸ü¶àµÄ»úÆ÷¡£
½«15¸öµ¥ÔªÖеÄCPUºÍ´æ´¢Æ÷ÇëÇóËÄÉáÎåÈëΪÏÂÒ»¸ö×î½Ó½ü2µÄÃÝËù²úÉúµÄ¶îÍ⿪ÏúµÄCDF¡£ ÏÂÏÞºÍÉÏÏÞ¿çԽʵ¼ÊÖµ£¨¼ûÎı¾£©¡£
ÕâЩʵÑé֤ʵ£¬²Ö¿â¹æÄ£µÄÐÔÄܱȽÏÊǼ¬Êֵģ¬ÔÚ[51]ÖмÓÇ¿Á˹۲죬²¢ÇÒ»¹±íÃ÷¹²Ïí²»»á´ó´óÔö¼ÓÔËÐгÌÐòµÄ³É±¾¡£
µ«¼´Ê¹¼ÙÉè×î²»ÀûµÄ½á¹û£¬¹²ÏíÈÔÈ»ÊÇÒ»¸öʤÀû£ºCPU¼õËÙ³¬¹ýÁ˼¸ÖÖ²»Í¬»®·Ö·½°¸ËùÐè»úÆ÷µÄ¼õÉÙ£¬¹²ÏíÓŵãÊÊÓÃÓÚËùÓÐ×ÊÔ´£¬°üÀ¨ÄÚ´æºÍ´ÅÅÌ£¬¶ø²»½ö½öÊÇCPU
¡£
5.3 ´óϸ°û
Google¹¹½¨ÁË´ócell£¬ÒÔÔÊÐíÔËÐдóÐͼÆË㣬²¢¼õÉÙ×ÊÔ´Ë鯬¡£Í¨¹ý½«cellµÄ¹¤×÷¸ºÔØ·Öµ½¶à¸ö½ÏСµÄcellÀ´²âÊÔºóÕßµÄЧ¹û
- Ê×ÏÈËæ»úÅÅÁÐ×÷Òµ£¬È»ºóÔÚ·ÖÇøÖ®¼äÒÔÑ»··½Ê½·ÖÅä×÷Òµ¡£ ͼ7֤ʵʹÓýÏСcell½«Ã÷ÏÔÐèÒª¸ü¶àµÄ»úÆ÷¡£

ͼ10£º×ÊÔ´»ØÊÕÊÇÏ൱ÓÐЧµÄ¡£ Èç¹û½ûÓÃ15¸ö´ú±íÐÔcell£¬ÔòÐèÒª¶îÍâ»úÆ÷µÄCDF¡£

ͼ11£º×ÊÔ´¹À¼ÆÔÚʶ±ðδʹÓõÄ×ÊÔ´·½ÃæÊdzɹ¦µÄ¡£ÐéÏßÏÔʾÁË15¸öcellÖеÄÈÎÎñÇëÇ󣨼«ÏÞ£©µÄCPUºÍÄÚ´æÊ¹ÓÃÂʵÄCDF¡£´ó¶àÊýÈÎÎñʹÓÃÔ¶Ô¶µÍÓÚÆä¼«ÏÞ£¬ËäÈ»ÉÙÊý±ÈÇëÇóµÄʹÓÃÁ˸ü¶àµÄCPU¡£ÊµÏßÏÔʾ³öÁËCPUºÍÄÚ´æ±£ÁôÏÞÖÆÂʵÄCDF;
ÕâЩ¶¼¸ü½Ó½ü100£¥¡£Ö±ÏßÊÇ×ÊÔ´¹À¼Æ´¦ÀíµÄαÏñ¡£
5.4 ϸÁ£¶È×ÊÔ´ÇëÇó
BorgÓû§ÇëÇóCPUÒÔmilli-coresΪµ¥Î»£¬ÄÚ´æºÍ´ÅÅ̿ռäÒÔ×Ö½ÚΪµ¥Î»¡£ £¨coreÊÇ´¦ÀíÆ÷³¬Ị̈߳¬Õë¶Ô»úÆ÷ÀàÐ͵ÄÐÔÄܽøÐбê×¼»¯£©¡£Í¼8ÏÔʾÁËÀûÓÃÕâÖÖÁ£¶È£ºÔÚËùÇëÇóµÄÄÚ´æ»òCPUºËµÄÊýÁ¿Éϼ¸ºõûÓÐÃ÷ÏԵġ°sweet
spots¡±£¬²¢ÇÒÕâЩ×ÊÔ´Ö®¼ä¼¸ºõûÓÐÃ÷ÏÔµÄÏà¹ØÐÔ¡£³ýÁËÔÚ90£¥¼°ÒÔÉϵÄÄÚ´æÇëÇóÉÔ´óÖ®Í⣬ÕâЩ·Ö²¼Óë[68]ÖÐÌá³öµÄ·Ö²¼·Ç³£ÏàËÆ¡£
Ìṩһ×é¹Ì¶¨´óСµÄÈÝÆ÷»òÐéÄâ»úËäÈ»ÔÚIaaS£¨»ù´¡ÉèÊ©¼´·þÎñ£©ÌṩÉÌ[7,33]Öкܳ£¼û£¬µ«²»ÄܺܺõØÂú×ãÎÒÃǵÄÐèÇó¡£ÎªÁË˵Ã÷ÕâÒ»µã£¬Í¨¹ýÔÚÿ¸ö×ÊԴά¶ÈÉϽ«ËüÃÇËÄÉáÎåÈëµ½ÏÂÒ»¸ö×î½Ó½üµÄ2µÄÃÝ£¬´ÓCPUµÄ0.5Äں˺ÍRAMµÄ1GiB¿ªÊ¼£¬¶Ôprod×÷ÒµºÍ·ÖÅ䣨¡ì2.4£©¡°bucketed¡±CPUºËºÍÄÚ´æ×ÊÔ´ÏÞÖÆ¡£Í¼9ÏÔʾÕâÑù×ö½«ÐèÒª±Èƽ¾ùÇé¿ö϶à30-50£¥µÄ×ÊÔ´¡£ÉÏÏÞÀ´×ÔÓÚ½«Õû¸ö»úÆ÷·ÖÅ䏸´óÐÍÈÎÎñ£¨ÔÚѹËõǰ½«Ôʼϸ°û·Á½·¬ºó²»Êʺϣ©;
ÏÂÏÞÀ´×ÔÓÚÔÊÐíÕâЩÈÎÎñ½øÈë´ý¶¨×´Ì¬¡££¨ÕâСÓÚ[37]Öб¨¸æµÄ´óÔ¼100£¥µÄ¿ªÏú£¬ÒòΪÎÒÃÇÖ§³Ö³¬¹ý4¸öbuckets£¬²¢ÔÊÐíCPUºÍRAMÈÝÁ¿¶ÀÁ¢À©Õ¹¡££©

ͼ12£º¸ü»ý¼«µÄ×ÊÔ´¹À¼Æ¿ÉÒÔ»ØÊÕ¸ü¶àµÄ×ÊÔ´£¬¶ÔÄÚ´æ²»×ãʼþ£¨OOM£©¼¸ºõûÓÐÓ°Ïì¡£Ò»¸öÉú²úcellʹÓõÄʱ¼äÏߣ¨´Ó2013-11-11¿ªÊ¼£©£¬5·ÖÖÓ´°¿Úƽ¾ùµÄÔ¤ÁôºÍÏÞÖÆÒÔ¼°ÀÛ»ýµÄÄÚ´æ²»×ãʼþ;
ºóÕßµÄбÂÊÊÇOOMµÄ×ÜËÙÂÊ¡£ÊúÀ¸Ê¹Óò»Í¬µÄ×ÊÔ´¹À¼ÆÉèÖð´ÖÜ·Ö¿ª¡£
5.5 ×ÊÔ´»ØÊÕ
×÷Òµ¿ÉÒÔÖ¸¶¨×ÊÔ´ÏÞÖÆ - ÿ¸öÈÎÎñÓ¦±»ÊÚÓèµÄ×ÊÔ´µÄÉÏÏÞ¡£ BorgʹÓøÃÏÞÖÆÀ´È·¶¨Óû§ÊÇ·ñÓÐ×ã¹»µÄÅä¶îÀ´½ÓÊÜ×÷Òµ£¬²¢È·¶¨Ìض¨»úÆ÷ÊÇ·ñÓÐ×ã¹»µÄÃâ·Ñ×ÊÔ´À´°²ÅÅÈÎÎñ¡£
ÕýÈçÓÐÓû§¹ºÂò±ÈËùÐèÒªµÄ¸ü¶àµÄÅä¶î£¬ÓÐÓû§ÇëÇó±ÈÈÎÎñ½«Ê¹Óõĸü¶àµÄ×ÊÔ´£¬ÒòΪBorgͨ³£»áɱËÀÒ»¸öÊÔͼʹÓñÈËüÐèÒªµÄ¸ü¶àµÄRAM»ò´ÅÅ̿ռäµÄÈÎÎñ£¬»ò½ÚÁ÷CPUµ½
ÈÎÎñËùÒªÇóµÄ¡£ ´ËÍ⣬ijЩÈÎÎñż¶ûÐèҪʹÓÃÆäËùÓÐ×ÊÔ´£¨ÀýÈ磬ÔÚÒ»ÌìµÄ¸ß·åʱ¼ä»òÔÚÓ¦¶Ô¾Ü¾ø·þÎñ¹¥»÷ʱ£©£¬µ«´ó¶àÊýʱ¼ä²»»á¡£
²»ÊÇÀ˷ѵ±Ç°Î´±»ÏûºÄµÄÒÑ·ÖÅä×ÊÔ´£¬¶øÊǹÀ¼ÆÈÎÎñ½«Ê¹ÓöàÉÙ×ÊÔ´£¬²¢»ØÊÕ¿ÉÒÔÈÝÈ̵ÍÖÊÁ¿×ÊÔ´£¨ÀýÈçÅú´¦Àí×÷Òµ£©µÄ¹¤×÷µÄÊ£Óà×ÊÔ´¡£ÕâÕû¸ö¹ý³Ì³ÆÎª×ÊÔ´»ØÊÕ¡£
¸Ã¹À¼Æ³ÆÎªÈÎÎñµÄÔ¤Áô£¬²¢ÇÒÓÉBorgmasterÿ¼¸ÃëÖÓʹÓÃÓÉBorglet²¶»ñµÄϸÁ£¶ÈʹÓã¨×ÊÔ´ÏûºÄ£©ÐÅÏ¢À´¼ÆËã¡£³õʼԤÁô±»ÉèÖÃΪµÈÓÚ×ÊÔ´ÇëÇó£¨ÏÞÖÆ£©;ÔÚ300sºó£¬ÎªÁËÔÊÐí˲¼äÆô¶¯£¬»ºÂýÏòʵ¼ÊʹÓüÓÉϰ²È«ÓàÁ¿Ë¥¼õ¡£Èç¹ûʹÓó¬¹ý£¬Ô¤¶©»áѸËÙÔö¼Ó¡£
Borgµ÷¶È³ÌÐòʹÓü«ÏÞÀ´¼ÆËãprodÈÎÎñµÄ¿ÉÐÐÐÔ£¨¡ì3.2£©£¬Òò´Ëµ÷¶È³ÌÐò´Ó²»ÒÀÀµÓÚÒÑ»ØÊÕµÄ×ÊÔ´£¬Ò²Ã»Óб©Â¶¸ø×ÊÔ´³¬¶î¶©ÔÄ;
¶ÔÓÚnon-procÈÎÎñ£¬Ê¹ÓÃÏÖÓÐÈÎÎñµÄÔ¤Áô£¬ÒԱ㽫ÐÂÈÎÎñ°²Åŵ½ÒÑ»ØÊÕµÄ×ÊÔ´ÖС£
»úÆ÷ÔÚÔËÐÐʱ¿ÉÄÜ»áºÄ¾¡×ÊÔ´£¬Èç¹ûÕâ¸ö±£Áô£¨Ô¤²â£©ÊÇ´íÎóµÄ - ¼´Ê¹ËùÓÐÈÎÎñʹÓõÄ×ÊԴСÓÚÆä¼«ÏÞ¡£ Èç¹û·¢ÉúÕâÖÖÇé¿ö£¬É±ËÀ»òÏÞÖÆnon-procÈÎÎñ£¨ÓÀ²»´¦ÀíprocÈÎÎñ£©¡£

ͼ13£ºµ÷¶ÈÑÓ³Ù×÷Ϊ¸ºÔصĺ¯Êý¡£ Ãè»æÁËÒ»¸ö¿ÉÔËÐеÄÏ̱߳ØÐëµÈ´ý¶àÓÚ1msµÄʱ¼äÀ´·ÃÎÊCPUµÄƵÂÊ£¬²¢×÷Ϊ»úÆ÷ÓжàæµÄº¯Êý¡£
ÔÚÿ¶ÔÊúÀ¸ÖУ¬ÑÓ³ÙÃô¸ÐµÄÈÎÎñÔÚ×ó²à£¬Åú´¦ÀíÈÎÎñÔÚÓҲࡣ½öÔÚ¼¸¸öʱ¼äµÄ°Ù·Ö±ÈÖУ¬Ï̱߳ØÐëµÈ´ý³¬¹ý5ms²ÅÄÜ·ÃÎÊCPU£¨°×É«À¸£©;ÆäËü¼¸ºõ²»±ØµÈ´ý¸ü³¤µÄʱ¼ä£¨¸üºÚµÄÀ¸£©¡£À´×Ô´Ó
2013Äê12ÔÂÒÔÀ´´ú±íÐÔµ¥Ôª¸ñµÄÊý¾Ý£»´íÎóÀ¸ÏÔʾÿÈÕ²îÒì¡£
ͼ10ÏÔʾÁ˸ü¶àµÄ»úÆ÷ÎÞÐè×ÊÔ´»ØÊÕ¡£´óÔ¼20£¥µÄ¹¤×÷¸ºÔØ£¨¡ì6.2£©ÔÚÖÐÖµcellµÄ»ØÊÕ×ÊÔ´ÖÐÔËÐС£
¿ÉÒÔÔÚͼ11Öп´µ½¸ü¶àϸ½Ú£¬ÆäÖÐÏÔʾÁËÔ¤ÁôºÍʹÓÃÏÞÖÆµÄ±ÈÂÊ¡£ Èç¹ûÐèÒª×ÊÔ´£¬³¬¹ýÆäÄÚ´æÏÞÖÆµÄÈÎÎñ½«Ê×Ïȱ»ÇÀÕ¼£¬¶ø²»¹ÜÆäÓÅÏȼ¶ÈçºÎ£¬Òò´ËÈÎÎñ³¬¹ýÆäÄÚ´æÏÞÖÆÊǺÜÉÙ¼ûµÄ¡£
ÁíÒ»·½Ã棬CPU¿ÉÒÔÈÝÒ׵ر»½ÚÁ÷£¬Òò´Ë¶ÌÆÚ·åÖµ¿ÉÒÔÏ൱ÎÞº¦µØÍƶ¯Ê¹ÓøßÓÚÔ¤Áô£¨push usage above
reservation fairly harmlessly£©¡£
ͼ11±íÃ÷×ÊÔ´»ØÊÕ¿ÉÄÜÊÇÎÞ±ØÒª±£ÊصģºÔÚÔ¤ÁôºÍʹÓÃÏßÖ®¼ä´æÔÚÃ÷ÏÔµÄÇøÓò¡£ ΪÁ˲âÊÔÕâÒ»µã£¬Ñ¡ÔñÁËÒ»¸ö»îµÄÉú²úcell£¬²¢Í¨¹ý¼õÉÙ°²È«±ß½ç£¬ÔÚµÚÒ»Öܵ÷Õû×ÊÔ´¹À¼ÆËã·¨µÄ²ÎÊýµ½Ò»¸ö»ý¼«µÄÉèÖã¬È»ºóÔÚÏÂÒ»Öܵ÷Õûµ½»ùÏߺͻý¼«ÉèÖÃÖ®¼äµÄÖмäÉèÖã¬È»ºó»Ö¸´µ½»ùÏß¡£Í¼12ÏÔʾ·¢ÉúÁËʲô¡£ÔÚµÚ¶þÖÜ
±£ÁôÃ÷ÏÔ¸ü½Ó½üʹÓ㬵ÚÈýÖÜÉԲ»ù×¼ÖÜ£¨µÚÒ»ºÍµÚËÄÖÜ£©ÏÔʾÁË×î´ó²î¾à¡£ÈçÔ¤ÆÚµÄÄÇÑù£¬Äڴ棨OOM£©Ê¼þµÄ·¢ÉúÂÊÔÚµÚ2Öܺ͵Ú3ÖÜÇá΢Ôö¼Ó¡£ÔÚÆÀ¹À½á¹ûºó£¬ÎÒÃǾö¶¨¾»ÊÕÒæ³¬¹ýÁËÏû¼«Ã棬²¢½«ÖеÈ×ÊÔ´»ØÊÕ²ÎÊý²¿Êðµ½ÆäËû
cell¡£
6.¸ôÀë
50£¥µÄ»úÆ÷ÔËÐÐ9¸ö»ò¸ü¶àµÄÈÎÎñ; Ò»¸ö90%ileµÄ»úÆ÷´óÔ¼ÓÐ25¸öÈÎÎñ£¬½«ÔËÐдóÔ¼4500¸öÏß³Ì[83]¡£ËäÈ»ÔÚÓ¦ÓÃÖ®¼ä¹²Ïí»úÆ÷Ôö¼ÓÁËÀûÓÃÂÊ£¬µ«»¹ÐèÒªÁ¼ºÃµÄ»úÖÆÀ´·ÀÖ¹ÈÎÎñ±Ë´Ë¸ÉÈÅ¡£Õâ¶¼ÊÊÓÃÓÚ°²È«ÐÔºÍÐÔÄÜ¡£
6.1 °²È«¸ôÀë
ʹÓÃLinux chroot jail×÷Ϊͬһ̨»úÆ÷É϶à¸öÈÎÎñÖ®¼äµÄÖ÷Òª°²È«¸ôÀë»úÖÆ¡£ÎªÁËÔÊÐíÔ¶³Ìµ÷ÊÔ£¬Í¨¹ýʹÓÃ×Ô¶¯·Ö·¢£¨ºÍ³·Ïú£©sshÃÜÔ¿£¬Ê¹µÃÓû§Ö»Óе±»úÆ÷ÔÚΪ¸ÃÓû§ÔËÐÐÈÎÎñʱ²ÅÄÜ·ÃÎʸûúÆ÷¡£
¶ÔÓÚ´ó¶àÊýÓû§£¬ÕâÒѱ»Ì滻ΪborgsshÃüÁËüÓëBorgletÐ×÷¹¹½¨Ò»¸össhÁ¬½Óµ½Ò»¸öshell£¬¸ÃshellÔÚÓëÈÎÎñÏàͬµÄchrootºÍcgroupÖÐÔËÐУ¬´Ó¶ø¸ü½ôÃܵØËø¶¨·ÃÎÊ¡£
VMºÍ°²È«É³ºÐ¼¼ÊõÓÃÓÚͨ¹ýGoogleµÄAppEngine£¨GAE£©[38]ºÍGoogle Compute
Engine£¨GCE£©ÔËÐÐÍⲿÈí¼þ¡£ÔÚ×÷ΪBorgÈÎÎñÔËÐеÄKVM½ø³Ì[54]ÖÐÔËÐÐÿ¸öÍйܵÄVM¡£
6.2 ÐÔÄܸôÀë
BorgletµÄÔçÆÚ°æ±¾¾ßÓÐÏà¶ÔÔʼµÄ×ÊÔ´¸ôÀëʵʩ£ºÄڴ棬´ÅÅ̿ռäºÍCPUÖÜÆÚµÄʺóʹÓüì²é£¬½áºÏʹÓùý¶àÄÚ´æ»ò´ÅÅ̵ÄÈÎÎñ£¬ÒÔ¼°»ý¼«Ó¦ÓÃLinuxµÄCPUÓÅÏȼ¶À´¿ØÖÆÊ¹ÓÃÌ«¶àCPUµÄÈÎÎñ¡£
µ«ÊÇÆÛÆÈÎÎñ¶Ô»úÆ÷ÉÏÆäËûÈÎÎñµÄÐÔÄÜÓ°ÏìÈÔȻ̫ÈÝÒ×£¬Òò´ËһЩÓû§ÅòÕÍÁËËûÃǵÄ×ÊÔ´ÇëÇó£¬ÒÔ¼õÉÙBorg¿ÉÒÔÓëËûÃǹ²Í¬µ÷¶ÈµÄÈÎÎñÊýÁ¿£¬Õâ½µµÍÁËÀûÓÃÂÊ¡£
×ÊÔ´»ØÊÕ¿ÉÒÔÊÕ»ØÒ»Ð©Ê£ÓàµÄ£¬µ«²»ÊÇËùÓУ¬ÒòÎªÉæ¼°°²È«±ß¼Ê¡£ÔÚ×¶ËµÄÇé¿öÏ£¬Óû§ÇëÇóʹÓÃרÓûúÆ÷»òcell¡£
ÏÖÔÚ£¬ËùÓÐBorgÈÎÎñ¶¼ÔÚ»ùÓÚLinux cgroupµÄ×ÊÔ´ÈÝÆ÷ÖÐÔËÐÐ[17,58,62]£¬Borglet²Ù×÷ÈÝÆ÷ÉèÖã¬Ìṩ¸üºÃµÄ¿ØÖÆ(ÒòΪ²Ù×÷ϵͳÄÚºËÔÚÑ»·ÖÐ)¡£
¼´Ê¹Èç´Ë£¬Å¼¶ûµÄµÍ¼¶×ÊÔ´¸ÉÈÅ£¨ÀýÈ磬´æ´¢Æ÷´ø¿í»òL3¸ßËÙ»º´æÎÛȾ£©ÈÔÈ»·¢Éú£¬ÈçÔÚ[60,83]ÖС£
ΪÁ˰ïÖú¹ýÔØºÍ¹ýÁ¿Ê¹Óã¬BorgÈÎÎñÓÐÒ»¸öÓ¦ÓÃÀà»òappclass¡£ ×îÖØÒªµÄÇø±ð´æÔÚÓÚÑÓ³ÙÃô¸Ð£¨LS£©Ó¦ÓÃÀàºÍÆäÓàµÄÓ¦ÓÃÀࣨÔÚ±¾ÎÄÖгÆÎªÅú´¦Àí£©ÖС£LSÈÎÎñÓÃÓÚÃæÏòÓû§µÄÓ¦ÓóÌÐòºÍÐèÒª¿ìËÙÏìÓ¦ÇëÇóµÄ¹²Ïí»ù´¡½á¹¹·þÎñ¡£¸ßÓÅÏȼ¶LSÈÎÎñµÃµ½×î¼Ñ´¦Àí£¬²¢ÇÒÄܹ»Ò»´ÎÔÝʱʹÅúÁ¿ÈÎÎñ°¤¶ö¼¸ÃëÖÓ¡£
¶þ´Î·Ö¸î´æÔÚÓÚ¿ÉѹËõ×ÊÔ´£¨ÀýÈ磬CPUÖÜÆÚ£¬´ÅÅÌI / O´ø¿í£©ºÍ²»¿ÉѹËõ×ÊÔ´£¨ÀýÈ磬´æ´¢Æ÷£¬´ÅÅ̿ռ䣩ÖУ¬¿ÉѹËõ×ÊÔ´ÊÇ»ùÓÚËÙÂʵIJ¢ÇÒ¿ÉÒÔͨ¹ýÔÚ²»É±ËÀËüµÄÇé¿öϽµµÍÆä·þÎñÖÊÁ¿¶ø´ÓÈÎÎñÖлØÊÕ£»²»¿ÉѹËõ×ÊԴͨ³£²»ÄÜÔÚ²»É±ËÀÈÎÎñµÄÇé¿öϱ»»ØÊÕ¡£
Èç¹û»úÆ÷ºÄ¾¡Á˲»¿ÉѹËõ×ÊÔ´£¬ÔòBorgletÁ¢¼´ÖÕÖ¹ÈÎÎñ£¬´Ó×îµÍÓÅÏȼ¶µ½×î¸ßÓÅÏȼ¶£¬Ö±µ½¿ÉÒÔÂú×ãÊ£Óà±£ÁôΪֹ¡£
Èç¹û»úÆ÷ºÄ¾¡ÁË¿ÉѹËõ×ÊÔ´£¬Borglet»áÏÞÖÆÊ¹Óã¨ÓÐÀûÓÚLSÈÎÎñ£©£¬Ê¹µÃ¿ÉÒÔ´¦Àí¶Ì¸ºÔØ¸ß·å¶ø²»É±ËÀÈκÎÈÎÎñ¡£
Èç¹ûÇé¿öûÓиÄÉÆ£¬Borgmaster½«´Ó»úÆ÷ÖÐɾ³ýÒ»¸ö»ò¶à¸öÈÎÎñ¡£
BorgletÖеÄÓû§¿Õ¼ä¿ØÖÆÑ»·»ùÓÚÔ¤²âµÄδÀ´Ê¹ÓÃÇé¿ö£¨Õë¶ÔprodÈÎÎñ£©»òÄÚ´æÑ¹Á¦£¨Õë¶Ô·ÇprodµÄÇé¿ö£©¸øÈÝÆ÷·ÖÅäÄڴ棻´¦ÀíÀ´×ÔÄں˵ÄOut-of-Memory£¨OOM£©Ê¼þ;
²¢ÇÒµ±³¢ÊÔ·ÖÅ䳬³öÆäÄÚ´æÏÞÖÆÊ±£¬»òÕßµ±¹ý¶ÈÌá½»µÄ»úÆ÷ʵ¼ÊÉϺľ¡ÄÚ´æÊ±£¬É±ËÀÈÎÎñ¡£ LinuxµÄ¿ÊÍûÎļþ»º´æÓÉÓÚÐèҪ׼ȷµÄÄÚ´æºËË㣬ÏÔ×ŵØÊ¹ÊµÏÖ¸´ÔÓ»¯¡£
ΪÁËÌá¸ßÐÔÄܸôÀ룬LSÈÎÎñ¿ÉÒÔ±£ÁôÕû¸öÎïÀíCPUºË£¬´Ó¶ø×èÖ¹ÆäËûLSÈÎÎñʹÓᣠÅú´¦ÀíÈÎÎñÔÊÐíÔÚÈκκËÉÏÔËÐУ¬µ«±»¸³ÓèÏà¶ÔÓÚLSÈÎÎñµÄСµ÷¶È³ÌÐò¹²Ïí¡£Borglet¶¯Ì¬µ÷Õṵ̂À·LSÈÎÎñµÄ×ÊÔ´ÉÏÏÞ£¬ÒÔÈ·±£²»»áʹÅú´¦ÀíÈÎÎñ°¤¶ö¶à·ÖÖÓ£¬ÔÚÐèҪʱѡÔñÐÔµØÓ¦ÓÃCFS´ø¿í¿ØÖÆ[75]£»
¹²ÏíÊDz»×ãµÄ£¬ÒòΪÎÒÃÇÓжà¸öÓÅÏȼ¶¡£
ÏñLeverich [56]£¬ÎÒÃÇ·¢ÏÖ±ê×¼µÄLinux CPUµ÷¶ÈÆ÷£¨CFS£©ÐèÒª´óÁ¿µ÷Õû£¬ÒÔÖ§³ÖµÍÑӳٺ͸ßÀûÓÃÂÊ¡£
ΪÁ˼õÉÙµ÷¶È£¬ CFS°æ±¾Ê¹ÓÃÀ©Õ¹µÄÿ¸öȺ×éµÄ¸ºÔØÀúÊ·[16]£¬ÔÊÐíÓÉLSÈÎÎñÇÀÕ¼ÅúÈÎÎñ£¬²¢ÇÒµ±¶à¸öLSÈÎÎñÔÚÒ»¸öCPUÉÏÊÇ¿ÉÔËÐÐʱ¼õÉÙµ÷¶ÈÁ¿¡£
ÐÒÔ˵ÄÊÇ£¬Ðí¶àÓ¦ÓóÌÐòʹÓÃÏß³ÌÇëÇóÄ£ÐÍ£¬Õâ¼õÇáÁ˳ÖÐø¸ºÔز»Æ½ºâµÄÓ°Ïì¡£½÷É÷ʹÓÃcpusets½«CPUºË·ÖÅ䏸¾ßÓÐÌØ±ð½ôÆÈÑÓ³ÙÒªÇóµÄÓ¦ÓóÌÐò¡£
ÕâЩŬÁ¦µÄһЩ½á¹ûÈçͼ13Ëùʾ¡£ÕâÒ»ÁìÓòµÄ¹¤×÷¼ÌÐø£¬Ìí¼ÓÏ̲߳¼¾ÖºÍCPU¹ÜÀí£¬¼´NUMA-£¬³¬Ï̺߳͹¦ÂʸÐÖª£¨ÀýÈ磬[81]£©£¬²¢Ìá¸ßBorgletµÄ¿ØÖƱ£Õæ¶È¡£
ÔÊÐíÈÎÎñʹÓôﵽÆäÏÞÖÆµÄ×ÊÔ´¡£´ó¶àÊý±»ÔÊÐí³¬¹ýÓÃÓÚÖîÈçCPUµÄ¿ÉѹËõ×ÊÔ´£¬ÒÔÀûÓÃδʹÓã¨Ëɳڣ©×ÊÔ´¡£
Ö»ÓÐ5£¥µÄLSÈÎÎñ½ûÓô˹¦ÄÜ£¬¿ÉÄÜ»ñµÃ¸üºÃµÄ¿ÉÔ¤²âÐÔ; ÉÙÓÚ1£¥µÄÅúÁ¿ÈÎÎñʹÓô˹¦ÄÜ¡£Ä¬ÈÏÇé¿öÏ£¬½ûֹʹÓÃÏÐÖÃÄڴ棬ÒòΪÕâÔö¼ÓÁËÈÎÎñ±»ÖÕÖ¹µÄ»ú»á£¬µ«¼´Ê¹Èç´Ë£¬10£¥µÄLSÈÎÎñ»á¸²¸Ç´Ë¹¦ÄÜ£¬¶øÇÒ79£¥µÄÅú´¦ÀíÈÎÎñÕâÑù×ö£¬ÒòΪÕâÊÇMapReduce¿ò¼ÜµÄĬÈÏÉèÖá£Õâ²¹³äÁË»ØÊÕ×ÊÔ´µÄ½á¹û£¨¡ì5.5£©¡£Åú´¦ÀíÈÎÎñ»áËæ»úÀûÓÃδʹÓõÄÒÔ¼°»ØÊÕµÄÄڴ棺´ó¶àÊýʱ¼äÕâÊÇ¿ÉÐеģ¬ËäȻż¶ûµ±Ò»¸öLSÈÎÎñ¼±Ðè×ÊԴʱ£¬Åú´¦ÀíÈÎÎñ»á±»ÎþÉü¡£
7.Ïà¹Ø¹¤×÷
ÒѾÑо¿Á˼¸Ê®ÄêµÄ×ÊÔ´µ÷¶È£¬ÔÚ²»Í¬µÄÉÏÏÂÎÄÖУ¬Èç¹ãÓòHPC³¬¼¶¼ÆËãÍø¸ñ£¬¹¤×÷Õ¾ÍøÂçºÍ´ó¹æÄ£·þÎñÆ÷¼¯Èº¡£
ÔÚÕâÀïÖ»¹Ø×¢´óÐÍ·þÎñÆ÷¼¯Èº»·¾³ÖÐ×îÓÐÒâÒåµÄ¹¤×÷¡£
×î½üµÄһЩÑо¿·ÖÎöÁËÀ´×ÔYahoo!£¬GoogleºÍFacebookµÄ¼¯Èº¸ú×Ù[20,52,63,68,70,80,82]£¬²¢ËµÃ÷ÁËÕâЩÏÖ´úÊý¾ÝÖÐÐĺ͹¤×÷¸ºÔØÖйÌÓеĹæÄ£ºÍÒì¹¹ÐÔµÄÌôÕ½¡£
[69]°üº¬¼¯Èº¹ÜÀíÆ÷¼Ü¹¹µÄ·ÖÀà¡£
Apache Mesos [45]ʹÓûùÓÚ¹©Ó¦µÄ»úÖÆÔÚÖÐÑë×ÊÔ´¹ÜÀíÆ÷£¨ÓеãÏñBorgmaster¼õÈ¥Æäµ÷¶È³ÌÐò£©ºÍ¶à¸ö¡°¿ò¼Ü¡±£¨ÈçHadoop
[41]ºÍSpark [73]£©Ö®¼ä»®·Ö×ÊÔ´¹ÜÀíºÍ·ÅÖù¦ÄÜ¡£ BorgÖ÷ҪʹÓûùÓÚÇëÇóµÄ»úÖÆÀ´¼¯Öл¯ÕâЩ¹¦ÄÜ£¬ÕâÖÖ»úÖÆ¿ÉÒԺܺõØÀ©Õ¹¡£
DRF [29,35,36,66]×î³õÊÇΪMesos¿ª·¢µÄ; BorgʹÓÃÓÅÏȼ¶ºÍÐí¿ÉÅä¶îÀ´´úÌæ¡£Mesos¿ª·¢ÉÌÒѾÐû²¼À©Õ¹MesosÒÔ°üÀ¨Í¶»úµÄ×ÊÔ´·ÖÅäºÍ»ØÊÕ£¬²¢½â¾ö[69]ÖÐÈ·¶¨µÄһЩÎÊÌâ¡£
YARN [76]ÊÇÒ»¸öÒÔHadoopΪÖÐÐĵļ¯Èº¹ÜÀíÆ÷¡£ ÿ¸öÓ¦ÓóÌÐò¶¼ÓÐÒ»¸ö¹ÜÀíÆ÷£¬ËüÓëÖÐÑë×ÊÔ´¹ÜÀíÆ÷ÐÉÌËùÐèµÄ×ÊÔ´;
ÕâÓëGoogle MapReduce×÷Òµ×Ô2008ÄêÒÔÀ´ÓÃÓÚ´ÓBorg»ñÈ¡×ÊÔ´µÄ·½°¸´óÖÂÏàͬ.YARNµÄ×ÊÔ´¹ÜÀíÆ÷×î½ü²Å±äµÃÈÝ´í¡£
Ïà¹ØµÄ¿ªÔ´¹¤×÷ÊÇHadoopÈÝÁ¿µ÷¶ÈÆ÷[42]£¬ËüΪÈÝÁ¿±£Ö¤£¬·Ö²ã¶ÓÁУ¬µ¯ÐÔ¹²ÏíºÍ¹«Æ½ÐÔÌṩ¶à×â»§Ö§³Ö¡£
YARN×î½üÒѾÀ©Õ¹µ½Ö§³Ö¶àÖÖ×ÊÔ´ÀàÐÍ£¬ÓÅÏȼ¶£¬ÇÀÕ¼ºÍ¸ß¼¶×¼Èë¿ØÖÆ[21]¡£¶íÂÞ˹·½¿éÑо¿ÔÐÍ[40]Ö§³Ö¹¤Ê±¸ÐÖªµÄ£¨makespan-aware£©×÷Òµ´ò°ü¡£
FacebookµÄTupperware [64]ÊÇÒ»¸öÀàËÆBorgµÄϵͳ£¬ÓÃÓÚÔÚȺ¼¯Éϵ÷¶ÈcgroupÈÝÆ÷;
Ö»ÓÐһЩϸ½ÚÒѾ±»¹«¿ª£¬¾¡¹ÜËüËÆºõÌṩÁËÒ»ÖÖ×ÊÔ´»ØÊÕµÄÐÎʽ¡£ TwitterÓпªÔ´µÄAurora [5]£¬Ò»¸öÀàËÆBorgµÄµ÷¶ÈÆ÷£¬ÓÃÓÚÔÚMesosÖ®ÉÏÔËÐеij¤Ê±¼äÔËÐеķþÎñ£¬ÅäÖÃÓïÑÔºÍ״̬»úÀàËÆÓÚBorg¡£
MicrosoftµÄAutopilotϵͳÌṩÁË¡°×Ô¶¯»¯Èí¼þÅäÖúͲ¿Êð; ϵͳ¼à¿Ø; Ö´ÐÐÐÞ¸´¶¯×÷À´´¦ÀíÈí¼þºÍÓ²¼þ¹ÊÕÏ¡°¡£BorgÉú̬ϵͳÌṩÁËÀàËÆµÄ¹¦ÄÜ£¬µ«ÏÞÓÚÆª·ùÕâÀï²»×öÌÖÂÛ£»
Isaard [48]¸ÅÊöÁËÎÒÃǼá³ÖµÄÐí¶à×î¼Ñʵ¼ù¡£
Quincy [49]ʹÓÃÍøÂçÁ÷Ä£ÐÍΪ¼¸°Ù¸ö½ÚµãµÄ¼¯ÈºÉϵÄÊý¾Ý´¦ÀíDAGÌṩ¹«Æ½ÐÔºÍÊý¾ÝλÖøÐÖªµ÷¶È¡£BorgʹÓÃÅä¶îºÍÓÅÏȼ¶ÔÚÓû§Ö®¼ä¹²Ïí×ÊÔ´£¬²¢À©Õ¹µ½ÊýÍǫ̀»úÆ÷¡£QuincyÖ±½Ó´¦ÀíÖ´ÐÐͼ£¬¶øÕâÊǵ¥¶À¹¹½¨ÔÚBorgµÄ¶¥²¿¡£
Cosmos [44]רעÓÚÅú´¦Àí£¬ÖØµãÊÇÈ·±£ÆäÓû§Äܹ»¹«Æ½µØ·ÃÎÊËûÃǾèÔù¸ø¼¯ÈºµÄ×ÊÔ´¡£ ËüʹÓÃÿ¸ö¹¤×÷¹ÜÀíÆ÷£¨per-job
manager£©À´»ñÈ¡×ÊÔ´; ¼¸¸öϸ½ÚÊǹ«¿ªµÄ¡£
΢ÈíµÄApolloϵͳ[13]ʹÓÃÿ¸ö×÷Òµµ÷¶ÈÆ÷½øÐÐ¶ÌÆÚÅú´¦Àí×÷Òµ£¬ÒÔÔÚ¿´À´ÓëBorg cell´óСÏàͬµÄ¼¯ÈºÉÏʵÏÖ¸ßÍÌÍÂÁ¿¡£
ApolloʹÓûú»áÖ÷ÒåÖ´ÐеÍÓÅÏȼ¶ºǫ́¹¤×÷£¬ÒÔ¶àÈÕÅŶÓÑÓ³ÙΪ´ú¼Û£¨ÓÐʱ£©À´Ìá¸ßÀûÓÃÂÊ¡£Apollo½ÚµãÌṩÈÎÎñµÄ¿ªÊ¼Ê±¼äµÄÔ¤²â¾ØÕó×÷ΪÁ½¸ö×ÊԴά¶ÈÉÏ´óСµÄº¯Êý£¬ÆäÖе÷¶ÈÆ÷½áºÏÆô¶¯³É±¾µÄ¹À¼Æ¼°Ô¶³ÌÊý¾Ý·ÃÎÊÒÔ½øÐв¼Öþö¶¨£¬ÓÉËæ»úÑÓ³Ùµ÷ÖÆÒÔ¼õÉÙ³åÍ»¡£BorgʹÓÃÖÐÑëµ÷¶ÈÆ÷»ùÓÚÏÈǰ·ÖÅäµÄ״̬À´²¼Öþö¶¨£¬ÄÜ´¦Àí¸ü¶àµÄ×ÊԴά¶È£¬²¢×¨×¢Óڸ߿ÉÓÃÐÔ¡¢³¤ÆÚÔËÐеÄÓ¦ÓóÌÐòµÄÐèÇó;
Apollo¿ÉÒÔ´¦Àí¸ü¸ßµÄÈÎÎñµ½´ïÂÊ¡£
°¢Àï°Í°ÍµÄFuxi [84]Ö§³ÖÊý¾Ý·ÖÎö¹¤×÷¸ºÔØ£»Ëü´Ó2009Ä꿪ʼÔËÐС£ÏñBorgmasterÒ»Ñù£¬ÖÐÑëFuxiMaster£¨¸´ÖÆÓÃÓÚÈÝ´í£©´Ó½ÚµãÊÕ¼¯×ÊÔ´¿ÉÓÃÐÔÐÅÏ¢£¬½ÓÊÜÀ´×ÔÓ¦ÓóÌÐòµÄÇëÇ󣬲¢½«Ò»¸öÆ¥Åäµ½ÁíÒ»¸ö¡£FuxiÔöÁ¿µ÷¶È²ßÂÔÓëBorgµÄµÈ¼ÛÀàÏà·´£ºFuxi²»Êǽ«Ã¿¸öÈÎÎñÓëÒ»×éºÏÊʵĻúÆ÷ÏàÆ¥Å䣬¶øÊǽ«Ð¿ÉÓÃ×ÊÔ´Óë»ýѹµÄ´ý´¦Àí¹¤×÷½øÐÐÆ¥Åä¡£
ÏñMesosÒ»Ñù£¬FuxiÔÊÐí¶¨Òå¡°ÐéÄâ×ÊÔ´¡±ÀàÐÍ¡£ Ö»Óкϳɹ¤×÷¸ºÔؽá¹ûÊǹ«¿ªµÄ¡£
Omega [69]Ö§³Ö¶à¸öƽÐеģ¬×¨Ãŵġ°´¹Ö±¡±£¬Ã¿¸ö´óÖÂÏ൱ÓÚBorgmaster¼õÈ¥Æä³Ö¾Ã´æ´¢ºÍÁ´½Ó·ÖƬ¡£
Omegaµ÷¶ÈÆ÷ʹÓÃÀÖ¹Û²¢·¢¿ØÖÆÀ´²Ù×÷´æ´¢ÔÚÖÐÑë³Ö¾Ã´æ´¢Æ÷ÖÐµÄÆÚÍûºÍ¹Û²ìµ½µÄcell״̬µÄ¹²Ïí±íʾ£¬Æäͨ¹ýµ¥¶ÀµÄÁ´Â·×é¼þ±»Í¬²½µ½Borglet¡£Omega¼Ü¹¹Ö¼ÔÚÖ§³Ö¶à¸ö²»Í¬µÄ¹¤×÷¸ºÔØ£¬ÕâЩ¹¤×÷¸ºÔؾßÓÐÌØ¶¨ÓÚÓ¦ÓóÌÐòµÄRPC½Ó¿Ú£¬×´Ì¬»úºÍµ÷¶È²ßÂÔ£¨ÀýÈ磬³¤ÆÚÔËÐеķþÎñÆ÷£¬À´×Ô¸÷ÖÖ¿ò¼ÜµÄÅú´¦Àí×÷Òµ£¬»ù´¡¼Ü¹¹·þÎñ£¨È缯Ⱥ´æ´¢ÏµÍ³£©£¬ÐéÄâ»úGoogle
Cloud Platform£©¡£ÁíÒ»·½Ã棬BorgÌṩÁË¡°Ò»¸öÊʺÏËùÓС±µÄRPC½Ó¿Ú£¬×´Ì¬»úÓïÒåºÍµ÷¶ÈÆ÷²ßÂÔ£¬Ëæ×Åʱ¼äµÄÍÆÒÆ£¬ÓÉÓÚÐèÒªÖ§³ÖÐí¶à²»Í¬µÄ¹¤×÷¸ºÔØ£¬ËüÃǵĹæÄ£ºÍ¸´ÔÓÐÔ¶¼ÓÐËùÔö³¤£¬¿ÉÀ©Õ¹ÐÔÉÐδ³ÉΪÎÊÌ⣨¡ì3.4£©¡£
GoogleµÄ¿ªÔ´Kubernetesϵͳ[53]½«Ó¦ÓóÌÐò·ÅÖÃÔÚDockerÈÝÆ÷[28]ÖУ¨ÔÚ¶à¸öÖ÷»ú½ÚµãÉÏ£©¡£ËüÔËÐÐÔÚÂã»ú£¨ÈçBorg£©ºÍ¸÷ÖÖÔÆÍйÜÌṩÕßÖУ¬ÈçGoogle
Compute Engine¡£ËüÊÇÓÉÐí¶à½¨Á¢BorgµÄ¹¤³Ìʦ»ý¼«¿ª·¢µÄ¡£ GoogleÌṩÁËÒ»¸öÃûΪGoogle
Container EngineµÄÍйܰ汾[39]¡£½«ÔÚÏÂÒ»½ÚÌÖÂÛÈçºÎ½«BorgµÄ½ÌѵӦÓÃÓÚKubernetes¡£
¸ßÐÔÄܼÆËãÍÅÌåÔÚÕâÒ»ÁìÓòÓÐ×ÅÓÆ¾ÃµÄ¹¤×÷´«Í³£¨ÀýÈ磬Maui£¬Moab£¬Platform LSF [2£¬47£¬50]£©;
È»¶ø£¬¹æÄ£¡¢¹¤×÷¸ºÔغÍÈÝ´íµÄÒªÇó²»Í¬ÓڹȸèµÄcell¡£Í¨³££¬ÕâÑùµÄϵͳͨ¹ý¾ßÓеȴý¹¤×÷µÄ´ó»ýѹ£¨¶ÓÁУ©À´ÊµÏÖ¸ßÀûÓÃÂÊ¡£
ÐéÄ⻯ÌṩÉÌÈçVMware [77]ºÍÊý¾ÝÖÐÐĽâ¾ö·½°¸ÌṩÉÌ£¨ÈçHPºÍIBM [46]£©Ìṩ¼¯Èº¹ÜÀí½â¾ö·½°¸£¬Í¨³£À©Õ¹µ½O£¨1000£©»úÆ÷¡£´ËÍ⣬¼¸¸öÑо¿ÍÅÌå¾ßÓÐÒÔijЩ·½Ê½¸Ä½øµ÷¶È¾ö²ßÖÊÁ¿µÄÔÐÍϵͳ£¨ÀýÈ磬[25,40,72,74]£©¡£
×îºó£¬ÕýÈçÒѾָ³öµÄ£¬¹ÜÀí´ó¹æÄ£¼¯ÈºµÄÁíÒ»¸öÖØÒª²¿·ÖÊÇ×Ô¶¯»¯ºÍ¡°ÔËËã·ûscaleout¡±¡£ [43]ÃèÊöÁËÈçºÎ¼Æ»®¹ÊÕÏ£¬¶à×â»§£¬½¡¿µ¼ì²é£¬×¼Èë¿ØÖÆºÍ¿ÉÖØÐÂÆô¶¯ÐÔ¶ÔÓÚÿ¸ö²Ù×÷ÕßÍê³É´óÁ¿»úÆ÷ÊDZØÒªµÄ¡£BorgµÄÉè¼ÆÀíÄîÊÇÀàËÆµÄ£¬Äܹ»ÎªÃ¿¸ö²Ù×÷Ô±£¨SRE£©Ö§³ÖÊýÍǫ̀»úÆ÷¡£
8.¾Ñé½ÌѵºÍδÀ´¹¤×÷
±¾½Ú½²ÊöÁËÊ®¶àÄêÀ´ÔÚÉú²úÖвÙ×÷BorgËùѧµ½µÄһЩ¶¨ÐÔ½Ìѵ£¬²¢ÃèÊöÁËÔÚÉè¼ÆKubernetesʱÈçºÎÀûÓÃÕâЩ¹Û²ì½á¹û[53]¡£
8.1¾Ñé½Ìѵ£º»µµÄ·½Ãæ
´ÓBorgµÄÒ»Ð©ÌØÐÔ¿ªÊ¼£¬×÷Ϊ¸æ½ëºÍÔÚKubernetesÖÐÖªÇéµÄÌæ´úÉè¼Æ¡£
×÷ΪÈÎÎñµÄΨһ·Ö×é»úÖÆ£¬×÷ÒµÊÇÏÞÖÆÐԵġ£ BorgûÓÐÒ»Á÷µÄ·½Ê½À´¹ÜÀíÕû¸ö¶à×÷Òµ·þÎñ×÷Ϊһ¸öµ¥Ò»µÄʵÌ壬»òÖ¸µÄÊÇ·þÎñµÄÏà¹ØÊµÀý£¨ÀýÈ磬canaryºÍÉú²ú¹ì¼££©¡£×÷Ϊһ¸öºÚ¿Í£¬Óû§ÔÚ×÷ÒµÃû³ÆÖбàÂë·þÎñÍØÆË£¬²¢¹¹½¨¸ü¸ß¼¶±ðµÄ¹ÜÀí¹¤¾ßÀ´½âÎöÕâЩÃû³Æ¡£ÔÚ·¶Î§µÄÁíÒ»¶Ë£¬²»¿ÉÄÜÒýÓÃ×÷ÒµµÄÈÎÒâ×Ó¼¯£¬Õâµ¼ÖÂÖîÈç¹ö¶¯¸üкÍ×÷Òµµ÷Õû´óСµÄ²»Áé»îÓïÒåÎÊÌâ¡£
ΪÁ˱ÜÃâÕâÖÖÀ§ÄÑ£¬Kubernetes¾Ü¾øÁË×÷Òµ¸ÅÄ¶øÊÇʹÓñêÇ©×éÖ¯µ÷¶Èµ¥Ôª£¨pods£© - Óû§¿ÉÒÔ¸½¼Óµ½ÏµÍ³ÖÐÈκζÔÏóµÄÈÎÒâ¼ü/Öµ¶Ô¡£Í¬µÈµÄ£¬¿ÉÒÔͨ¹ý¸½¼Óµ½Ò»¸ö×÷ÒµÉÏʵÏÖBorg×÷Òµ£º½«×÷ÒµÃû±êÇ©¸½¼Óµ½Ò»×épod£¬µ«ÊÇÒ²¿ÉÒÔ±íʾÈÎºÎÆäËûÓÐÓõķÖ×飬ÀýÈç·þÎñ£¬²ã»ò·¢ÐÐÀàÐÍ£¨ÀýÈ磬Éú²ú¡¢·Ö¶Î¡¢²âÊÔ£©¡£
KubernetesÖеIJÙ×÷ͨ¹ý±êÇ©²éѯÀ´Ê¶±ðÆäÄ¿±ê£¬¸Ã²éѯѡÔñÁ˽«Ó¦ÓòÙ×÷µÄ¶ÔÏó¡£ ÕâÖÖ·½·¨±È×÷ÒµµÄµ¥¸ö¹Ì¶¨·Ö×éÌṩ¸ü¶àµÄÁé»îÐÔ¡£
ÿ¸ö»úÆ÷Ò»¸öIPµØÖ·Ê¹ÊÂÇ鸴ÔÓ»¯¡£ ÔÚBorgÖУ¬»úÆ÷ÉϵÄËùÓÐÈÎÎñ¶¼Ê¹ÓÃÆäÖ÷»úµÄµ¥¸öIPµØÖ·£¬´Ó¶ø¹²ÏíÖ÷»úµÄ¶Ë¿Ú¿Õ¼ä¡£Õâµ¼ÖÂÁËһЩÀ§ÄÑ£ºBorg±ØÐëµ÷¶È×÷Ϊ×ÊÔ´µÄ¶Ë¿Ú;
ÈÎÎñ±ØÐëÔ¤ÏÈÉùÃ÷ÐèÒª¶àÉÙ¸ö¶Ë¿Ú£¬²¢ÇÒÔ¸ÒâÔÚÆô¶¯Ê±±»¸æÖªÊ¹ÓÃÄÄЩ¶Ë¿Ú£»Borglet±ØÐëÇ¿ÖÆ¶Ë¿Ú¸ôÀ룻²¢ÇÒÃüÃûºÍRPCϵͳ±ØÐë´¦Àí¶Ë¿ÚºÍIPµØÖ·¡£
ÓÉÓÚLinuxÃüÃû¿Õ¼ä£¬ÐéÄâ»ú£¬IPv6ºÍÈí¼þ¶¨ÒåÍøÂçµÄ³öÏÖ£¬Kubernetes¿ÉÒÔ²ÉÈ¡¶ÔÓû§¸ü¼ÓÓѺõķ½·¨£¬Ïû³ýÕâЩ¸´ÔÓÐÔ£ºÃ¿¸öpodºÍ·þÎñ¶¼ÓÐ×Ô¼ºµÄIPµØÖ·£¬ÔÊÐí¿ª·¢ÈËԱѡÔñ¶Ë¿Ú£¬¶ø²»ÊÇÒªÇóÈí¼þÊÊӦѡÔñ
£¬²¢Ïû³ýÁ˹ÜÀí¶Ë¿ÚµÄ»ù´¡¼Ü¹¹¸´ÔÓÐÔ¡£
Õë¶Ô¸ß¼¶Óû§½øÐÐÓÅ»¯£¬ÎþÉüÁËÐÝÏÐÓû§¡£BorgÌṩÁËÒ»´óÌ×Õë¶Ô¡°³¬¼¶Óû§¡±µÄ¹¦ÄÜ£¬ÒÔ±ãÓû§¿ÉÒÔ΢µ÷³ÌÐòÔËÐз½Ê½£¨BCL¹æ·¶ÁгöÔ¼230¸ö²ÎÊý£©£º×î³õµÄÖØµãÊÇÖ§³Ö¹È¸èÉÏ×î´óµÄ×ÊÔ´Ïû·ÑÕߣ¬ËûÃǵÄЧÂÊÔöÒæÊÇÖÁ¹ØÖØÒªµÄ¡£²»ÐÒµÄÊÇ£¬ÕâÖÖAPIµÄ·á¸»ÐÔʹÊÂÇé±äµÃ¸üÄÑÕë¶Ô¡°ÐÝÏС±Óû§£¬¶øÏÞÖÆÁËÆä·¢Õ¹¡£½â¾ö·½°¸Êǹ¹½¨ÔÚBorgÖ®ÉÏÔËÐеÄ×Ô¶¯»¯¹¤¾ßºÍ·þÎñ£¬²¢Í¨¹ýʵÑéÈ·¶¨ºÏÊʵÄÉèÖá£ÕâЩ¶¼ÊÜÒæÓÚÈÝ´íÓ¦ÓóÌÐòÌṩµÄʵÑé×ÔÓÉ£ºÈç¹û×Ô¶¯»¯³öÏÖ´íÎó£¬ÕâÊÇÒ»¸öÂ鷳ʣ¬¶ø²»ÊÇÔÖÄÑ¡£
8.2¾Ñé½Ìѵ£ººÃµÄ·½Ãæ
ÁíÒ»·½Ã棬һЩBorgµÄÉè¼ÆÌØÐÔÒѾ·Ç³£ÓÅÔ½£¬²¢¾ÊÜסÁËʱ¼äµÄ¿¼Ñé¡£
AllocsÊÇÓÐÓõġ£ Borg alloc³éÏó¸ÅÄî²úÉúÁ˹㷺ʹÓõÄÈÕÖ¾´æ´¢Ä£Ê½£¨¡ì2.4£©£¬ÁíÒ»¸öÁ÷ÐеÄģʽÊǼòµ¥µÄÊý¾Ý¼ÓÔØÆ÷ÈÎÎñ¶¨ÆÚ¸üÐÂWeb·þÎñÆ÷ʹÓõÄÊý¾Ý¡£AllocsºÍ°üÔÊÐíÕâÖÖ°ïÖú·þÎñÓɲ»Í¬µÄÍŶӿª·¢¡£
KubernetesÖÐͬallocµÈ¼ÛµÄÊÇpod£¬ËüÊÇÒ»¸ö»ò¶à¸öÈÝÆ÷µÄ×ÊÔ´·â×°£¬ÕâЩÈÝÆ÷×ÜÊDZ»µ÷¶Èµ½Í¬Ò»»úÆ÷Éϲ¢ÇÒ¿ÉÒÔ¹²Ïí×ÊÔ´¡£KubernetesÔÚÏàͬµÄpodÖÐʹÓø¨ÖúÈÝÆ÷´úÌæallocÖеÄÈÎÎñ£¬µ«ÊÇÏë·¨ÊÇÒ»ÑùµÄ¡£
¼¯Èº¹ÜÀí²»½ö½öÊÇÈÎÎñ¹ÜÀí¡£¾¡¹ÜBorgµÄÖ÷Òª×÷ÓÃÊǹÜÀíÈÎÎñºÍ»úÆ÷µÄÉúÃüÖÜÆÚ£¬µ«ÊÇÔËÐÐÔÚBorgÉϵÄÓ¦ÓóÌÐò¿ÉÒÔ´ÓÐí¶àÆäËû¼¯Èº·þÎñÖÐÊÜÒæ£¬°üÀ¨ÃüÃûºÍ¸ºÔØÆ½ºâ¡£
KubernetesʹÓ÷þÎñ³éÏóÖ§³ÖÃüÃûºÍ¸ºÔØÆ½ºâ£º·þÎñ¾ßÓÐÃû³ÆºÍÓɱêǩѡÔñÆ÷¶¨ÒåµÄ¶¯Ì¬pod¼¯¡£Èº¼¯ÖеÄÈκÎÈÝÆ÷¶¼¿ÉÒÔʹÓ÷þÎñÃû³ÆÁ¬½Óµ½·þÎñ¡£ÔÚ·âÃæÏ£¬Kubernetes×Ô¶¯¸ºÔØÆ½ºâÓë±êǩѡÔñÆ÷Æ¥ÅäµÄpodÖеķþÎñÁ¬½Ó£¬²¢ÇÒ¸ú×ÙpodÔÚÓÉÓÚ¹ÊÕ϶øËæ×Åʱ¼äÖØÐ°²ÅÅʱÔËÐеÄλÖá£
ÄÚÊ¡ÊÇÖÁ¹ØÖØÒªµÄ¡£ ËäÈ»Borg¼¸ºõ×ÜÊÇ¡°Ö»Êǹ¤×÷¡±£¬µ±³öÁËÎÊÌ⣬ÕÒµ½¸ù±¾ÔÒò¿ÉÄÜÊÇÌôÕ½ÐԵġ£BorgÖÐÒ»¸öÖØÒªµÄÉè¼Æ¾ö²ßÊÇÒªÏòËùÓÐÓû§ÏÔʾµ÷ÊÔÐÅÏ¢£¬¶ø²»ÊÇÒþ²Ø£ºBorgÓгÉǧÉÏÍòµÄÓû§£¬ËùÒÔ¡°×ÔÖú¡±±ØÐëÊǵ÷ÊԵĵÚÒ»²½¡£
ËäÈ»ÕâʹµÃ¸üÄÑÒÔÇáÊÓÌØÐԺ͸ıäÓû§ÒÀÀµµÄÄÚ²¿²ßÂÔ£¬µ«ËüÈÔÈ»ÊÇÒ»¸öÓ®¼Ò£¬»¹Ã»ÓÐÕÒµ½ÈκÎÏÖʵµÄÌæ´úÆ·¡£ÎªÁË´¦Àí´óÁ¿Êý¾Ý£¬ÌṩÁ˶à¸ö¼¶±ðµÄUIºÍµ÷ÊÔ¹¤¾ß£¬Òò´ËÓû§¿ÉÒÔ¿ìËÙʶ±ðÓëÆä×÷ÒµÏà¹ØµÄÒ쳣ʼþ£¬È»ºó´ÓÆäÓ¦ÓóÌÐòºÍ»ù´¡¼Ü¹¹±¾ÉíÉîÈë²é¿´ÏêϸµÄʼþºÍ´íÎóÈÕÖ¾¡£
KubernetesÖ¼ÔÚ¸´ÖÆBorgµÄÐí¶àÄÚÊ¡¼¼Êõ¡£ ÀýÈ磬Ëü¸½´øÁËÖîÈçcAdvisor [15]µÈÓÃÓÚ×ÊÔ´¼àÊӺͻùÓÚElasticsearch
/ Kibana [30]ºÍFluentd [32]µÄÈÕÖ¾¾ÛºÏµÄ¹¤¾ß¡£¿ÉÒÔ²éѯÖ÷»úµÄ¶ÔÏó״̬µÄ¿ìÕÕ¡£Kubernetes¾ßÓÐͳһµÄ»úÖÆ£¬ËùÓÐ×é¼þ¶¼¿ÉÒÔÓÃÀ´¼Ç¼Ê¼þ£¨ÀýÈ磬±»µ÷¶ÈµÄpod£¬ÈÝÆ÷ʧ°Ü£©£¬ÕâЩʼþ¶Ô¿Í»§¶ËÒ²ÊÇ¿ÉÓõġ£
Ö÷»úÊÇ·Ö²¼Ê½ÏµÍ³µÄÄںˡ£Borgmaster×î³õÉè¼ÆÎªÒ»¸öµ¥Æ¬ÏµÍ³£¬µ«Ëæ×Åʱ¼äµÄÍÆÒÆ£¬Ëü±äµÃ¸üÏñÒ»¸öÄںˣ¬Î»ÓÚ·þÎñÉú̬ϵͳµÄºËÐÄ£¬Ð×÷¹ÜÀíÓû§×÷Òµ¡£ÀýÈ磬½«µ÷¶È³ÌÐòºÍÖ÷UI£¨Sigma£©²ð·ÖΪµ¥¶ÀµÄ½ø³Ì£¬²¢Ôö¼ÓÁË·þÎñÓÃÓÚ×¼Èë¿ØÖÆ¡¢´¹Ö±ºÍˮƽ×Ô¶¯Ëõ·Å£¬ÖØÐ´ò°üÈÎÎñ£¬¶¨ÆÚ×÷ÒµÌá½»£¨cron£©£¬¹¤×÷Á÷¹ÜÀíÒÔ¼°ÓÃÓÚÀëÏß²éѯµÄ¹éµµÏµÍ³²Ù×÷¡£
×ÜÖ®£¬ÕâʹµÃÄܹ»ÔÚ²»ÎþÉüÐÔÄÜ»ò¿Éά»¤ÐÔµÄÇé¿öÏÂÀ©Õ¹¹¤×÷¸ºÔغ͹¦Äܼ¯¡£
Kubernetes¼Ü¹¹¸ü½øÒ»²½£ºËüµÄºËÐÄÓÐÒ»¸öAPI·þÎñÆ÷£¬Ö»¸ºÔð´¦ÀíÇëÇóºÍ²Ù×÷µ×²ã״̬¶ÔÏó¡£¼¯Èº¹ÜÀíÂß¼±»¹¹½¨ÎªÐ¡µÄ¿É×éºÏµÄ΢·þÎñ£¨¸ÃAPI·þÎñÆ÷µÄ¿Í»§¶Ë£©£¬ÀýÈç¸´ÖÆ¿ØÖÆÆ÷£¬ÓÃÓÚÔÚÃæ¶Ô¹ÊÕÏʱ±£³ÖpodµÄÆÚÍûÊýÁ¿µÄ¸±±¾£¬ÒÔ¼°½Úµã¿ØÖÆÆ÷£¬ÓÃÓÚ¹ÜÀí
»úÆ÷ÉúÃüÖÜÆÚ¡£
8.3½áÂÛ
ÔÚ¹ýȥʮÄêÀ¼¸ºõËùÓеÄGoogle¼¯Èº¹¤×÷¸ºÔض¼×ª¶øÊ¹ÓÃBorg¡£ÎÒÃǼÌÐø·¢Õ¹Ëü£¬²¢½«´ÓÖÐѧµ½µÄ½ÌѵӦÓõ½Kubernetes¡£
|