GPFS A Shared-Disk File System for Large Computing Clusters


My Reserches

INDEX

³µÍ×

GPFS¤Ï¡¢RS/6000¤äLinux¥¯¥é¥¹¥¿¾å¤Ç¤Î¥Ñ¥é¥ì¥ë¶¦Í­¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÄ󶡤¹¤ë¡£GPFS¤Ïñ°ì¥Þ¥·¥ó¾å¤ÇÆ°ºî¤·¤Æ¤¤¤ëPOSIX¤ÈƱ¤¸µóÆ°¤òÄ󶡤¹¤ë¡£¤Þ¤¿¡¢Ê¬»¶¥Õ¥¡¥¤¥ë¥í¥Ã¥¯¤ä¥ê¥«¥Ð¥ê¤Ë¤Ä¤¤¤Æ¤â¸«¤Æ¤¤¤¯

ÌÜŪ¡¢ÌäÂê

  • ¿¿ô¤Î¥Î¡¼¥É¤«¤é¤ÎƱ»þ¥¢¥¯¥»¥¹¤òÄ󶡤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬Í׵ᤵ¤ì¤ë¡£¤½¤Î¤¿¤á¡¢GPFS¤Ç¤Ï¥Õ¥¡¥¤¥ë¥Ç¡¼¥¿¡¢¥á¥¿¥Ç¡¼¥¿¤Ø¥Ñ¥é¥ì¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ëµ¡Ç½¤òÄ󶡤¹¤ë¡£
  • ¶¦Í­¥Ç¥£¥¹¥¯¤Î¼ÂÁõ(SAN, VSD)¤Ë°Í¸¤»¤º¤Ë¡¢¥¹¥±¡¼¥é¥Ö¥ë¤Ê¶¦Í­¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÄó¶¡
    fig.jpg
  • ¹â¤¤¥¹¥ë¡¼¥×¥Ã¥È¤òÄ󶡤¹¤ë¤¿¤á¤Ë¡¢¥¹¥È¥é¥¤¥Ô¥ó¥°¤ò¹Ô¤¦¡£
  • Ê£¿ô¤Î¥Î¡¼¥É¤«¤é¤Î¥Ç¥£¥¹¥¯¤Ø¤ÎÆɤ߽ñ¤­¤ËÂФ·Æ±´ü¤ò¹Ô¤¦É¬Íפ¬¤¢¤ë¡£GPFS¤Ç¤Ï¡¢Ê¬»¶¥í¥Ã¥¯(distributed locking)¤òÍѤ¤¤Æ¶¦Í­¥Ç¥£¥¹¥¯¤ËÂФ¹¤ë¥¢¥¯¥»¥¹¤ÎƱ´ü¤ò¹Ô¤¦¡£¤³¤ì¤Ë¤è¤ê¡¢Ê£¿ô¥Î¡¼¥É¤«¤é¤Î¥¢¥¯¥»¥¹¤Ë°Í¸¤¹¤ë¤³¤È¤Ê¤¯¡¢°ì´ÓÀ­¤òÊݤġ£

¹×¸¥

  • ¥Ç¡¼¥¿¥¹¥È¥é¥¤¥Ô¥ó¥°¤ò¹Ô¤¤¡¢ÊÂÎó¥Ç¡¼¥¿¥¢¥¯¥»¥¹¤¬²Äǽ
  • ¥Õ¥¡¥¤¥ë¥Ç¡¼¥¿¤ä¥á¥¿¡¼¥Ç¡¼¥¿¤Î°ì´ÓÀ­¤òÊݤä¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
  • ¥Î¡¼¥É¡¢ÄÌ¿®¡¢¥Ç¥£¥¹¥¯¤Î¿ÊýÌ̤«¤é¤ÎÂѾ㳲¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÄó¶¡

Äó°Æ¼êË¡¡¢¥¢¥¤¥Ç¥£¥¢¡¢¥·¥¹¥Æ¥à


General Large File System Issues

¥Ç¡¼¥¿¥¹¥È¥é¥¤¥Ô¥ó¥°¤È¥¢¥í¥±¡¼¥·¥ç¥ó¡¢¥×¥ê¥Õ¥§¥Ã¥Á¤ÈWrite-behind

  • ¥¹¥È¥é¥¤¥Ô¥ó¥°¤òLVM¤Ç¤Ï¤Ê¤¯¡¢GPFS¾å¤Ç¼ÂÁõ¤¹¤ë
    • ¤³¤ì¤Ë¤è¤ê¡¢LVM¤ÎLUN¤Ë¤è¤ë¥µ¥¤¥º¤ÎÀ©¸Â¤¬¤Ê¤¤(32-bit¤ÎÏÀÍý¥¢¥É¥ì¥¹¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤á)
  • ¥Õ¥¡¥¤¥ë¤Ïʬ³ä¤·¤ÆÊݸ
    • ¥µ¥¤¥º¤ÎÂ礭¤¤¥Õ¥¡¥¤¥ë¤ÏÅù¤·¤¤¥µ¥¤¥º¤Ëʬ³ä(typically 265K,¤·¤«¤·16K - 1M¤ËÀßÄê²Äǽ)¤·¥é¥¦¥ó¥É-¥í¥Ó¥ó¤Ç°Û¤Ê¤ë¥Ç¥£¥¹¥¯¤ËÊݸ¤¹¤ë¡£
    • ¥µ¥¤¥º¤Î¾®¤µ¤¤¥Õ¥¡¥¤¥ë¤ä¥µ¥¤¥º¤ÎÂ礭¤¤¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤ÎȾü¤Ê¥Ö¥í¥Ã¥¯¤Ï¥µ¥Ö¥Ö¥í¥Ã¥¯¤È¤¤¤¦1/32¤ÎÂ礭¤µ¤Î¥Ö¥í¥Ã¥¯¤Ë³ÊǼ¤¹¤ë
  • Æɤ߹þ¤ß¤Ç¤Ï¡¢¤·¤«¤ë¤Ù¤­¥Ç¥£¥¹¥¯¤Ø¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®¤·¡¢ÊÂÎó¤ËÆɤ߹þ¤à¡£
    • ¤³¤ì¤Ë¤è¤ê¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥Ð¥ó¥ÉÉý¤òÍ­¸ú¤Ë³èÍѤ¹¤ë
    • ¤Þ¤¿¡¢¤µ¤Þ¤¶¤Þ¤Ê¥¹¥È¥é¥¤¥Ô¥ó¥°¥Ñ¥¿¡¼¥ó¤òǧ¼±¡¢±£Êä·¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ø¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄó¶¡
  • ¶Ñ¼Á¤Ê¥Ç¥£¥¹¥¯(ÍÆÎÌ¡¢À­Ç½)¤òÍѤ¤¤¿¤È¤­¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬ºÇÂç
    • ÉԶѼÁ¤Ê¾ì¹ç¥¹¥ë¡¼¥×¥Ã¥È¤È¶õ¤­ÍÆÎ̤˥ȥ졼¥É¥ª¥Õ¡£ÂçÍÆÎ̤Υǥ£¥¹¥¯¤ò»È¤¨¤Ð¡¢Â¿¤¯¤Î¥Õ¥¡¥¤¥ë¤òÊݸ¤Ç¤­¤ë¤¬¡¢¤½¤ÎʬI/O¥ê¥¯¥¨¥¹¥È¤¬Â礭¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£

Large Directory ¥µ¥Ý¡¼¥È

  • ¥Ç¥£¥ì¥¯¥È¥ê¥¨¥ó¥È¥ê¡¼¤Î´ÉÍý¤Ëextensible hashing¤È¸À¤¦¤â¤Î¤ò»ÈÍѤ·¤Æ¤¤¤ë¤é¤·¤¤¡£¡ÊÍý²ò¤¹¤ë¤Ë¤Ï¾¤ÎÏÀʸ¤òÆɤàɬÍפ¬¤¢¤ë¡Ë

¥í¥°¤È¥ê¥«¥Ð¥ê

  • µðÂç¤Ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢Ã༡°ì´ÓÀ­¤Î¸¡¾Ú¤ò¤¹¤ë¤Î¤ÏÉÔ²Äǽ¤Ç¤¢¤ë¤¿¤á¡¢GPFS¤Ç¤Ï¡¢°ì´ÓÀ­¤Ë±Æ¶Á¤òÍ¿¤¨¤ëÁ´¤Æ¤Î¥á¥¿¥Ç¡¼¥¿¤òjournal¤äwrite-ahead log¤Øµ­Ï¿¤¹¤ë
  • ¤½¤ì¤¾¤ì¤Î¥Î¡¼¥É¤Ï¥Þ¥¦¥ó¥È¤µ¤ì¤¿¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤´¤È¤ËÆÈΩ¤·¤¿¥í¥°¤ò¤â¤Ä
    • ¤³¤Î¥í¥°¤Ï¥ê¥«¥Ð¥ê¤ÎºÝ¡¢Á´¤Æ¤Î¥Î¡¼¥É¤«¤éÆɤळ¤È¤¬²Äǽ
    • ¥Ç¥£¥ì¥¯¥È¥ê¥Ö¥í¥Ã¥¯¤Èinode¤ò¹¹¿·¤¹¤ëÁ°¤Ë¥í¥°¤ò¥Ç¥£¥¹¥¯¤Ø½ñ¤­¹þ¤à¤Î¤Ç¡¢¤â¤·¥Ç¥£¥ì¥¯¥È¥ê¥Ö¥í¥Ã¥¯¤ò¹¹¿·¤·inode¤ò¹¹¿·¤¹¤ëÁ°¤Ë¥¯¥é¥Ã¥·¥å¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¡¢¥í¥°¤ò¸«¤ë¤³¤È¤Ë¤è¤Ã¤Æinode¤Î¹¹¿·¤òºÆ³«¤Ç¤­¤ë¡£

¥¯¥é¥¹¥¿¾å¤Ç¤ÎÊÂÎ󲽤ÈConsistency


Distributed Locking VS Centralized Management

  • Ʊ´ü¤Ë¤ÏÆó¤Ä¤Î¥¢¥×¥í¡¼¥Á¤¬¤¢¤ë
  1. Distributed Locking: ¾×Æͤε¯¤³¤ë¥Õ¥¡¥¤¥ëÁàºî¤ÈƱ´ü¤ò¼è¤ë¤¿¤á¤Ë¤½¤ì¤¾¤ì¤Î¥Õ¥¡¥¤¥ëÁàºî¤Ï¥í¥Ã¥¯¤ò¼èÆÀ¤¹¤ëɬÍפ¬¤¢¤ë
  2. Centralized Management: ¾×Æͤε¯¤³¤ëÁ´¤Æ¤Î¥Õ¥¡¥¤¥ëÁàºî¤òÆÃÄê¤Î¥Î¡¼¥É¤ØžÁ÷¤·¡¢¤½¤Î¥Î¡¼¥É¤¬¥ê¥¯¥¨¥¹¥È¤µ¤ì¤¿Æɤ߹þ¤ß¤ä¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¦¡£
  • GPFS¤Ç¤Ï¥Õ¥¡¥¤¥ëÁàºî¤ËDistributed Locking¤òºÎÍÑ
    • °Û¤Ê¤ë¥Î¡¼¥É¤¬°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¤ØÁàºî¤ò¹Ô¤¦ºÝ¤Ë¡¢ÊÂÎóÀ­¤¬¹â¤¤¤¿¤á¡£
    • °Û¤Ê¤ë¥Î¡¼¥É¤¬Æ±°ì¤Î¥Õ¥¡¥¤¥ë¤ØÁàºî¤ò¹Ô¤¦ºÆ¤Ï¡¢¥í¥Ã¥¯¤Î¾×Æͤˤè¤ë¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬Centralized Management¤òĶ¤¨¤ë¾ì¹ç¤â¤¢¤ë¡£
  • ¥á¥¿¥Ç¡¼¥¿Áàºî¤Ç¤ÏCentralized Management¤òºÎÍÑ

The GPFS Distributed Lock Manager

  • GPFSʬ»¶¥í¥Ã¥¯¥Þ¥Í¡¼¥¸¥ã¡¼¤Ï¥°¥í¡¼¥Ð¥ë¥í¥Ã¥¯¥Þ¥Í¡¼¥¸¥ã¡¼¤ò»ÈÍѤ·¡¢¥í¡¼¥«¥ë¥í¥Ã¥¯¥Þ¥Í¡¼¥¸¥ã¡¼¤ÈÏ¢·È¤·¤Æ¥í¥Ã¥¯¤ò´ÉÍý¤¹¤ë(¤­¤Á¤ó¤ÈÍý²ò¤¹¤ë¤¿¤á¤Ë¤Ï¾¤ÎÏÀʸ¤òÆɤàɬÍפ¬¤¢¤ë)
    • ¥°¥í¡¼¥Ð¥ë¥í¥Ã¥¯¥Þ¥Í¡¼¥¸¥ã¡¼: 1¤Ä¤Î¥Î¡¼¥É¾å¤ÇÆ°ºî
    • ¥í¡¼¥«¥ë¥í¥Ã¥¯¥Þ¥Í¡¼¥¸¥ã¡¼: ¤½¤ì¤¾¤ì¤Î¥Î¡¼¥É¾å¤ÇÆ°ºî
    • ¥°¥í¡¼¥Ð¥ë¥í¥Ã¥¯¥Þ¥Í¡¼¥¸¥ã¡¼¤Ïlock tokens¤ò»ÈÍѤ·¤Æ¡¢¥í¡¼¥«¥ë¥í¥Ã¥¯¥Þ¥Í¡¼¥¸¥ã¡¼´Ö¤Î¥í¥Ã¥¯¤ò´ÉÍý¤¹¤ë¡£

ÊÂÎó¥Ç¡¼¥¿¥¢¥¯¥»¥¹

  • GPFS¤Ç¤Ï¡¢byte-range¥í¥Ã¥¯¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢POSIX¤ÎÆɤ߽ñ¤­¤Î¥¢¥È¥ß¥Ã¥¯À­¤ò°Ý»ý¤·¤¿¤Þ¤Þ¡¢Æ±°ì¤Î¥Õ¥¡¥¤¥ë¤Î°Û¤Ê¤ëÉôʬ¤òÊÂÎó¤ËÆɤ߽ñ¤­¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
  • ÊÂÎó¥Ç¡¼¥¿¥¢¥¯¥»¥¹¤Îή¤ì¤ÎÎã¡Ênode1¤¬½ñ¤­¹þ¤ßÃæ¤Ënode2¤¬Æ±¤¸¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤à¤È¤­¤Î¡Ë
    • ÀÖ¡§²òÊü¤¹¤ëbyte-range¥È¡¼¥¯¥ó(node1¤Ï¾×Æͤ¬µ¯¤³¤é¤Ê¤¤ºÇÂç¤ÎÂ礭¤µ¤Îbyte-range¥È¡¼¥¯¥ó¤ò³«Êü¤¹¤ë)
    • ÀÄ:node1¤¬½ñ¤­¹þ¤àÊý¸þ
    • £Ï1¡¢£Ï2¤Ïnode1¡¢node2¤¬½ñ¤­¹þ¤ß¤ò¹Ô¤¦¥ª¥Õ¥»¥Ã¥È
      br.jpg

¥á¥¿¥Ç¡¼¥¿¥¢¥¯¥»¥¹¤ÎƱ´ü

  • ¥Õ¥¡¥¤¥ë¤Î°À­¤ä¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤Î¥¢¥É¥ì¥¹¤ÎÊݸ¤ÎºÝ¡¢GPFS¤Ç¤Ïi¥Î¡¼¥É¤äindirect block»È¤¦¡£
  • ¥á¥¿¥Ç¡¼¥¿¤Î¹¹¿·¤Ë¤âƱ´ü¤¬É¬ÍפǤ¢¤ë¤¬¡¢Ê£¿ô¤Î¥Î¡¼¥É¤«¤éƱ»þ¤Ë½ñ¤­¹þ¤ß¤¬µ¯¤³¤ë¾ì¹ç¡¢Ã±½ã¤ÊÇÓ¾À©¸æ¤Ç¤Ï½ñ¤­¹þ¤ß¤Î¤¿¤Ó¤Ë¥í¥Ã¥¯¤Î¾×Æͤ¬È¯À¸¤·¤Æ¤·¤Þ¤¦¡£
    • ¤½¤Î¤¿¤á¡¢GPFS¤Ç¤Ïi¥Î¡¼¥É¤ËÂФ·¤Æshared write lock¤È¸Æ¤Ð¤ì¤ëÊýË¡¤ò»È¤¦
    • Ʊ°ì¤Î¥á¥¿¥Ç¡¼¥¿¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ëÊ£¿ô¤Î¥Î¡¼¥É¤«¤émetanode¤È¸Æ¤Ð¤ì¤ë¥Î¡¼¥É¤òÁª¤Ö¡£
      • metanode¤Ï¥È¡¼¥¯¥ó¥µ¡¼¥Ð¡¼¤Ë¤è¤Ã¤ÆưŪ¤Ë³ä¤êÅö¤Æ¤é¤ì¤ë¡£
      • °ìÈÖ½é¤á¤Ë¤½¤Î¥á¥¿¥Ç¡¼¥¿¤Î¥¢¥¯¥»¥¹¤·¤¿¥Î¡¼¥É¤¬metanode¤È¤Ê¤ê¡¢¤½¤Î¾¤Î¥Î¡¼¥É¤Ï¡¢metanode¤ÎID¤ò¼õ¤±¼è¤ë¡£
    • metanode¤Î¤ß¤¬¤½¤Î¥á¥¿¥Ç¡¼¥¿¤ËÂФ·¤Æ¤ËÂФ·¤ÆÆɤ߽ñ¤­¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
    • ¾¤Î¥Î¡¼¥É¤Ï¥í¡¼¥«¥ë¤Ëi¥Î¡¼¥É¤Î¾ðÊó¤òÊݸ¤·¡¢Äê´üŪ¤Ë¤½¤Îi¥Î¡¼¥É¤òmetanode¤ØžÁ÷¤·i¥Î¡¼¥É¹¹¿·¤Î°ÍÍê¤ò¤¹¤ë
    • metanode¤¬¥í¥Ã¥¯¤ò³«Êü¤¹¤ë¤È¤­¤Ï¡¢Â¾¤Î¥Î¡¼¥É¤«¤éi¥Î¡¼¥É¤Î¾ðÊó¤ò¥Þ¡¼¥¸¤·¡¢¹¹¿·¤¹¤ë¡£
    • metanode¼«¿È¤«¤é¤Î¥¢¥¯¥»¥¹¤¬¤Ê¤¯¤Ê¤Ã¤¿¤é¡¢metanode¤Î¸¢Íø¤ò¾¤Î¥Î¡¼¥É¤Ø°ÑÂ÷¤¹¤ë
    • ¤³¤Î¤è¤¦¤Ë¡¢GPFS¤Ç¤Ï¥á¥¿¥Ç¡¼¥¿¤Î¹¹¿·¤Ë¤ÏCentralized Management¤òºÎÍѤ·¤Æ¤¤¤ë¡£

Allocation Maps

  • Allocation Map¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÆâ¤ÎÁ´¤Æ¤Î¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯¤ÎAllocation¥¹¥Æ¡¼¥¿¥¹(free or in-use¡¢0?1)¤òµ­Ï¿¤¹¤ë¡£
  • ¥Ç¥£¥¹¥¯¥Ö¥í¥Ã¥¯¤Ï¾®¤µ¤Ê¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¤¿¤á¤Ë32¸Ä¤Î¥µ¥Ö¥Ö¥í¥Ã¥¯¤Ëʬ¤±¤ë¤³¤È¤¬¤Ç¤­¤¿¤Î¤Ç¡¢Allocation Map¤Ï£±¤Ä¤Î¥Õ¥¡¥¤¥ë¥Ö¥í¥Ã¥¯¤Î´ÉÍý¤Ë32bit»È¤¦¡£
  • (¾Ü¤·¤¯¤Ï¥Î¡¼¥È¤Î¿Þ¤ò»²¾È)

¤½¤Î¾¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥á¥¿¥Ç¡¼¥¿¤Ë¤Ä¤¤¤Æ

  • GPFS¤Ç¤Ï¡¢¤½¤Î¾¤Î¥°¥í¡¼¥Ð¥ë¥á¥¿¥Ç¡¼¥¿¤âÊÝ»ý¤¹¤ë

Token Manager Scaling

  • Token Manager¤ÏÁ´¤Æ¤Î¥È¡¼¥¯¥ó¤Î¼èÆÀ¡¢³«Êü¤Î´Æ»ë¤ò¤¹¤ë¡£
  • ¥È¡¼¥¯¥ó¤Î¼èÆÀ¡¢³«Êü¤ò¤¹¤ë¤Ë¤ÏToken Manager¤Ø°ÍÍꤹ¤ëɬÍפ¬¤¢¤ë¡£
  • Â絬ÌϤʥ¯¥é¥¹¥¿´Ä¶­¤Ç¤Ï¡¢­¡Token Manager¤¬¥Ü¥È¥ë¥Í¥Ã¥¯¤È¤Ê¤Ã¤¿¤ê¡¢­¢¥È¡¼¥¯¥ó¤Î¾õÂ֤Υµ¥¤¥º¤¬¥á¥â¥ê¤òĶ¤¨¤ë¶²¤ì¤¬¤¢¤ë¤¬¡¢°Ê²¼¤ÎÊýË¡¤Ç¤½¤ì¤ò²óÈò¤¹¤ë¡£
    • ­¡¡§Allocation Manager¤ÎÍøÍÑ
      • ¥È¡¼¥¯¥ó¤Î¾×Æͤ¬¼ç¤Ê¥Ü¥È¥ë¥Í¥Ã¥¯¤Ç¤¢¤ê¡¢Allocation Manager¤ò»È¤Ã¤Æ¤½¤Î¾×Æͤò·Ú¸º¤¹¤ë
    • ­¢¡§¥È¡¼¥¯¥ó¤Î¾õÂÖ¾ðÊó¤¬Ìµ¸Â¤ËÁý¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë
      • ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ï̵¸Â¤ËÁý¤¨¤ë²ÄǽÀ­¤¬¤¢¤ë¤Î¤Ç¡¢byte-range¥È¡¼¥¯¥ó¤Î¾õÂÖ¾ðÊó¤â̵¸Â¤ËÁý¤¨¤ë²ÄǽÀ­¤¬¤¢¤ë¡£¤½¤Î¤¿¤á¥È¡¼¥¯¥ó¤Î¾õÂÖ¤òÊ£¿ô¤Î¥Î¡¼¥É¤Ëʬ»¶¤µ¤»¤Æ´ÉÍý¤¹¤ëÊýË¡¤â¤¢¤ë¤¬¡¢Ã±°ì¤Î¥Î¡¼¥É¤À¤±¤¬°ì¤Ä¤Î¥Õ¥¡¥¤¥ëÁ´ÂΤΥȡ¼¥¯¥ó¤ò¥ê¥¯¥¨¥¹¥È¤¹¤ë¤È¤­¤Ë¤Ï¡¢"¥¢¥ê¤ËÂçˤ"¾õÂ֤ˤʤ롣
      • Âå¤ï¤ê¤Ë¡¢Token Manager¤Ï¥á¥â¥ê»ÈÍѾõ¶·¤ò´Æ»ë¤·¡¢¥È¡¼¥¯¥ó¤Î¾õÂÖ¾ðÊó¤¬Áý¤¨¤¹¤®¤¿¾ì¹ç¡¢¤½¤Î¥È¡¼¥¯¥ó¤ò̵¸ú¤Ë¤¹¤ë¡£

ÂѾ㳲À­

¥Î¡¼¥É¾ã³²

  • ¥Î¡¼¥É¤¬¾ã³²¤òµ¯¤³¤·¤¿¾ì¹ç
    • ¤Þ¤º¡¢¥°¥ë¡¼¥×¥µ¡¼¥Ó¥¹¥ì¥¤¥ä¡¼¤Ë¤è¤Ã¤Æ¸¡ÃΤµ¤ì¤ë(¸¡ÃÎÊýË¡¤Ï¾¤ÎÏÀʸ¤òÆɤàɬÍפ¬¤¢¤ë)
    • GPFS¤Ç¤Ï¡¢¶¦Í­¥Ç¥£¥¹¥¯¾å¤Ë¥ê¥«¥Ð¥ê¥í¥°¤òÊݸ¤·¤Æ¤¤¤Æ¡¢À¸¤­¤Æ¤ë¥Î¡¼¥É¤Î狼°ì¿Í¤«¤é¤½¤Î¥í¥°¤òÆɤ߹þ¤ß¹þ¤à¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥ê¥«¥Ð¥ê¤ò¼Â¸½¤¹¤ë¡£
    • ¥ê¥«¥Ð¥ê¤¬´°Î»¤·¤¿¤é¡¢Token Manager¤ÏÁ´¤Æ¤Î¥È¡¼¥¯¥ó¤ò²òÊü¤¹¤ë
      • ¤³¤ì¤Ë¤è¤ê¡¢¾ã³²¤òµ¯¤³¤·¤¿¥Î¡¼¥É¤¬¾ã³²¤òµ¯¤³¤·¤¿¤È¤­¤Ë¡¢¥Ç¥£¥¹¥¯¤Ë½ñ¤­Ìᤷ¤Æ¤¤¤Ê¤¤¥­¥ã¥Ã¥·¥å¾å¤Î¥Ç¡¼¥¿¤ò¼«Í³¤Ë¹Ô¿Ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë
      • ¤·¤¿¤¬¤Ã¤Æ¡¢¾ã³²¤òµ¯¤³¤·¤¿¥Î¡¼¥É¤¬¹¹¿·¤ò¹Ô¤Ã¤Æ¤¤¤ë¥á¥¿¥Ç¡¼¥¿¤Ø¾¤Î¥Î¡¼¥É¤Ï¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤
    • ¥Ç¥£¥¹¥¯¤Ø¤Î¹¹¿·¤¬½ªÎ»¤·¤¿¤é¡¢Ä̾ïÄ̤꾤ΥΡ¼¥É¤Ï¤É¤Î¥á¥¿¥Ç¡¼¥¿¤Î¥È¡¼¥¯¥ó¤â¼èÆÀ¤Ç¤­¤ë¡£
  • ¾¤Î¥Î¡¼¥É¤¬¥á¥¿¥Ç¡¼¥¿¤Î¹¹¿·¤òMetanode¤ØÁ÷¿®¤·¤Æ¤¤¤¿¤é¡¢¥ê¥«¥Ð¥ê¸å¡¢¿·¤·¤¤Metanode¤Ø¤½¤Î¥ê¥¯¥¨¥¹¥È¤òºÆÁ÷¿®¤¹¤ë¡£
  • Token Manager¤¬¾ã³²¤òµ¯¤³¤·¤¿¾ì¹ç¡¢Â¾¤Î¥Î¡¼¥É¤¬¤½¤ÎÀÕǤ¤ò°ú¤­·Ñ¤°
    • °ú¤­·Ñ¤¤¤À¥Î¡¼¥É¤Ï¡¢¸½ºß¼èÆÀ¤·¤Æ¤¤¤ë¥È¡¼¥¯¥ó¤ò¤ß¤ó¤Ê¡Ê¾¤Î¥Î¡¼¥É¡Ë¤Ëʹ¤¤¤Æ²ó¤ë
    • °ú¤­·Ñ¤¤¤À¥Î¡¼¥É¤¬¤½¤Î¸å¤âToken Manager¤È¤Ê¤ë¤«¡©¤½¤ì¤È¤â¸¢Íø¤òÊ־夹¤ë¤Î¤«?¤Ï¸ÀµÚ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
  • ¤½¤Î¾¤ÎÆÃÊ̤ʥΡ¼¥É¡ÊAllocation Manager¤Ê¤É¡Ë¤âƱÍͤÊÊýË¡¤ÇÂн褵¤ì¤ë¡£

ÄÌ¿®¾ã³²

  • ¥Í¥Ã¥È¥ï¡¼¥¯¤Î¾ã³²¤Ë¤è¤êʬΥ¤µ¤ì¤¿¥Î¡¼¥É·²¤¬¤½¤ì¤¾¤ìÆÈΩ¤Ë¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤·¤Þ¤Ã¤¿¤é¡¢¥Õ¥¡¥¤¥ë¤òÇ˲õ¤·¤Æ¤·¤Þ¤¦²ÄǽÀ­¤¬¤¢¤ë¡£
  • ¤³¤Î¤¿¤á¡¢Ê¬Î¥¤µ¤ì¤¿¥Î¡¼¥É¡¢¤Ä¤Þ¤ê¥Î¡¼¥É·²¤Î¥á¥ó¥Ð¡¼¤Ç¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¥Î¡¼¥É¤ò³ÖÎ¥¤·¡¢¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£

¥Ç¥£¥¹¥¯¾ã³²

  • ¥Ç¥å¥¢¥ëRAID¥³¥ó¥È¥í¡¼¥é¤ò»ÈÍÑ
  • ¤½¤Î¾¡¢¥Ç¥£¥¹¥¯¤Î¥ì¥×¥ê¥«¤ò¼«Ê¬°Ê³°¤Î¥Î¡¼¥É£²¿Í¤Ø¥³¥Ô¡¼¤¹¤ë¡£
    • ¥Ç¥£¥¹¥¯¤Ë¾ã³²¤¬µ¯¤³¤Ã¤¿¾ì¹ç¤Ï¡¢¤É¤Á¤é¤Î¥Î¡¼¥É¤Î¥Ç¡¼¥¿¤¬ºÇ¿·¤«¤òȽÃǤ¹¤ë¡£
    • ¥Ç¥£¥¹¥¯¤¬Éüµ¢¤·¤¿¤é¡¢Éüµ¢¤Î´Ö¹¹¿·¤µ¤ì¤¿ÆâÍƤò¥¢¥Ã¥×¥Ç¡¼¥È¤¹¤ë
  • ¤â¤·¡¢¾ã³²¤¬¥Ñ¡¼¥Þ¥Í¥ó¥È¤Ê¤é¥ì¥×¥ê¥«¤òÊ̤ΥΡ¼¥É¤Ø¥³¥Ô¡¼¤¹¤ë

Scalable Online System Utilities

  • ¥Ç¥£¥¹¥¯¤¬Äɲ䵤줿¾ì¹ç¡¢GPFS¤Ç¤Ï¥Ç¡¼¥¿¤ò¿·¤·¤¤¥Ç¥£¥¹¥¯¤Ø°ÜÆ°¤·¡¢¤Þ¤¿¥Ç¥£¥¹¥¯¤¬¼è¤êÂؤ¨¤é¤ì¤¿¤ê¡¢¼è¤ê½ü¤«¤ì¤¿¤ê¤·¤¿¤È¤­¤â¤½¤ÎÃæ¤Î¥Ç¡¼¥¿¤ò¾¤Î¥Ç¥£¥¹¥¯¤Ø°ÜÆ°¤¹¤ëµ¡Ç½¤ò»ý¤Ä

Experiences

  • ¥Î¡¼¥É¥ì¥Ù¥ë¤Ç¤ÎÊÂÎ󲽤è¤ê¡¢¥Î¡¼¥ÉÆâÉô¤Ç¤ÎÊÂÎó²½(¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¡¢¥Þ¥ë¥Á¥³¥¢)¤Î¤Û¤¦¤¬¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¡Ê¥Ð¥ó¥ÉÉý¤Î¸úΨŪÍøÍѤʤɡˤÎÌ̤ǽÅÍ×
  • Centralized Management¤Ë¤è¤Ã¤Æ¡¢¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ÎÄã²¼¤Î¶²¤ì¤¬¤¢¤ë¤¬¡¢ÊÂÎ󲽤ˤè¤Ã¤Æ¥«¥Ð¡¼¤Ç¤­¤ë

Äó°Æ¤·¤¿¤â¤Î¤Îɾ²Á

  • Read/Write Scaling
    • Writing(¢¥¤È¡ß)¤¬²¼¤¬¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ï¥¹¥¤¥Ã¥Á¥¢¥À¥×¥¿¤Î¤»¤¤¤À¤È¸À¤Ã¤Æ¤¤¤ë
    • ÃíÌܤ¹¤Ù¤­¤È¤³¤í¤Ï¡¢¢¥¤È¡ß¤¬Æ±¤¸¿ä°Ü¤Ç¤¢¤ë¤³¤È¡£byte-range¥È¡¼¥¯¥ó¥×¥í¥È¥³¥ë¤¬¤¦¤Þ¤¯ºîÍѤ·¡¢ÊÂÎó¤Ë½ñ¤­¹þ¤ó¤Ç¤¤¤ë¾Úµò¡£
      performance1.jpg
  • Effect of Sharing Granularity on Write Throughput
    • Sharing Granularity: ¥Õ¥¡¥¤¥ë¤Î¥Ö¥í¥Ã¥¯¤ÎÂ礭¤µ?
    • BR(byte-range) locking: Distributed locking
      • º¸Â¦¤¬Íî¤Á¹þ¤ó¤Ç¤ë¤Î¤Ï¡¢¥È¡¼¥¯¥ó¤Î¾×Æͤ¬¸¶°ø¤é¤·¤¤¡£
    • data shipping: Centralized management?
    • BR token activity: BR locking¤Î¬Äꤷ¤¿¤È¤­¡¢¥È¡¼¥¯¥ó¥µ¡¼¥Ð¡¼¾å¤Ç¬Äê
      performance2.jpg
  • File Create Scaling
    • ¢¥¤È¡ß¤ÏFigure2¤ÈƱ¤¸¥Ç¡¼¥¿
      • Wrinting¤ÏCreating¤è¤ê¡¢Allocation Map¤Î¹¹¿·¤ÎÎ̤δط¸¤Ç¡¢¥¹¥ë¡¼¥×¥Ã¥È¤¬¹â¤¤
    • ¢¡¤È¢¢
      • ¢¡¤È¢¢¤Î¿ä°Ü¤¬¤Û¤ÜƱ¤¸¤Ç¤¢¤ê¡¢ÊÂÎó¤Ë¥Õ¥¡¥¤¥ë¤ÎºîÀ®¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë...¾Úµò?
        performance3.jpg

¤½¤Î¾

  • °ÕÌ£¤Î¤ï¤«¤é¤Ê¤¤¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÍѸ줬Ϣȯ¤·¤Æ¤¤¤Æ¡¢¤«¤Ê¤ê¸ÍÏǤä¿¡£
  • ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤Ï¥³¥ó¥·¥¹¥Æ¥ó¥·¡¼¡¢Æ±´ü¡¢ÂѾ㳲¤Ê¤É¿ÊýÌ̤«¤é¤Îµ»½Ñ¤¬¹ç¤ï¤µ¤Ã¤Æ¤Ç¤­¤Æ¤¤¤ë¤ó¤À¤Ê¤¡¡¢¤È²þ¤á¤ÆÄË´¶¤·¤¿¡£
    • ¼«Ê¬¤Ï¡¢¤³¤ì¤é¤Î¤É¤ì¤«¤Ë¾ÇÅÀ¤òÅö¤Æ¤¿¸¦µæ¤Ë¤Ê¤ë¤Î¤À¤í¤¦¤«....?