´ÙÀ½ ÀÌÀü Â÷·Ê

3. Beowulf Cluster - GALAXY

À§¿¡¼­´Â Beowulf cluster¿¡ ´ëÇÑ ÀϹÝÀûÀΠƯ¡°ú ±¸¼º¹æ½Ä¿¡ ´ëÇؼ­ ¼³¸íÀ» ÇÏ¿´´Ù. ¿©±â¼­´Â ÇÊÀÚ°¡ Á÷Á¢ ±¸¼ºÇغ» Beowulf clusterÀÇ ±¸¼º¹æ¹ý°ú Ư¡¿¡ ´ëÇؼ­ °£´ÜÈ÷ ¼Ò°³¸¦ ÇÏ°Ú´Ù. ´ëºÎ ºÐÀÇ softwareÀûÀÎ ¼ÂÆðü·ÃÀº LINUX HOW-TO ¹®¼­¿¡ Àß ³ª¿Í ÀÖÀ¸¹Ç·Î ÂüÁ¶Çϱ⠹ٶõ´Ù.

97³â º½ ÇÊÀÚÀÇ ¿¬±¸½Ç¿¡¼­´Â SUN Sparc 20¿Í HP C180 ½Ã½ºÅÛÀ» »ç¿ëÇÏ°í ÀÖ¾úÁö¸¸, ½Ç¿øµé ÀÇ ¼öÄ¡°è»ê·®À» ¼ö¿ëÇϱ⿡´Â ¿ªºÎÁ·À̾ ±× ´ç½Ã »õ·Î¿î ½Ã½ºÅÛÀ» ã´Â Áß ¾Õ¼­ ¸»ÇÑ ¹Ù¿Í °°ÀÌ ÆæƼ¾ö ÇÁ·Î¿¡ ¸®´ª½º¸¦ ¼³Ä¡ÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ °¡°Ý´ë ¼º´Éºñ°¡ ÃÖÀûÀ̶ó´Â ÆÇ´Ü ¾Æ·¡¿¡ ÆæƼ¾ö ÇÁ·Î(200MHz)¸¦ ±¸ÀÔÇÏ¿© ¸®´ª½º¸¦ ¼³Ä¡ÇÏ°í, Àü°ø°ü·Ã ÄÚµå ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ¿© Àû±Ø È° ¿ëÇϱ⠽ÃÀÛÇÑ °ÍÀÌ ¸®´ª½º¸¦ óÀ½À¸·Î Å×Å©´ÏÄà ÄÄÇ»Æÿ¡ ÀÌ¿ëÇÑ °ÍÀ̾ú´Ù. ¹°·Ð ±× Àü¿¡¾ß ³² µé ´Ù ÇÏ´Â °Íó·³ ¸®´ª½º·Î ºÎÆÃÇß´Ù°¡ NT·Î ºÎÆÃÇß´Ù°¡ Çϸ鼭 ÀÌ°Í Àú°Í Àå³­ Ã帴 ´Ü°è¿´ Áö, Á÷Á¢ ¿¬±¸¿¡ È°¿ëÇϱâ´Â óÀ½À̾ú´Ù. ±× ÀÌÈÄ 97³â °Ü¿ï µà¾ó ÆæƼ¾öII 300MHz·Î ¾÷±×·¹ÀÌ µåÇÏ¿´À¸¸ç, º´·Ä󸮸¦ ¿°µÎ¿¡ µÎ°í 98³â º½ ½Ì±Û ÆæƼ¾öII 300MHz¸¦ µÎ´ë¸¦ ´õ ±¸ÀÔÇÏ¿© 1GB SCSIÇϵ忡 OS¸¸ ¼³Ä¡ÇÏ°í NFS¸¦ ÀÌ¿ëÇؼ­ »ç¿ëÀÚ µð·ºÅ丮¸¦ ½Ã½ºÅÛ°£ ¼­·Î °øÀ¯ÇÏ¿© »ç¿ë ÇÏ¿´´Ù. À̶§ Àü°øºÐ¾ßÁß Monte Carlo½Ã¹°·¹À̼ÇÀ» ÇÏ´Â Äڵ尡 PVM library¸¦ ÀÌ¿ëÇÑ º´·Äó¸® ¸¦ Áö¿øÇÏ¿´±â ¶§¹®¿¡, g77°ú PVM library¸¦ ÀÌ¿ëÇÏ¿© ÄÄÆÄÀÏÇÏ¿© »ç¿ëÇÏ°Ô µÇ¾ú´Ù. Monte Carlo ½Ã¹°·¹ÀÌ¼Ç Æ¯¼º»ó ÇÁ·Î±×·¥ ½ÃÀÛ°ú ³¡¿¡¸¸ °¢ nodeµé°£ÀÇ µ¥ÀÌŸ Àü¼ÛÀÌ ÇÊ¿äÇϱ⠶§¹® ¿¡, shared 10Mbpsȯ°æ¿¡¼­µµ ¹«³­ÇÏ°Ô ÇÁ·Î¼¼½º °¹¼ö¸¸Å­, 4¹èÁ¤µµÀÇ ¼ÓµµÁõ°¡¸¦ °¡Á®¿ÔÀ¸¸ç »ó ´çÈ÷ ¸¸Á·ÇÏ°Ô »ç¿ëÇÏ¿´´Ù. ±×·¯³ª shared 10Mbpsȯ°æ¿¡¼­ 4°³ÀÇ ÇÁ·Î¼¼¼­¸¦ »ç¿ëÇÏ¿© number crunching ÀÛ¾÷À» Çϱ⿡´Â ³Ê¹« ¿­¾ÇÇÑ È¯°æÀ̾ »ý°¢Áöµµ ¸øÇÏ¿´À¸³ª, 7¿ù¿¡ KAIST Backbone networkÀÌ ±âÁ¸ÀÇ FDDI¿¡¼­ ATMÀ¸·Î ÀÌÀüÇϸ鼭 enduser¿¡°Ô dedicated 10MBPS¸¦ Á¦°øÇÔ¿¡ µû¶ó, ¿¬±¸½Ç³»¿¡¼­ Baynetwork¿¡¼­ ³ª¿Â 24Æ÷Æ® 10/100M SwitchÀÎ BayStack 350T-HD¸¦ ±¸ÀÔÇÏ°Ô µÇ¾ú´Ù.

±âÁ¸ÀÇ ½Ã½ºÅÛÀ¸·Î »õ·Ó°Ô workstation cluster°¡ ¾Æ´Ñ, Beowulf-classÀÇ ½Ã½ºÅÛÀ¸·Î ±¸ÃàÇϱâ À§ ÇØ, ÀÏ´Ü master node¿¡¸¸ ÇÏµå µð½ºÅ©¸¦ ÀåÂøÇÏ°í slave node´Â diskless·Î ÇÏ¿© ±âÁ¸¿¡ ÀÖ´ø OS¿ë 1GB SCSIÇϵ带 Á¦°ÅÇÏ°í slave node´Â M/B, 1 CPU, 10/100M NIC, 64MB RAM, ISA VGA, keyboard·Î¸¸ ±¸¼º ÇÏ¿´´Ù. ½ÇÁ¦ VGA´Â ÇÊ¿ä¾ø¾úÁö¸¸, ½Ã½ºÅÛ ºÎÆÃÀ» ÇϱâÀ§ÇØ, ¾î¿¼ö ¾øÀÌ ±¼·¯´Ù´Ï´Â ISA ºñµð¿À Ä«µå¸¦ ²È°Ô µÇ¾ú°í mini beowulf ½Ã½ºÅÛÀ̶ó Å°º¸µå °øÀ¯±â¸¦ ±¸ ÀÔÇÏ¿© master node¿¡¼­ Àüü¸¦ °ü¸®ÇÏ´Â °ÍÀº ÀÏ´Ü »ý°¢Áö ¾Ê¾Ò´Ù. ÀÌ¿Í ¹Ý¸é¿¡ master node¿¡ ¼­´Â M/B, 2 CPU, 2 10/100M NIC, 512MB RAM, 22GB SCSI HDD, PCI VGA·Î ±¸¼ºÇÏ¿´´Ù. ÀÏ´Ü BayStack 350T-HDÀÇ VLAN ±â´ÉÀ» ÀÌ¿ëÇÏ¿© 24Æ÷Æ®Áß Beowulf cluster°¡ »ç¿ëÇÏ´Â 3Æ÷ Æ®¸¦ VLAN2 ·Î ÇÏ°í, ³ª¸ÓÁö Æ÷Æ®´Â VLAN1¿¡ ¼ÓÇϵµ·Ï ¼³Á¤ÇÏ¿´°í, Master node¿¡´Â 2°³ÀÇ NIC¸¦ ¼³Ä¡ÇÏ¿´´Âµ¥ eth0´Â VLAN1 ¿¡ ¿¬°áÇÏ¿© ¿ÜºÎ ³×Æ®¿÷¿¡¼­ Á¢±Ù°¡´ÉÇÏ°Ô ÇÏ°í eth1Àº VLAN2¿¡ ¿¬°áÇÏ¿© nodeµé°£¿¡ private network¸¦ ±¸¼ºÇÏ¿´´Ù.

»ç¿ëÇÑ ¸®´ª½º ¹èÆ÷ÆÇÀº RedHat 5.1·Î¼­, RedHat»ç¿¡¼­ NASAÀÇ CESDIS¿Í ÇÔ²² Extreme Linux¶ó´Â RedHat 5.0¿¡ ±âÃÊÇÏ¿© ÀÎÅÚ X86À» À§ÇÑ Beowulf cluster¿ë ¹èÆ÷ÆÇÀ» ÆǸÅÇÏ°í ÀÖ À¸¸ç ÇöÀç anonymous ftp server·Î ºÎÅÍ ´Ù¿î·Îµå ¹ÞÀ»¼ö ÀÖ´Ù. ÇÊÀÚ°¡ ¼³Ä¡ÇÒ ½Ã±â¿¡´Â anonymous ftp server·ÎºÎÅÍ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Â »óȲÀÌÁö¸¸, ±× ´ç½Ã¿¡´Â Extreme Linux¸¦ ±¸ÇÒ¼ö ¾ø¾ú°í, 5.0¿¡ ±âÁØÇÏ°í ÀÖ¾î º°´Ù¸¥ ¸Þ¸®Æ®°¡ ¾ø¾î º¸¿© RedHat 5.1À» ¼³Ä¡ÇÏ°í °ü·Ã ¼Ò ÇÁÆ®¿þ¾î¸¦ Á÷Á¢ ¼³Ä¡ÇÏ¿´´Ù. ±×·¯³ª, Intel X86ȯ°æ¿¡¼­ NIC¸¦ °¢ ³ëµå¿¡ 2À徿 »ç¿ëÇÏ¿© channel bondingÇÏ¿© node°£ÀÇ network ´ë¿ªÆøÀ» 2¹è·Î Áõ°¡½ÃÅ°°Å³ª ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡ÀÇ ¼ö°í¸¦ ´ú±â ¿øÇÑ´Ù¸é, Extreme Linux¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÒ °Í °°´Ù.

Master node´Â diskless slave node¸¦ À§ÇØ NFS-ROOT server°¡ µÇ°Ô ÇÏ¿´°í, NIS¼­¹ö´Â ¼³Ä¡ ÇÏÁö ¾Ê°í °¢ nodeµéÀ» À§ÇÑ /tftpboot µð·ºÅ丮ÀÇ passwd, group ÆÄÀÏÀ» master nodeÀÇ ÆÄÀÏ°ú Çϵ帵ũ ½ÃÄѳõ¾Ò´Ù. slaveµéÀÌ bootp¸¦ ÅëÇØ ip address¸¦ ¼³Á¤ÇÒ¼ö ÀÖ°Ô ÇÏ¿´À¸¸ç, DNS ¼­ ¹ö¸¦ ¼³Ä¡ÇÏ¿© private network³»¿¡¼­ nodeµé°£ÀÇ ³×Æ®¿÷ ȯ°æ¿¡ ¹®Á¦°¡ ¾ø°Ô ÇÏ¿´´Ù. ¼³Ä¡ÇÑ °øÇÐ °ü·Ã ¼ÒÇÁÆ®¿þ¾î´Â ¾ÕºÎºÐ¿¡¼­ ¸»ÇÑ ASCI Red ¼öÆÛÄÄÇ»ÅÍ¿¡¼­ »ç¿ëÁßÀÎ ÆæƼ¾ö ÇÁ ·ÎÀü¿ë BLAS, FFT math library¸¦ ¼³Ä¡ÇÏ¿´°í, message passing library·Î, MPICH, LAM MPI, PVMÀ» ¼³Ä¡ÇÏ¿© °¢ ³ëµå°£ message passingÀ» ÅëÇØ º´·Ä󸮸¦ °¡´ÉÇÏ°Ô ÇÏ¿´À¸¸ç, ±âŸ º´·Ä 󸮿ë math library¸¦ ¼³Ä¡ÇÏ¿´´Ù. Beowulf cluster »ç¿ëÀÚµéÀº master node·Î¸¸ ³×Æ®¿÷À¸·Î Á¢ ±Ù °¡´ÉÇϱ⠶§¹®¿¡, master node¿¡ jobÀÌ ÁýÁßµÉ °ÍÀ» ¿ì·ÁÇÏ¿© ºñ·Ï ¼Ò±Ô¸ð ½Ã½ºÅÛÀÌÁö¸¸, DQS¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚµéÀÇ batch jobÀ» °ü¸®ÇÏ°Ô ÇÏ¿© »ç¿ëÀÚµéÀÇ jobÀÌ ÇÁ·Î¼¼½º¸¶´Ù ±ÕµîÇÏ °Ô ¹èºÐÇÒ¼ö ÀÖ°Ô ÇÏ¿´°í, ÃÖÁ¾ÀûÀ¸·Î ÀÌ·¸°Ô ¼³Ä¡µÈ Beowulf System¿¡ ´ëÇؼ­ NAS Parallel Benchmarks (NPB)À» ÀÌ¿ëÇÏ¿© Å×½ºÆ® Çغ¸¾ÒÀ¸¸ç ÇÊÀÚÀÇ Àü°ø°ü·Ã ¹®Á¦¸¦ PETSc¶ó´Â ÅøŶÀ» ÀÌ¿ëÇؼ­ ÇÁ·Î±×·¡¹ÖÇÏ¿© Å×½ºÆ® Çغ¸¾Ò´Ù. Å×½ºÆ®Çغ¸¸é¼­ ¸î°¡Áö ¹®Á¦Á¡ÀÌ ³ªÅ¸³µ´Âµ¥, ÀÏ´Ü CPU°¡ 4°³ÀÎ ¹Ý¸é¿¡ NIC´Â 3°³¿©¼­ µ¥ÀÌŸ º´¸ñÇö»óÀÌ ¹ß°ßµÇ¾úÀ¸¸ç ¾à°£ÀÇ ¼º´É ÀúÇÏ°¡ ³ªÅ¸ ³²À» ¹ß°ßÇÏ¿´´Ù. Á¤È®ÇÑ parallel benchmark °á°ú¸¦ ½ÆÁö´Â ¾ÊÁö¸¸, °ÅÀÇ 85% ÀÌ»ó parallel efficiency¸¦ º¸¿©ÁÖ¾úÀ¸¸ç, NIC¸¦ Çϳª´õ Ãß°¡ÇÏ°í channel bondingÀ» ÇÑ´Ù¸é ´õ¿í ´õ È¿°úÀûÀÎ ½Ã½ºÅÛÀÌ µÉ°ÍÀ̶ó »ý°¢µÈ´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê