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

3. ¸®´ª½º ½Ã½ºÅÛÀÇ Å¬·¯½ºÅÍ(Clusters Of Linux Systems)

ÀÌ ¼½¼ÇÀº ¸®´ª½º¸¦ »ç¿ëÇÑ Å¬·¯½ºÅÍ º´·Ä ó¸®ÀÇ °³°üÀ» Á¦°øÇÏ·Á°í ½ÃµµÇÒ °ÍÀÌ´Ù. Ŭ·¯½ºÅÍ´Â ÇöÀç °¡Àå ÀαâÀÖ´Â °ÍÀÌÀÚ °¡Àå ´Ù¾çÇÏ´Ù. ÀÌ°ÍÀº ÀüÅëÀûÀÎ ¿öÅ©½ºÅ×À̼ǵéÀ» ¿©·¯´ë ¹­Àº ³×Æ®¿÷(NOW; network of workstations)¿¡¼­ ÀÌÁ¦ ¸· ÇÁ·Î¼¼¼­ ³ëµå·Î½á ¸®´ª½º ÇǾ¾µé·Î »ç¿ëÇϱ⠽ÃÀÛÇÑ Ä¿½ºÅÒ º´·Ä ±â°è±îÁö ÀÖ´Ù. ¶ÇÇÑ ¸®´ª½º ±â°èµéÀÇ Å¬·¯½ºÅ͸¦ »ç¿ëÇÏ´Â º´·Ä 󸮸¦ À§ÇÑ ¸¹Àº ¼ÒÇÁÆ®¿þ¾î Áö¿øµéÀÌ ÀÖ´Ù.

3.1 ¿Ö Ŭ·¯½ºÅÍÀΰ¡(Why A Cluster)?

Ŭ·¯½ºÅÍ º´·Ä 󸮴 ´ÙÀ½°ú °°Àº Áß¿äÇÑ ÀåÁ¡µéÀ» Á¦°øÇÑ´Ù:

ÁÁ´Ù. Ŭ·¯½ºÅÍ´Â ÇÁ¸®À̰ųª ½Î°í ¾ÆÁÖ Ä¿Áú ¼ö ÀÖÀ¸¸ç °¡¿ë¼ºÀÌ ³ô´Ù... ±×·¸´Ù¸é ¿Ö ¸ðµç »ç¶÷µéÀÌ Å¬·¯½ºÅ͸¦ »ç¿ëÇÏÁö ¾Ê´Â°¡? ±Û½ê °Å±â¿¡´Â ´ÙÀ½°ú °°Àº ¹®Á¦µéÀÌ Á¸ÀçÇÑ´Ù:

±×·¡¼­, Ŭ·¯½ºÅÍ´Â ±²ÀåÇÑ ÀáÀç·ÂÀ» Á¦°øÇÏÁö¸¸ ÀÌ ÀáÀç·ÂÀÌ ´ëºÎºÐÀÇ ¾îÇø®ÄÉÀ̼ǵ鿡 ´ëÇؼ­ ȹµæµÇ±â¿¡´Â ¾ÆÁÖ ¾î·Á¿ï ¼ö ÀÖ´Ù. ÀÌ·± ȯ°æ¿¡ ÀûÇÕÇÑ ÇÁ·Î±×·¥µé¿¡ ´ëÇؼ­ ÁÁÀº ¼º´ÉÀ» ȹµæÇϵµ·Ï ÇÏ´Â ¸¹Àº ¼ÒÇÁÆ®¿þ¾î Áö¿øÀÌ ÀÖ´Ù´Â °Í°ú ÁÁÀº ¼º´ÉÀ» ȹµæÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥µéÀÇ ¹üÀ§¸¦ ³ÐÈú ¼ö ÀÖµµ·Ï Ưº°È÷ ¼³°èµÈ ³×Æ®¿÷µéµµ ÀÖ´Ù´Â °ÍÀº ÁÁÀº ¼Ò½ÄÀÌ´Ù.

3.2 ³×Æ®¿÷ Çϵå¿þ¾î(Network Hardware)

ÄÄÇ»ÅÍ ³×Æ®¿öÅ·Àº ±ÞÁõÇÏ°í ÀÖ´Ù... ÀÌ¹Ì ÀÌ°ÍÀ» ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. ³×Æ®¿öÅ· ±â¼ú°ú Á¦Ç°µéÀÇ °è¼Ó-Áõ°¡ÇÏ´Â ¿µ¿ªÀº °³¹ßÀÌ ÁøÇà Áß¿¡ ÀÖ°í ´ëºÎºÐÀº ±â°èµé(¿¹, °¢°¢ ¸®´ª½º¸¦ µ¹¸®´Â ÇǾ¾µé)ÀÇ ±×·ì¿¡ º´·Ä-ó¸® Ŭ·¯½ºÅ͸¦ ¸¸µå´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ´Â ÇüÅ·Π»ç¿ë °¡´ÉÇÏ´Ù.

ºÒÇàÇÏ°Ôµµ ¾î¶² ³×Æ®¿÷ ±â¼úµµ ¸ðµç ¹®Á¦µéÀ» ÈǸ¢ÇÏ°Ô Ç®Áö ¸øÇÑ´Ù; »ç½Ç Á¢±Ù, ºñ¿ë, ¼º´ÉÀÇ ¹üÀ§´Â ¾ó¸¥ ºÁ¼­ ¹Ï±â Èûµé´Ù. ¿¹¸¦ µé¾î¼­ Ç¥ÁØ »ó¾÷ÀûÀ¸·Î-°¡´ÉÇÑ Çϵå¿þ¾î¸¦ »ç¿ëÇؼ­ ³×Æ®¿÷À¸·Î ±â°èµéÀ» ¹­´Â µ¥ µå´Â ºñ¿ëÀº ±â°è ´ç Àû°Ô´Â 5´Þ·¯¿¡¼­ ¸¹°Ô´Â 4000´Þ·¯±îÁö À̸¥´Ù. Á¦Á¶ÀÚ°¡ ¸»ÇÏ´Â ´ë¿ªÆø(delivered bandwidth)¿Í Áöü ½Ã°£ °¢°¢Àº Å©±âÀÇ ³×°¡Áö µî±Þ(four orders of magnitude)¿¡ µû¶ó º¯ÇÑ´Ù.

ƯÁ¤ ³×Æ®¿÷¿¡ ´ëÇؼ­ ¹è¿ì·Á°í Çϱâ ÀÌÀü¿¡ ÀÌ·± °ÍµéÀº ¹Ù¶÷ó·³ ½±°Ô º¯ÇÑ´Ù´Â °ÍÀ» ÀνÄÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù(¸®´ª½º ³×Æ®¿öÅ· ´º½ºµé¿¡ ´ëÇؼ­´Â http://www.uk.linux.org/NetNews.htmlÀ» ÂüÁ¶). ±×¸®°í ¾î¶² ³×Æ®¿÷µé¿¡ ´ëÇÏ Á¤È®ÇÑ µ¥ÀÌÅ͸¦ ¾ò´Â °ÍÀº ¾ÆÁÖ ¾î·Æ´Ù. Ưº°È÷ È®½ÇÇÏÁö ¾Ê´Â °÷¿¡ ÀúÀÚ´Â ¹°À½Ç¥(?)¸¦ ³õ¾Ò´Ù. ÀÌ ÁÖÁ¦¸¦ ¿¬±¸ÇÏ´Â µ¥ ¸¹Àº ½Ã°£À» ½èÁö¸¸ ³ª´Â ³» ¿ä¾à(ÀÌ ¹®¼­)ÀÌ À߸ø Åõ¼ºÀÌ°í ¸¹Àº Áß¿äÇÑ °ÍµéÀ» »©¸Ô¾ú´Ù´Â °ÍÀ» È®½ÅÇÑ´Ù. ±³Á¤À̳ª Ãß°¡ÇØ¾ß ÇÏ´Â °ÍÀ» °®°í ÀÖ´Ù¸é pplinux@ecn.purdue.edu·Î À̸ÞÀÏÀ» º¸³»Áֱ⠹ٶõ´Ù.

http://web.syr.edu/~jmwobus/comfaqs/lan-technology.html¿¡ ÀÖ´Â LAN Technology Scorecard¿Í °°Àº ¿ä¾àµéÀº ¸¹Àº ¼­·Î ´Ù¸¥ ŸÀÔµéÀÇ ³×Æ®¿÷°ú LAN Ç¥Áص鿡 ´ëÇÑ Æ¯¼ºµéÀ» º¸¿©ÁØ´Ù. ±×·¯³ª ÀÌ ÇÏ¿ìÅõ¿¡ ÀÖ´Â ¿ä¾àÀº ´ëºÎºÐ ¸®´ª½º Ŭ·¯½ºÅ͸¦ ¸¸µå´Â µ¥ °ü·ÃÀÌ ÀÖ´Â ³×Æ®¿÷ Ư¼ºµé¿¡ ´ëÇؼ­ ÃÐÁ¡À» ¸ÂÃè´Ù. °¢ ³×Æ®¿÷À» ³íÀÇÇÏ´Â ¼½¼ÇÀº ªÀº Ư¼º ¸®½ºÆ®·Î ½ÃÀÛÇÑ´Ù. ´ÙÀ½Àº ÀÌ·± ¿£Æ®¸®µéÀÌ ÀǹÌÇÏ´Â ¹Ù¸¦ Á¤ÀÇÇÑ´Ù.

¸®´ª½º Áö¿ø(Linux support):

(ÀÌ°Í¿¡ ´ëÇÑ) ´äº¯ÀÌ no¶ó¸é, ±× Àǹ̴ ºÐ¸íÇÏ´Ù. ´Ù¸¥ ´ë´äµéÀº ³×Æ®¿÷À» ¾ï¼¼½ºÇÏ´Â µ¥ »ç¿ëµÇ´Â ±âº» ÇÁ·Î±×·¥ ÀÎÅÍÆäÀ̽º¸¦ ¼³¸íÇÏ·Á°í ÇÒ °ÍÀÌ´Ù. ´ëºÎºÐÀÇ ³×Æ®¿÷ Çϵå¿þ¾î´Â, ÀüÇüÀûÀ¸·Î TCP/UDP Åë½ÅÀ» Áö¿øÇÏ´Â, Ä¿³Î µå¶óÀ̹ö¸¦ ÅëÇؼ­ ÀÎÅÍÆäÀ̽ºµÈ´Ù. ¾î¶² ´Ù¸¥ ³×Æ®¿÷µéÀº Ä¿³ÎÀ» °ÅÄ¡Áö ¾Ê°í¼­ Áöü ½Ã°£À» Á» ´õ ÁÙÀ̱â À§Çؼ­ Á» ´õ Á÷Á¢ÀûÀÎ ÀÎÅÍÆäÀ̽ºµé(¿¹, ¶óÀ̺귯¸®)À» »ç¿ëÇϱ⵵ ÇÑ´Ù.

¸î³âÀü OS È£ÃâÀ» ÅëÇؼ­ ºÎµ¿ ¼Ò¼ýÁ¡ À¯´ÏÆ®¸¦ ¾ï¼¼½º ÇÏ´Â °ÍÀÌ ¿ÏÀüÈ÷ ÈǸ¢ÇÑ °ÍÀ¸·Î »ý°¢µÇ¾îÁ³´Ù. ±×·¯³ª ÀÌÁ¦ ±×°ÍÀº ºÐ¸í ¿ì½º¿î °ÍÀÌ´Ù; ³» ÀÇ°ßÀ¸·Î´Â º´·Ä ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â ÇÁ·Î¼¼¼­µé °£ °¢ Åë½ÅÀÌ OS È£ÃâÀ» ¿ä±¸ÇÑ´Ù´Â °ÍÀº ¾î»öÇÑ °ÍÀÌ´Ù. ¹®Á¦´Â ÄÄÇ»Å͵éÀÌ ¾ÆÁ÷µµ ÀÌ·± Åë½Å ¸ÞÄ«´ÏÁòµéÀ» ÅëÇÕÇÏÁö ¸øÇß´Ù´Â °ÍÀÌ´Ù. ±×·¡¼­ ºñ-Ä¿³Î Á¢±ÙÀº À̽ļº ¹®Á¦µéÀ» °¡Áö´Â °æÇâÀÌ ÀÖ´Ù. ¿©·¯ºÐÀº °¡±î¿î ¹Ì·¡¿¡ ÀÌ·± °Í¿¡ ´ëÇؼ­ Á» ´õ ¸¹Àº °ÍÀ» µè°Ô µÉ °ÍÀÌ´Ù. ´ë°³ »õ·Î¿î Virtual Interface (VI) Architecture http://www.viarch.org/ÀÇ ÇüÅ·Πµè°Ô µÉ °ÍÀÎ µ¥ ÀÌ°ÍÀº ÀϹÝÀûÀÎ OS È£Ãâ °èÃþÀ» ÇÇÇÏ´Â ´ëºÎºÐÀÇ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º ÀÛ¾÷µé¿¡ ´ëÇÑ Ç¥ÁØÈ­µÈ ¹æ¹ýÀÌ´Ù. VI Ç¥ÁØÀº Compaq, Intel, ±×¸®°í Microsoft¿¡ ÀÇÇؼ­ Áö¿ø¹Þ°í ÀÖÀ¸¸ç ´ÙÀ½ ¸î ³â ¾È¿¡ SAN(½Ã½ºÅÛ ¿µ¿ª ³×Æ®¿÷) µðÀÚÀο¡ ´ëÇÑ °­ÇÑ Ãæ°ÝÀÌ µÉ °ÍÀÓ¿¡ Ʋ¸²¾ø´Ù.

ÃÖ´ë ´ë¿ªÆø(Maximum bandwidth):

ÀÌ°ÍÀº ¸ðµç »ç¶÷ÀÌ ½Å°æ¾²´Â ¼ýÀÚÀÌ´Ù. ³ª´Â ÀϹÝÀûÀ¸·Î ÀÌ·ÐÀûÀ¸·Î ÃÖ¼±ÀÎ °æ¿ìÀÇ ¼öÄ¡¸¦ »ç¿ëÇß´Ù; ¿©·¯ºÐÀÇ ¸¶Àϸ®Áö´Â º¯ÇÒ °ÍÀÌ´Ù.

ÃÖ¼Ò Áöü(Minimum latency):

³» ÀÇ°ßÀ¸·Î´Â, ÀÌ°ÍÀº ¸ðµç »ç¶÷µéÀÌ ´ë¿ªÆøº¸´Ù ´õ ½Å°æ½á¾ß ÇÒ ¼öÄ¡ÀÌ´Ù. ´Ù½Ã ³ª´Â ºñÇö½ÇÀûÀÎ ÃÖ¼±ÀÎ °æ¿ì(base-case) ¼öÄ¡¸¦ »ç¿ëÇßÁö¸¸ Àû¾îµµ ÀÌ ¼öÄ¡µéÀº Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î ¸ðµÎ¸¦ Æ÷ÇÔÇÏ´Â ¸ðµç Áöü ¼Ò½ºµéÀ» Æ÷ÇÔÇÑ´Ù. ´ëºÎºÐÀÇ °æ¿ì ³×Æ®¿÷ Áöü´Â ¸î ¸¶ÀÌÅ©·ÎÃÊÀÌ´Ù; ¼öÄ¡°¡ Å©¸é Ŭ¼ö·Ï Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍÆäÀ̽ºµéÀÇ °èÃþµéÀÌ ºñÈ¿À²ÀûÀÌ´Ù´Â °ÍÀ» ¹Ý¿µÇÑ´Ù.

±¸ÀÔ ¹æ¹ý(Available as):

´Ü¼øÇÏ°Ô ¸»Çؼ­, ÀÌ°ÍÀº ÀÌ Å¸ÀÔÀÇ ³×Æ®¿÷ Çϵå¿þ¾î¸¦ °®Ãâ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. »óÇ°µéÀº ÁÖ¿ä ±¸ºÐ ÀÎÀÚ·Î °¡°ÝÀ» °¡Áö¸é¼­, ¸¹Àº º¥´õµé¿¡ ÀÇÇؼ­ »ì ¼ö ÀÖ´Ù. ´Ù¼ö-º¥´õ¿¡ ÀÇÇÑ °ÍµéÀº ÇϳªÀÇ °æÀïÀûÀÎ º¥´õº¸´Ù Á» ´õ »ç±â ½±Áö¸¸ À̵éÀº Áß¿äÇÑ Â÷ÀÌ¿Í ÀáÀçÀûÀΠȣȯ¼º(interoperability) ¹®Á¦µéÀÌ ÀÖ´Ù. ´ÜÀÏ-º¥´õ ³×Æ®¿÷Àº °ø±ÞÀÚÀÇ ¼Õ¿¡ ¿ÏÀüÈ÷ Á¾¼ÓµÈ´Ù(±×·¯³ª ±×µéÀº ģöÇÒ ¼öµµ ÀÖ´Ù). ÆÛºí¸¯ µµ¸ÞÀÎ µðÀÚÀÎÀ̶õ ±×°ÍÀ» ¿©·¯ºÐ¿¡°Ô ÆÈ »ç¶÷À» ãÁö ¸øÇÏ´õ¶óµµ ºÎÇ°µéÀ» »ç¼­ ±×°ÍÀ» ¸¸µé ¼ö ÀÖ´Ù´Â °ÍÀ» ¸»ÇÑ´Ù. ¿¬±¸ ÇÁ·ÎÅäŸÀÔµéÀº ¸» ±×´ë·ÎÀÌ´Ù; ±×µéÀº ÀϹÝÀûÀ¸·Î ÀϹÝÀûÀ¸·Î ¿ÜºÎ »ç¿ëÀڵ鿡°Ô ÁغñµÈ °ÍÀÌ ¾Æ´Ï°Å³ª ±×µéÀÌ »ì ¼ö ÀÖ´Â °ÍÀÌ ¾Æ´Ï´Ù.

»ç¿ëµÈ ÀÎÅÍÆäÀ̽º Æ÷Æ®/¹ö½º(Interface port/bus used):

ÀÌ ³×Æ®¿÷À» ¾î¶»°Ô Á¢¼Ó(hook-up)ÇÒ °ÍÀΰ¡? ÇöÀç °¡Àå ³ôÀº ¼º´É°ú °¡Àå ÀϹÝÀûÀÎ °ÍÀº PCI ¹ö½º ÀÎÅÍÆäÀ̽º Ä«µåÀÌ´Ù. EISA, VESA ·ÎÄà ¹ö½º(VL ¹ö½º), ±×¸®°í ISA ¹ö½º Ä«µåµéµµ ÀÖ´Ù. ISA´Â ¸ÇóÀ½¿¡ ³ª¿Â °ÍÀÌ°í ¾ÆÁ÷µµ ³·Àº-¼º´ÉÀÇ Ä«µåµé¿¡ ´ëÇؼ­ ¸¹ÀÌ »ç¿ëµÇ´Â °ÍÀÌ´Ù. EISA´Â ¸¹Àº PCI ±â°èµé¿¡¼­ µÎ¹ø° ¹ö½º·Î »ç¿ëµÇ°í À־ ¸î°¡Áö Ä«µåµéÀÌ ÀÖ´Ù. ¿À´Ã³¯ VL ¹°°ÇµéÀ» ¸¹ÀÌ º¼ ¼ö ¾øÀ» °ÍÀÌ´Ù(ºñ·Ï http://www.vesa.org/°¡ ÀÇ°ßÀ» ´Þ¸®ÇÏÁö¸¸ ¸»ÀÌ´Ù).

¹°·Ð ¿©·¯ºÐÀÇ ÇǾ¾ÀÇ ÄÉÀ̽º¸¦ Çѹøµµ ¿­¾îº¸Áö ¾Ê°í »ç¿ëÇÒ ¼ö ÀÖ´Â ¾î¶² ÀÎÅÍÆäÀ̽º´Â ÀÛÀº ¸Å·Â ÀÌ»ó °¡Áø´Ù. IrDA¿Í USB ÀÎÅÍÆäÀ̽ºµéÀº °è¼Ó ºó¹øÇÏ°Ô ³ªÅ¸³ª°í ÀÖ´Ù. Ç¥ÁØ Æз¯·² Æ÷Æ®(SPP)´Â ÇÁ¸°Å͸¦ ºÙÀÌ´Â µ¥ »ç¿ëµÇÁö¸¸ ISA ¹ö½ºÀÇ ¿ÜºÎ È®ÀåÀ¸·Î½á ¸¹ÀÌ »ç¿ëµÇ¾î ¿Ô´Ù; ÀÌ »õ·Î¿î ±â´ÉÀº EPP¿Í ECP °³¼±À» ±ÔÁ¤ÇÑ IEEE 1284 Ç¥ÁØ¿¡ ÀÇÇؼ­ ÁõÁøµÇ¾ú´Ù. ¶ÇÇÑ ¿À·¡µÇ°í ½Å·Ú¼º ÀÖÁö¸¸ ´À¸° RS232 ½Ã¸®¾ó Æ÷Æ®°¡ ÀÖ´Ù. ³ª´Â VGA ºñµð¿À Ä¿³ØÅÍ, Å°º¸µå, ¸¶¿ì½º, ¶Ç´Â °ÔÀÓ Æ÷Æ®µéÀ» »ç¿ëÇؼ­ ±â°èµéÀ» ¿¬°áÇÏ´Â °ÍÀ» ¾ËÁö ¸øÇÑ´Ù... ±×·¡¼­ ¿©±â¿¡ ¾ø´Ù.

³×Æ®¿÷ ±¸Á¶(Network structure):

¹ö½º´Â ±¸¸® ¼±À̰ųª ±¸¸® ¼±µéÀÇ ¸ðÀÓÀ̰ųª ±¤¼¶À¯ÀÌ´Ù. Çãºê´Â ¿©±â¿¡ ²ÅÇô ÀÖ´Â ¼­·Î ´Ù¸¥ ±¸¸®¼±/±¤¼¶À¯µéÀ» ¿¬°áÇÏ´Â ¹æ¹ýÀ» ¾Ë°í ÀÖ´Â ÀÛÀº ¹Ú½ºÀÌ´Ù; ½ºÀ§Äª Çãºê(switched hub)´Â ´Ù¼ö Ä¿³Ø¼ÇµéÀÌ µ¿½Ã¿¡ µ¥ÀÌÅ͸¦ Àü¼ÛÇϵµ·Ï ÇÏ´Â ÇãºêÀÌ´Ù.

±â°è´ç ºñ¿ë(Cost per machine connected):

¿©±â¼­ ÀÌ·± ¼öÄ¡µéÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¸»ÇÑ´Ù. ³×Æ®¿÷ Ä¿³Ø¼ÇÀ» ¼¼Áö ¾Ê°í¼­ Ŭ·¯½ºÅÍÀÇ ÇÑ ³ëµå¿¡ ¾µ·Á°í ÇǾ¾¸¦ »ç´Â µ¥ 2000´Þ·¯°¡ µé¾ú´Ù°í °¡Á¤Çغ¸ÀÚ. ÆнºÆ® ÀÌ´õ³Ý(Fast Ethernet)À» ´õÇÏ´Â °ÍÀº ³ëµå´ç ¾à 2400´Þ·¯°¡ µç´Ù; MyrinetÀ» ´ë½Å ´õÇÏ´Â µ¥¿¡´Â ¾à 3800´Þ·¯°¡ µç´Ù. 2¸¸´Þ·¯°¡ ÀÖ´Ù¸é Fast Ethernet¿¡ ¿¬°áµÈ 8°³ÀÇ ±â°è³ª Myrinet¿¡ ¿¬°áµ· 5°³ÀÇ ±â°è¸¦ °¡Áú ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¸ÖƼ ³×Æ®¿÷À» °¡Áö´Â °Íµµ ¾ÆÁÖ ÀǹÌÀÖÀ» ¼ö ÀÖ´Ù; ¿¹, $20,000·Î ÆнºÆ® ÀÌ´õ³Ý°ú TTL_PAPERS µÑ ´Ù °¡Áö´Â 8°³ ±â°èµéÀ» ±¸¸ÅÇÒ ¼ö ÀÖ´Ù. ¾îÇø®ÄÉÀ̼ÇÀ» °¡Àå »¡¸® ½ÇÇàÇÒ Å¬·¯½ºÅ͸¦ ¸¸µé °¡´É¼ºÀÌ °¡Àå ³ôÀº ³×Æ®¿÷À̳ª ³×Æ®¿÷ ÁýÇÕÀ» ¼±ÅÃÇÏÀÚ.

ÀÌ°ÍÀ» Àд ÇöÀç ÀÌ·± ¼öÄ¡µéÀº Ʋ¸± ¼öµµ ÀÖ´Ù... Á¦±â·² ±×µéÀº ¾Æ¸¶µµ ÀÌ¹Ì Æ²·ÈÀ» °ÍÀÌ´Ù. ¶ÇÇÑ ¾çÀÌ ÁÙ¾îµé°Å³ª Ưº° ÆǸÅ(special deal)µîÀÌ ÀÖÀ» ¼ö ÀÖ´Ù. ±×·¯³ª ¿©±â¼­ ¾ð±ÞµÈ °¡°Ýµé¶§¹®¿¡ ¿©·¯ºÐÀÌ ¾ÆÁÖ ºÎÀûÀýÇÑ ¼±ÅÃÀ» ÇÏ°Ô²û Çϱ⿡ ÃæºÐÇÑ À߸øµÈ °ÍÀÏ °¡´É¼ºÀÌ Àû´Ù. ¿©·¯ºÐÀÇ ¾îÇø®ÄÉÀ̼ÇÀÌ ³×Æ®¿÷ÀÇ Æ¯º°ÇÑ ¼Ó¼ºÀ» ¿ä±¸Çϰųª Ŭ·¯½ºÅ͸µµÈ ÇǾ¾µéÀÌ »ó´ëÀûÀ¸·Î ºñ½Ñ °ÍÀÏ ¶§¿¡¸¸ ºñ½Ñ ³×Æ®¿÷ÀÌ Àǹ̰¡ ÀÖ´Ù´Â °ÍÀ» ¾Æ´Â µ¥´Â ¹Ú»ç ÇÐÀ§(ºñ·Ï ³ª´Â Çϳª °¡Áö°í ÀÖÁö¸¸ ;-)°¡ ÇÊ¿ä ¾ø´Ù.

³» ÀÇ°ßÀ» µé¾úÀ¸¹Ç·Î ¼î¿Í ÇÔ²² ´ÙÀ½¿¡....(Now that you have the disclaimers, on with the show....)

¾ÆÅ©³Ý(ArcNet)

ARCNETÀº ÁÖ·Î ³»Àå ½Ç½Ã°£ Á¦¾î ½Ã½ºÅ۵鿡¼­ »ç¿ëµÇ±â À§Çؼ­ °í¾ÈµÈ Áö¿ª ³×Æ®¿÷(LAN)ÀÌ´Ù. ÀÌ´õ³Ý°ú ºñ½ÁÇÏ°Ô ³×Æ®¿÷Àº ¹°¸®ÀûÀ¸·Î ¹ö½º¿¡ ºÙÀÎ ÅÇÀ̳ª Çϳª ÀÌ»óÀÇ Çãºêµé·Î Á¶Á÷µÈ´Ù. ±×·¯³ª ÀÌ´õ³Ý°ú ´Ù¸£°Ô ÀÌ°ÍÀº ³×Æ®¿÷À» ³í¸®ÀûÀ¸·Î ¸µÀ¸·Î ±¸ÃàÇÏ´Â ÅäÅ«-±â¹Ý ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù. ÆÐŶ Çì´õ´Â ÀÛ´Ù(3 ¶Ç´Â 4¹ÙÀÌÆ®). ±×¸®°í ¸Þ½ÃÁöµéÀº ´ÜÀÏ ¹ÙÀÌÆ® µ¥ÀÌÅ͸¸Å­ ÀÛ°Ô Àü´ÞµÉ ¼ö ÀÖ´Ù. ±×·¡¼­, ARCNETÀº Á¦ÇÑµÈ Áö¿¬ µîÀ» °¡Áö¸é¼­, ÀÌ´õ³Ýº¸´Ù Á» ´õ ÀÏ°üµÈ ¼º´ÉÀ» °¡Áø´Ù. ºÒÇàÇÏ°Ôµµ ÀÌ°ÍÀº ÀÌ´õ³Ýº¸´Ù ´õ ´À¸®°í ´ú À¯¸íÇÏ´Ù. ±×·¯¸é¼­µµ ´õ ºñ½Î´Ù. http://www.arcnet.com/¿¡ ÀÖ´Â ARCNET Trade Association·ÎºÎÅÍ ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

ATM

Áö³­ ¸î³â µ¿¾È È¥¼ö »óÅ¿¡ ÀÖÁö ¾Ê¾Ò´Ù¸é ¾Æ¸¶ ATM(ºñµ¿±â Àü¼Û ¸ðµå)°¡ ¾î¶»°Ô ¹Ì·¡°¡.. ±Û½ê, ÀÏÁ¾ÀÇ ¹Ì·¡°¡ µÉ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇؼ­ ¸¹ÀÌ µé¾úÀ» °ÍÀÌ´Ù. ATMÀº HiPPIº¸´Ù ´õ ½Î°í ÆнºÆ® ÀÌ´õ³Ýº¸´Ù ´õ ºü¸£¸ç ÀüÈ­ ȸ»çµéÀÌ Á¦°øÇÏ´Â °Å¸®¸¸Å­ ±ä °Å¸®¿¡µµ »ç¿ëµÉ ¼ö ÀÖ´Ù. ATM ³×Æ®¿÷ ÇÁ·ÎÅäÄÝÀº ¶ÇÇÑ ´õ ³·Àº-¿À¹öÇìµå ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇϵµ·Ï, ±×¸®°í ÀÛÀº ¸Þ½ÃÁöµé°ú ½Ç½Ã°£ Åë½Å(¿¹, µðÁöÅÐ ¿Àµð¿À¿Í ºñµð¿À)À» Á» ´õ È¿°úÀûÀ¸·Î °ü¸®Çϵµ·Ï °í¾ÈµÇ¾ú´Ù. ÀÌ°ÍÀº ¶ÇÇÑ ¸®´ª½º°¡ ÇöÀç Áö¿øÇÏ´Â °¡Àå-³ôÀº ´ë¿ªÆø ³×Æ®¿÷µé ÁßÀÇ ÇϳªÀÌ´Ù. ³ª»Û ¼Ò½ÄÀº ATMÀº ½ÎÁö ¾Ê°í º¥´õµé °£¿¡ ȣȯ¼º ¹®Á¦°¡ ¾ÆÁ÷ ÀÖ´Ù´Â °ÍÀÌ´Ù. ¸®´ª½º ATM °³¹ß¿¡ ´ëÇÑ °³°üÀº http://lrcwww.epfl.ch/linux-atm/¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.

CAPERS

CAPERS(º´·Ä ½ÇÇà°ú ºü¸¥ µ¿±â¸¦ À§ÇÑ ÄÉÀÌºí ¾î´ðÅÍ; Cable Adapter for Parallel Execution and Rapid Synchronization)´Â, Àü±â ÄÄÇ»ÅÍ ¿£Áö´Ï¾î¸µÀÇ ÆÛµà ´ëÇÐ Çб³(Purdue University School of Electrical and Computer Engineering)¿¡¼­ÀÇ PAPERS ÇÁ·ÎÁ§Æ® http://garage.ecn.purdue.edu/~papers/ÀÇ ºÎ»ê¹°ÀÌ´Ù. ±âº»ÀûÀ¸·Î ÀÌ°ÍÀº µÎ ¸®´ª½º ÇǾ¾µé¿¡ ´ëÇÑ PAPERS ¶óÀ̺귯¸®¸¦ ±¸ÇöÇϱâ À§Çؼ­, ÀÏ¹Ý "LapLink" SPP-to-SPP ÄÉÀ̺íÀ» »ç¿ëÇϱâ À§Çؼ­ ¼ÒÇÁÆ®¿þ¾î ÇÁ·ÎÅäÄÝÀ» Á¤ÀÇÇÑ´Ù. ¾ÆÀ̵ð¾î´Â ±ïÀÌÁö ¾ÊÁö¸¸ °¡°ÝÀ» ´õ ³·Ãâ ¼ö´Â ¾ø´Ù(¿ªÀÚÁÖ: ±×¸¸Å­ ½Î´Ù?). ½Ã½ºÅÛ º¸¾ÈÀ» °³¼±Çϱâ À§Çؼ­ TTL_PAPERS¿Í ¸¶Âù°¡Áö·Î ±Ç°íµÇ´Â ¸¶ÀÌ³Ê Ä¿³Î ÆÐÄ¡°¡ ÀÖ´Ù. ±×·¯³ª ¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´Ï´Ù: http://garage.ecn.purdue.edu/~papers/giveioperm.html.

ÀÌ´õ³Ý(Ethernet)

¸î³âµ¿¾È 10 Mbits/s ÀÌ´õ³ÝÀº Ç¥ÁØ ³×Æ®¿÷ ±â¼úÀÌ µÇ¾ú´Ù. ÁÁÀº ÀÌ´õ³Ý ÀÎÅÍÆäÀ̽º Ä«µåµéÀº $50 ÀÌÇÏ·Î »ì ¼ö ÀÖ´Ù. ²Ï ¸¹Àº ÇǾ¾µéÀÌ ÀÌÁ¦´Â ¸¶´õº¸µå¿¡ ÀÌ´õ³Ý ÄÁÆ®·Ñ·¯¸¦ °¡Áö°í ÀÖ´Ù. °¡º±°Ô-»ç¿ëµÇ´Â ³×Æ®¿÷¿¡ ´ëÇؼ­ ÀÌ´õ³Ý ¿¬°áÀº Çãºê ¾ø´Â ¸ÖƼ-ÅÇ ¹ö½º·Î Á¶Á÷µÉ ¼ö ÀÖ´Ù; ±×·± ¼³Á¤Àº ÃÖ¼ÒÀÇ ºñ¿ëÀ¸·Î 200°³±îÁöÀÇ ±â°èµéÀ» ¹­À» ¼ö ÀÖ´Ù. ±×·¯³ª º´·Ä 󸮿¡´Â ÀûÀýÇÏÁö ¾Ê´Ù. ´õºñ Çãºê(unswitched hub)¸¦ ´õÇÏ´Â °ÍÀº ½ÇÁ¦ ¼º´É Çâ»ó¿¡ µµ¿òÀÌ µÇÁö ¾Ê´Â´Ù. ±×·¯³ª µ¿½Ã ¿¬°áµé¿¡ ´ëÇؼ­ Àüü ´ë¿ªÆøÀ» Á¦°øÇÒ ¼ö ÀÖ´Â ½ºÀ§Ä¡ Çãºê(switched hub)µéÀº Æ÷Æ®´ç ´ÜÁö ¾à $100¸¸ µç´Ù. ¸®´ª½º´Â ³î¶ó¿ï Á¤µµ·Î ¸¹Àº ÀÌ´õ³Ý ÀÎÅÍÆäÀ̽ºµéÀ» Áö¿øÇÏÁö¸¸ ÀÎÅÍÆäÀ̽º Çϵå¿þ¾îÀÇ º¯Á¾µéÀº ½É°¢ÇÑ ¼º´É Â÷À̸¦ ºÎ¸¦ ¼ö ÀÖ´Ù´Â °ÍÀ» ±â¾ïÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ¾î¶² °ÍµéÀÌ Áö¿øµÇ´ÂÁö¿Í ±×µéÀÌ Àß ÀÛµ¿ÇÏ´ÂÁö¿¡ ´ëÇؼ­ Çϵå¿þ¾î ȣȯ¼º ÇÏ¿ìÅõ(Hardware Compatibility HOWTO)¸¦ º¸¶ó; ±×¸®°í ´ÙÀ½À» º¸ÀÚ http://cesdis1.gsfc.nasa.gov/linux/drivers/.

¼º´ÉÀ» Çâ»óÇÏ´Â Èï¹Ì·Î¿î ¹æ¹ýÀº NASA CESDIS¿¡¼­ ¼öÇàµÈ ºñ¿À¿ïÇÁ(Beowulf) ÇÁ·ÎÁ§Æ® http://cesdis.gsfc.nasa.gov/linux/beowulf/beowulf.html¿¡¼­ ¼öÇàµÈ 16-±â°è ¸®´ª½º Ŭ·¯½ºÅÍ¿¡ ÀÇÇؼ­ Á¦¾ÈµÇ¾ú´Ù. ¸¹Àº ÀÌ´õ³Ý Ä«µå µå¶óÀ̹öÀÇ ÀúÀÚÀÎ Donald Becker´Â °¢ÀÚ ´Ù¸¥ °ÍÀ» shadowÇÏ´Â(Áï, µ¿ÀÏÇÑ ³×Æ®¿÷ ÁÖ¼ÒµéÀ» °øÀ¯ÇÏ´Â) ´Ù¼öÀÇ ÀÌ´õ³Ý ³×Æ®¿÷À» ÅëÇؼ­ ·Îµå °øÀ¯(load sharing)ÇÏ´Â Áö¿øÀ» °³¹ßÇÏ¿´´Ù. ÀÌ ·Îµå °øÀ¯´Â Ç¥ÁØ ¸®´ª½º ¹èÆ÷ÆÇ¿¡ ³»ÀåµÇ°Ô µÇ¾ú°í ¼ÒÄÏ ÀÛ¾÷ ·¹º§ ¾Æ·¡¿¡ º¸ÀÌÁö ¾Ê°Ô ³»ÀåµÇ°Ô µÇ¾ú´Ù. Çãºê ºñ¿ëÀÌ Áß¿äÇϱ⠶§¹®¿¡ °¢ ±â°è°¡ Çãºê ¾ø´Â ¶Ç´Â ´õ¹Ì Çãºê¸¦ °¡Áø µÎ °³ ÀÌ»óÀÇ ÀÌ´õ³Ý ³×Æ®¿÷ (¿ªÀÚÁÖ: Ä«µå)¿¡ ¿¬°áÇÏ´Â °ÍÀº ¼º´ÉÀ» °³¼±Çϱâ À§ÇÑ ºñ¿ë-È¿°úÀûÀÎ ¹æ¹ýÀÌ µÉ ¼ö ÀÖ´Ù. »ç½Ç ÇÑ ±â°è°¡ ³×Æ®¿÷ ¼º´É º´¸ñ¿¡ °É¸° »óȲ¿¡¼­ shadow ³×Æ®¿÷À» »ç¿ëÇÏ´Â ·Îµå °øÀ¯´Â ´ÜÀÏ ½ºÀ§Ä¡ Çãºê ³×Æ®¿÷À» »ç¿ëÇÏ´Â °Íº¸´Ù ÈξÀ ´õ ÁÁ´Ù.

ÀÌ´õ³Ý(ÆнºÆ® ÀÌ´õ³Ý, Fast Ethernet)

ºñ·Ï ±×µéÀ» "ÆнºÆ® ÀÌ´õ³Ý"À¸·Î ºÎ¸£´Â ¸î°¡Áö ´Ù¸¥ ±â¼úµéÀÌ ½ÇÁ¦ Á¸ÀçÇÏÁö¸¸ ÀÌ ¿ë¾î´Â ´ë°³ ¿¾³¯ "10 BaseT" 100 Mbits/s Àåºñ¿Í ÄÉÀ̺íµé°ú ´Ù¼Ò ȣȯµÇ´Â Çãºê-±â¹Ý 100Mbits/s ÀÌ´õ³ÝÀ» °¡¸®Å²´Ù. ±â´ëÇÏ´Â °Íó·³ ÀÌ´õ³ÝÀ¸·Î ºÒ¸®´Â °ÍµéÀº ¾î¶² °ÍÀ̳ª ÀϹÝÀûÀ¸·Î ¿ë·®À¸·Î °¡°ÝÀÌ ¸Å°ÜÁö°í ÀÌ·± ÀÎÅÍÆäÀ̽ºµéÀº ÀϹÝÀûÀ¸·Î 155 Mbits/s ATM Ä«µåµéÀÇ °¡°Ý¿¡ Àڱ׸¶ÇÑ Á¶°¢¿¡ Áö³ªÁö ¾Ê´Â´Ù. ÀÏ´ÜÀÇ ±â°èµéÀÌ ´ÜÀÏ 100 Mbits/s "¹ö½º" (´õ¹Ì Çãºê¸¦ »ç¿ëÇؼ­)ÀÇ ´ë¿ªÆøÀ» ³ª´² ¾²µµ·Ï ÇÏ´Â °ÍÀº °¢ ±â°èÀÇ ¿¬°á¿¡ Ç®·Î 10 Mbits/s¸¦ Á¦°øÇÒ ¼ö ÀÖ´Â ½ºÀ§Ä¡ Çãºê¸¦ °¡Áö°í 10 Mbits/s ÀÌ´õ³ÝÀ» »ç¿ëÇÏ´Â °Íº¸´Ù ÁÁÁö ¾ÊÀ» ¼ö ÀÖ´Ù´Â ÇÔÁ¤(´ÜÁ¡)ÀÌ ÀÖ´Ù.

°¢ ±â°è¿¡°Ô µ¿½Ã¿¡ 100 Mbits/s¸¦ Á¦°øÇÒ ¼ö ÀÖ´Â ½ºÀ§Ä¡ Çãºê´Â ºñ½ÎÁö¸¸ °¡°ÝÀÌ ¸ÅÀÏ ¶³¾îÁö°í ÀÖ°í ÀÌ·± ½ºÀ§Ä¡µéÀº ´õ¹Ì Çãºêº¸´Ù ÈξÀ ´õ ³ôÀº Àüü ³×Æ®¿÷ ´ë¿ªÆøÀ» ¸¸µç´Ù. ATM ½ºÀ§Ä¡µéÀ» ºñ½Î°Ô ¸¸µå´Â ¿äÀÎÀº ±×µéÀÌ °¢ ATM ¼¿(»ó´ëÀûÀ¸·Î ÀÛÀº)µé¿¡ ´ëÇؼ­ ¹Ýµå½Ã ½ºÀ§Ä¡ÇØ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù; ¾î¶² ÆнºÆ® ÀÌ´õ³Ý ½ºÀ§Ä¡µéÀº ½ºÀ§Ä¡¸¦ Áö³¯ ¶§ ÀÛÀº Áöü¸¦ °¡Áú ¼ö ÀÖ´Â ±â¼úµéÀ» »ç¿ëÇÔÀ¸·Î½á ±â´ëµÇ´Â ´õ ³·Àº ½ºÀ§Äª ÁÖ±âÀÇ ÀÌÁ¡À» ÀÌ¿ëÇÑ´Ù. ±×·¯³ª ½ºÀ§Ä¡ Æнº¸¦ º¯°æÇÏ´Â µ¥ ¸î ¹Ð¸®ÃÊ(¿ªÀÚÁÖ: ¸¶ÀÌÅ©·Î ÃÊ°¡ ¾Æ´Ï´Ù)°¡ °É¸°´Ù... ±×·¡¼­ ¶ó¿ìÆà ÆÐÅÏÀÌ ÀÚÁÖ º¯ÇÑ´Ù¸é ÀÌ·± ½ºÀ§Ä¡´Â ÇÇÇÏ´Â °ÍÀÌ ÁÁ´Ù. ¿©·¯ Ä«µåµé°ú µå¶óÀ̹öµé¿¡ ´ëÇؼ­´Â http://cesdis1.gsfc.nasa.gov/linux/drivers/¸¦ º¸¶ó.

¶ÇÇÑ ÀÌ´õ³Ý¿¡¼­ ¼³¸íÇÑ °Íó·³ NASA¿¡¼­ ÀÌ·ïÁø Beowulf ÇÁ·ÎÁ§Æ® http://cesdis.gsfc.nasa.gov/linux/beowulf/beowulf.html°¡ ¸ÖƼ ÆнºÆ® ÀÌ´õ³ÝÀ» ÅëÇؼ­ ·Îµå °øÀ¯ÇÔÀ¸·Î½á ¼º´ÉÀ» °³¼±ÇÑ Áö¿øÀ» °³¹ßÇØ¿À°í ÀÖ´Ù´Ï Âü°í ¹Ù¶õ´Ù.

ÀÌ´õ³Ý(±â°¡ºñÆ® ÀÌ´õ³Ý,Gigabit Ethernet)

±â°¡ºñÆ® ÀÌ´õ³Ý(Gigabit Ethernet) http://www.gigabitethernet.org/ÀÌ ÀÌ´õ³ÝÀ¸·Î ºÒ¸®´Â ÁÁÀº ±â¼úÀû ÀÌÀ¯¸¦ °¡Áø´Ù°í È®½ÅÇÏÁö ¸øÇÑ´Ù. ±×·¯³ª ÀÌ°ÍÀÌ ½Î°í Å« ½ÃÀåÀÌ ÀÖ°í IP¸¦ Áö¿øÇÏ´Â ÄÄÇ»ÅÍ ³×Æ®¿÷ ±â¼úÀ» °®°í ÀÖ´Ù´Â °ÍÀ» À̸§ÀÌ Á¤È®ÇÏ°Ô ÀǹÌÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ±×·¯³ª ÇöÀç °¡°ÝÀº Gb/s Çϵå¿þ¾î°¡ ¾ÆÁ÷ ¸¸µé±â¿¡ ±î´Ù·Î¿î °ÍÀ̶ó´Â »ç½ÇÀ» ¹Ý¿µÇÑ´Ù.

´Ù¸¥ ÀÌ´õ³Ý ±â¼úµé°ú´Â ´Ù¸£°Ô ±â°¡ºñÆ® ÀÌ´õ³ÝÀº Á» ´õ ¹ÏÀ» ¼ö ÀÖ´Â ³×Æ®¿÷À» ¸¸µå´Â È帧 Á¦¾îÀÇ ·¹º§À» Á¦°øÇÑ´Ù. FDR, Áï Ç®-µàÇ÷º½º ¸®ÇÇÅÍ(Full-Duplex Repeater)´Â ¼º´ÉÀ» Çâ»ó½ÃÅ°±â À§Çؼ­ ¹öÆÛ¸µ°ú Áö¿ªÈ­µÈ È帧 Á¦¾î¸¦ »ç¿ëÇϸ鼭, ´Ü¼øÇÏ°Ô ¶óÀεéÀ» ¸ÖƼÇ÷º½ºÇÑ´Ù. ´ëºÎºÐÀÇ ½ºÀ§Ä¡ ÇãºêµéÀº ÇöÁ¸ÇÏ´Â ±â°¡ºñÆ®-°¡´É ±¤¼¶À¯ ½ºÀ§Ä¡(gigabit-capable switch fabrics)¿¡ ´ëÇÑ »õ·Î¿î ÀÎÅÍÆäÀ̽º ¸ðµâµé·Î½á ±¸ÃàµÇ°í ÀÖ´Ù. ½ºÀ§Ä¡/FDR Á¦Ç°µéÀº Àû¾îµµ ´ÙÀ½°ú °°Àº »çÀÌÆ®µé¿¡¼­ ±¸¸ÅµÉ ¼ö Àְųª ¹ßÇ¥µÇ°í ÀÖ´Ù. http://www.acacianet.com/, http://www.baynetworks.com/, http://www.cabletron.com/, http://www.networks.digital.com/, http://www.extremenetworks.com/, http://www.foundrynet.com/, http://www.gigalabs.com/, http://www.packetengines.com/. http://www.plaintree.com/, http://www.prominet.com/, http://www.sun.com/, and http://www.xlnt.com/.

¸®´ª½º µå¶óÀ̹ö http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html°¡ Á¸ÀçÇϸç Packet Engines "Yellowfin" G-NIC¿¡ ´ëÇؼ­´Â http://www.packetengines.com/. ¸®´ª½º¿¡¼­ ÇÑ Ãʱâ Å×½ºÆ®´Â °¡Àå ÁÁÀº 100 Mb/s ÆнºÆ® ÀÌ´õ³ÝÀ¸·Î ȹµæµÉ ¼ö ÀÖ´Â °Íº¸´Ù ¾à 2.5¹è ³ôÀº ´ë¿ªÆøÀ» ¾ò¾ú´Ù; ±â°¡ºñÆ® ³×Æ®¿÷ÀÇ °æ¿ìPCI ¹ö½º »ç¿ëÀ» Á¶½É½º·´°Ô Æ©´×ÇÏ´Â °ÍÀÌ Áß¿äÇÑ ÀÎÀÚÀÌ´Ù. ÀǽÉÇÒ ¹Ù ¾øÀÌ µå¶óÀ̹ö °³¼±°ú ´Ù¸¥ NICµé¿¡ ´ëÇÑ ¸®´ª½º µå¶óÀ̹ö Áö¿øÀÌ °è¼Ó À̾îÁú °ÍÀÌ´Ù.

FC (±¤¼¶À¯ ä³Î, Fibre Channel)

FC(±¤¼¶À¯ ä³Î)ÀÇ ¸ñÀûÀº ³ôÀº-¼º´É ºí·° I/O(2,048 ¹ÙÀÌÆ® µ¥ÀÌÅÍ ÇÏÁßÀ» ½Ç¾î³ª¸£´Â FC ÇÁ·¹ÀÓ)¸¦ Á¦°øÇÏ´Â °ÍÀÌ´Ù. Ưº°È÷ ÄÄÇ»Å͸¦ ÅëÇؼ­°¡ ¾Æ´Ï¶ó FC¿¡ Á÷Á¢ ¿¬°áµÉ ¼ö ÀÖ´Â ´Ù¸¥ ÀúÀå ÀåÄ¡¿Í µð½ºÅ©µéÀ» °øÀ¯Çϱâ À§Çؼ­ ¸»ÀÌ´Ù. ´ë¿ªÆø-º°·Î FC´Â 133¿¡¼­ 1,062 Mbits/s »çÀÌ ¾îµð¿¡¼­³ª ½ÇÇàµÇ¸é¼­ »ó´ëÀûÀ¸·Î ºü¸£´Ù°í ÇÑ´Ù. FC°¡ high-end SCSI¸¦ ´ëüÇÒ ¸¸Å­ À¯¸íÇØÁø´Ù¸é ÀÌ°ÍÀº °ª½Ñ ±â¼úÀÌ µÉ °ÍÀÌ´Ù; Áö±ÝÀº °ª½Ñ ±â¼úÀÌ ¾Æ´Ï¸ç ¸®´ª½º¿¡ ÀÇÇؼ­ Áö¿øµÇÁö ¾Ê´Â´Ù. FC ·¹ÆÛ·±½ºµé¿¡ ´ëÇÑ ÁÁÀº ÄÝ·¢¼ÇÀº http://www.amdahl.com/ext/CARP/FCA/FCA.html¿¡¼­ Fibre Channel Association¿¡ ÀÇÇؼ­ °ü¸®µÇ°í ÀÖ´Ù.

ÆÄÀ̾î¿ÍÀ̾î(FireWire, IEEE 1394)

FireWire, http://www.firewire.org/, IEEE 1394-1995 Ç¥ÁØÀÎ ÀÌ°ÍÀº °í°´ ÀüÀÚÀåºñ(electronics)¸¦ À§ÇÑ Àúºñ¿ë °í¼Ó µðÁöÅ» ³×Æ®¿÷À» À§Çؼ­ °í¾ÈµÈ °ÍÀÌ´Ù. Áø¿­Àå ¾îÇø®ÄÉÀ̼ÇÀº DV µðÁöÅÐ ºñµð¿À Ä·ÄÚ´õ¸¦ ÄÄÇ»ÅÍ¿¡ ¿¬°áÇÏ´Â °ÍÀÌÁö¸¸ FireWire´Â SCSI¸¦ ´ëüÇÏ´Â °ÍºÎÅÍ ¿©·¯ºÐÀÇ °¡Á¤±ØÀå(home theater)ÀÇ °¢ ÄÄÆ÷³ÍÆ®µéÀ» »óÈ£¿¬°áÇÏ´Â °Í±îÁöÀÇ ¾îÇø®ÄÉÀ̼ǵéÀ» À§ÇÏ¿© »ç¿ëµÇµµ·Ï ÀǵµµÇ¾ú´Ù. ÀÌ°ÍÀº ¿ø(cycle)À» ¸¸µéÁö ¾Ê´Â ¹ö½ºµé°ú ºê¸®ÁöµéÀ» »ç¿ëÇÏ´Â ÀÓÀÇÀÇ ÅäÆú·ÎÁö¿¡¼­ ¿¬°áµÈ 64K Àåºñµé±îÁö Çã¶ôÇÏ°í ÄÄÆ÷³ÍÆ®µéÀÌ ´õÇØÁö°Å³ª Á¦°ÅµÉ ¶§ ÀÚµ¿À¸·Î ¼³Á¤À» °ËÃâÇÑ´Ù. ª°í(4 ¹ÙÀÌÆ® "quadlet") ³·Àº Áöü ½Ã°£À» °¡Áö´Â ¸Þ½ÃÁöµéÀÌ ATM-likeÇÑ µ¿±â(isochronous) Àü¼Û(¸ÖƼ¹ÌÀÌ´õ ¸Þ½ÃÁöµéÀÇ µ¿±â¸¦ ¸ÂÃß´Â µ¥ »ç¿ëµÈ´Ù)°ú ÇÔ²² Áö¿øµÈ´Ù. ¾Æ´äÅØ(Adaptec)Àº ´ÜÀÏ PCI ÀÎÅÍÆäÀ̽º Ä«µå¿¡ 63°³±îÁö ÀåÄ¡µéÀ» Çã¶ôÇÏ´Â FireWire Á¦Ç°µéÀ» °¡Áö°í ÀÖ°í http://www.adaptec.com/serialio/¿¡ FireWire¿¡ ´ëÇÑ ÁÁÀº ÀϹÝÀûÀÎ Á¤º¸¸¦ ´ã°í ÀÖ´Ù.

ºñ·Ï FireWire°¡ »ç¿ë °¡´ÉÇÑ °¡Àå ³ôÀº ´ë¿ªÆø ³×Æ®¿÷ÀÌ µÉ ¼ö´Â ¾ø°ÚÁö¸¸ °í°´-·¹º§ ¸¶ÄÏ(°¡°ÝÀ» ¾ÆÁÖ ³·°Ô ¸¸µé)°ú ³·Àº Áöü ½Ã°£ Áö¿øÀº ÀÌ°ÍÀ» ¸î³â À̳»¿¡ ¸®´ª½º ÇǾ¾ Ŭ·¯½ºÅÍ ¸Þ½ÃÁö-Àü´Þ ³×Æ®¿÷ ±â¼úµé ÁßÀÇ Çϳª·Î ¸¸µé °ÍÀÌ´Ù.

HiPPI°ú ½Ã·¯¾ó HiPPI

HiPPI (High Performance Parallel Interface)´Â ¿ø·¡ ½´ÆÛ ÄÄÇ»ÅÍ¿Í ´Ù¸¥ ±â°è(½´ÆÛÄÄ, ÇÁ·¹ÀÓ ¹öÆÛ, µð½ºÅ© ¾î·¹ÀÌ µî) °£¿¡ ´ë·®ÀÇ µ¥ÀÌÅÍ ¼ÂµéÀÇ Àü¼ÛÀ» À§Çؼ­ ¾ÆÁÖ ³ôÀº ´ë¿ªÆøÀ» Á¦°øÇϵµ·Ï ÀǵµµÇ¾úÀ¸¸ç ½´ÆÛÄÄ¿¡ ´ëÇÑ Áö¹èÀûÀÎ ¤½ÁØÀÌ µÇ¾ú´Ù. ºñ·Ï ÀÌ°ÍÀº ¸ð¼ø ¾î¹ý(oxymoron)À̱ä ÇÏÁö¸¸ ½Ã¸®¾ó HiPPIµµ ¶ÇÇÑ 32-ºñÆ® Æø Ç¥ÁØ(Æз¯·²) HiPPI ÄÉÀÌºí ´ë½Å¿¡ ±¤¼¶À¯ ÄÉÀ̺íÀ» ÀüÇüÀûÀ¸·Î »ç¿ëÇÔÀ¸·Î½á, À¯¸íÇØÁú °ÍÀÌ´Ù. Áö³ª ¸î ³âµ¿¾È HiPPI Å©·Î½º¹Ù ½ºÀ§Ä¡µéÀº ÀϹÝÀûÀÎ °ÍÀÌ µÇ¾úÀ¸¸ç °¡°ÝµéÀº ±Þ°ÝÇÏ°Ô ¶³¾îÁ³´Ù; ºÒÇàÇÏ°Ôµµ ½Ã¸®¾ó HiPPI´Â ¾ÆÁ÷ ºñ½Î°í ÀÌ°ÍÀÌ ¹Ù·Î PCI ¹ö½º ÀÎÅÍÆäÀ̽º Ä«µåµéÀº ÀϹÝÀûÀ¸·Î Áö¿øÇÏ´Â °ÍÀÌ´Ù. ´õ ³ª»Û °ÍÀº ¸®´ª½º´Â ¾ÆÁ÷ HiPPI¸¦ Áö¿øÇÏÁö ¸øÇÑ´Ù´Â °ÍÀÌ´Ù. HiPPIÀÇ ÁÁÀº °³°üÀº CERN¿¡ ÀÇÇؼ­ http://www.cern.ch/HSI/hippi/¿¡¼­ °ü¸®µÇ°í ÀÖ´Ù; ±×µéÀº ¶ÇÇÑ http://www.cern.ch/HSI/hippi/procintf/manufact.htm¿¡ HiPPI º¥´õµéÀÇ ´Ù¼Ò ±â´Ù¶õ ¸®½ºÆ®¸¦ °ü¸®ÇÑ´Ù.

IrDA (Àû¿Ü¼± µ¥ÀÌÅÍ ¿¬ÇÕ; Infrared Data Association)

IrDA(Àû¿Ü¼± µ¥ÀÌÅÍ ¿¬ÇÕ, http://www.irda.org/)´Â ¸¹Àº ·¦Åé ÇǽõéÀÇ Ãø¸é¿¡ ÀÖ´Â ÀÛÀº Àû¿Ü¼± ÀåÄ¡ÀÌ´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇؼ­ µÎ °³ ÀÌ»óÀÇ ±â°èµéÀ» Ä¿³ØÆ®ÇÏ´Â °ÍÀº Ÿ°í ³¯ ¶§ºÎÅÍ ¾î·Æ´Ù. ±×·¡¼­ Ŭ·¯½ºÅ͸µ¿¡ »ç¿ëµÉ °¡´É¼ºÀÌ ³·´Ù. Don Becker°¡ IrDA¿¡ ¸î°¡Áö ¿¹ºñ ÀÛ¾÷À» Çß¾ú´Ù.

Myrinet

Myrinet http://www.myri.com/Àº "½Ã½ºÅÛ ¿µ¿ª ³×Æ®¿÷" (System Area Network, SAN)À¸·Î »ç¿ëµÉ ¼ö ÀÖµµ·Ï °í¾ÈµÈ ±Ù°Å¸® ¿µ¿ª ³×Æ®¿÷(LAN)ÀÌ´Ù. Áï º´·Ä ½Ã½ºÅÛÀ¸·Î ¿¬°áµÈ ±â°èµéÀÌ °¡µæÂù ³×Æ®¿÷ Äɺñ³Ý. LAN°ú SAN ¹öÀüµéÀº ¼­·Î ´Ù¸¥ ¹°¸®Àû ¸Åü¸¦ »ç¿ëÇÏ°í ´Ù¼Ò ´Ù¸¥ Ư¼ºµéÀ» °¡Áø´Ù; ÀϹÝÀûÀ¸·Î SAN ¹öÀüÀº Ŭ·¯½ºÅÍ ¾È¿¡¼­ »ç¿ëµÉ °ÍÀÌ´Ù.

MyrientÀº ±¸Á¶ÀûÀ¸·Î ¾ÆÁÖ ÀüÅëÀûÀÎ °ÍÀÌÁö¸¸ Ưº°È÷ Àß-±¸ÇöµÈ °ÍÀ̶ó´Â ÆòÆÇÀ» µè°í ÀÖ´Ù. ¸®´ª½º¸¦ À§ÇÑ µå¶óÀ̹ö´Â ¼º´ÉÀÌ ÁÁ´Ù´Â ¸»À» µè´Â´Ù. ºñ·Ï È£½ºÆ® ÄÄÇ»ÅÍ¿¡ ´ëÇÑ ¼­·Î ´Ù¸¥ PCI ¹ö½º ±¸Çö¹°µé¿¡ ´ëÇؼ­ ¿©·¯ Ä¿´Ù¶õ ¼º´É º¯È­µéÀÌ ¸®Æ÷Æ®µÈ ¹Ù°¡ ÀÖ¾úÁö¸¸ ¸»ÀÌ´Ù.

ÇöÀç MyrinetÀº ³Ê¹« ½É°¢ÇÏ°Ô "¿¹»êÀ» À§ÇùÇÏ´Â" °ÍÀÌ ¾Æ´Ñ Ŭ·¯½ºÅÍ ±×·ìÀÇ ¼±È£µÇ´Â ³×Æ®¿÷ÀÓ¿¡ Ʋ¸²¾ø´Ù. ¸®´ª½º ÇǾ¾¿¡ ´ëÇÑ »ý°¢ÀÌ ÃÖ¼Ò 256 MB RAM°ú SCSI RAID¸¦ °¡Áø Pentium Pro³ª Pentium II¶ó¸é MyrinetÀÇ °¡°ÝÀº ²Ï ÇÕ¸®ÀûÀÎ °ÍÀÌ µÈ´Ù. ±×·¯³ª Á» ´õ ÀϹÝÀûÀÎ ÇǾ¾ ¼³Á¤À» »ç¿ëÇÑ´Ù¸é ¿©·¯ºÐÀÇ ¼±ÅÃÀÌ Myrinet¿¡ ¿¬°áµÈ N ±â°èµéÀ̳ª ¸ÖƼ ÆнºÆ® À̳ʳÝÀ¸·Î ¹­ÀÎ 2N°ú TTL_PAPERS »çÀÌ¿¡ ÀÖ´Ù´Â °ÍÀ» ¾Ë°Ô µÉ °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ ¿¹»êÀÌ ¾ó¸¶³ª µÇ´Â°¡¿Í ¿©·¯ºÐÀÌ ½Å°æ¾²´Â ÄÄÇ»ÅÍÀÇ »ç¾çÀÌ ¾î¶² °ÍÀΰ¡¿¡ µû¶ó ÁÂÁö ¿ìÁö µÈ´Ù.

ÆĶó½ºÅ×À̼Ç(Parastation)

Karlsruhe ´ëÇб³ Á¤º¸°øÇаú(Department of Informatics)ÀÇ ÆĶó½ºÅ×À̼Ç(Parastation) ÇÁ·ÎÁ§Æ® http://wwwipd.ira.uka.de/parastation´Â PVM-ȣȯ Ä¿½ºÅÒ Àú-Áöü ³×Æ®¿÷À» ±¸Ãà ÁßÀÌ´Ù. ±×µéÀº ¸ÇóÀ½ Ä¿½ºÅÒ EISA ÀÎÅÍÆäÀ̽º¿Í BSD UNIX¸¦ ½ÇÇàÇÏ´Â ÇǾ¾µéÀ» »ç¿ëÇÑ ¸ÇóÀ½ ±¸ÃàµÈ µÎ°³ÀÇ ÇÁ·Î¼¼¼­ ParaPC ÇÁ·ÎÅäŸÀÔÀ» ¸¸µé¾úÀ¸¸ç ±× ´ÙÀ½ DEC AlphaµéÀ» »ç¿ëÇÑ Á» ´õ Å« Ŭ·¯½ºÅ͵éÀ» ¸¸µé¾ú´Ù. PCI Ä«µåµéÀº HitexÀ̶ó°í ºÒ¸®´Â ȸ»ç¿Í °øÁ¶Çؼ­ ¸¸µé¾îÁ³´Ù( http://www.hitex.com:80/parastation/ ÂüÁ¶). ÆĶó½ºÅ×ÀÌ¼Ç Çϵå¿þ¾î´Â ºü¸£°í ½Å·Ú¼º ÀÖ´Â ¸Þ½ÃÁö Àü¼Û°ú ´Ü¼øÇÑ °ü¹®(barrier) µ¿±âÈ­¸¦ ±¸ÇöÇÑ °ÍÀÌ´Ù.

PLIP

"LapLink" ÄÉÀ̺íÀÇ ºñ¿ëÀ¸·Î PLIP(Parallel Line Interface Protocol)´Â Ç¥ÁØ ¼ÒÄÏ-±â¹Ý ¼ÒÇÁÆ®¿þ¾î¸¦ »ç¿ëÇÏ¿© Ç¥ÁØ Æз¯·² Æ÷Æ®µéÀ» ÅëÇؼ­ µÎ ¸®´ª½º ±â°èµéÀÌ Åë½ÅÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ´ë¿ªÆø, Áöü, ±×¸®°í ÃøÁ¤°¡´É¼º(scalability)ÀÇ Ãø¸é¿¡¼­ º¸¸é ÀÌ°ÍÀº ¾ÆÁÖ Áß¿äÇÑ ³×Æ®¿÷ ±â¼úÀÌ ¾Æ´Ï´Ù. ±×·¯³ª °ÅÀÇ ¿µ¿¡ °¡±î¿î °¡°Ý°ú ¼ÒÇÁÆ®¿þ¾î ȣȯ¼ºÀÌ À¯¿ëÇÏ´Ù. µå¶óÀ̹ö´Â Ç¥ÁØ ¸®´ª½º Ä¿³Î ¹èÆ÷ÆÇÀÇ ÀϺÎÀÌ´Ù.

SCI

SCI (Scalable Coherent Interconnect, ANSI/IEEE 1596-1992)ÀÇ ¸ñÀûÀº ±âº»ÀûÀ¸·Î ¸¹Àº ¼öÀÇ ±â°èµé¿¡ °ÉÃÄ ±ÙÁ¢(coherent) °øÀ¯ ¸Þ¸ð¸® °øÀ¯¸¦ Áö¿øÇÒ ¼ö ÀÖ´Â °í¼º´É ¸ÞÄ«´ÏÁò°ú ´Ù¾çÇÑ Å¸ÀÔÀÇ ¸Þ½ÃÁö Àü¼ÛÀ» Á¦°øÇÏ´Â °ÍÀÌ´Ù. SCIÀÇ °í¾ÈµÈ ´ë¿ªÆø°ú Áöü´Â ´ëºÎºÐÀÇ ´Ù¸¥ ³×Æ®¿÷ ±â¼úµé°ú ºñ±³Çؼ­ µÑ ´Ù "³î¶ó¿î °Í"À̶ó°í ¸»Çصµ ±¦Âú´Ù. ´ÜÁ¡Àº SCI°¡ ½Ñ Á¦Ç° À¯´ÏÆ®·Î½á ³Î¸® »ç¿ë°¡´ÉÇÏÁö ¾Ê´Ù´Â °Í°ú ¸®´ª½º Áö¿øÀÌ ¾ÆÁ÷ ¾ø´Ù´Â °ÍÀÌ´Ù.

SCI´Â ÁÖ·Î HP/Convex Exemplar SPP¿Í Sequent NUMA-Q 2000( http://www.sequent.com/)¿Í °°Àº Áö¿ªÀûÀ¸·Î-°øÀ¯µÈ ¹°¸®ÀûÀ¸·Î-¹èÆ÷µÈ ¸Þ¸ð¸® ±â°èµé(logically-shared physically-distributed memory machines)¿¡ ´ëÇÑ ´Ù¾çÇÑ °íÀ¯ µðÀÚÀÎ ¾È¿¡¼­ »ç¿ëµÇ¾ú´Ù. ±×·¯³ª Dolphin( http://www.sequent.com/ ÂüÁ¶)·ÎºÎÅÍ SCI´Â PCI ÀÎÅÍÆäÀ̽º Ä«µå¿Í 4-way ½ºÀ§Ä¡(16 ±â°èµé±îÁö ³×°³ÀÇ 4-way ½ºÀ§Ä¡µéÀ» ºÙ¿©¼­ ¿¬°áµÉ ¼ö ÀÖ´Ù)µéÀÌ ±×µéÀÇ CluStar Á¦Ç° ¶óÀÎÀ¸·Î½á »ç¿ë°¡´ÉÇÏ´Ù. SCI °³°ü¿¡ ´ëÇÑ ÁÁÀº ¸µÅ©µéÀº CERN¿¡ ÀÇÇؼ­ http://www.cern.ch/HSI/sci/sci.html¿¡¼­ °ü¸®µÈ´Ù.

SCSI

SCSI (Small Computer Systems Interconnect)´Â ±âº»ÀûÀ¸·Î µð½ºÅ© µå¶óÀ̺êµé, CDROMµé, À̹ÌÁö ½ºÄ³³Ê µî°ú °°Àº µ¥ »ç¿ëµÇ´Â I/O ¹ö½ºÀÌ´Ù. ¿©±â¿¡´Â ºÐ¸®µÈ ¼¼°³ÀÇ Ç¥Áصé SCSI-1, SCSI-2, ±×¸®°í SCSI-3; Fast and Ultra speeds; ±×¸®°í µ¥ÀÌÅÍ Æнº ³Êºñ·Î 8, 16, ¶Ç´Â 32ºñÆ®(SCSI-3¿¡¼­ ¾ð±ÞµÈ FireWire ȣȯ¼º°ú ÇÔ²²) °¡ ÀÖ´Ù. ÀÌ°ÍÀº ¾ÆÁÖ È¥¶õ½º·´´Ù. ±×·¯³ª ¿ì¸®´Â ¸ðµÎ ÁÁÀº SCSI´Â EIDEº¸´Ù ´õ ºü¸£°í ÀåºñµéÀ» Á» ´õ È¿À²ÀûÀ¸·Î °ü¸®ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ¾È´Ù.

¸¹Àº »ç¶÷µéÀÌ ±ú´ÝÁö ¸øÇÏ´Â °ÍÀº µÎ ÄÄÇ»Å͵éÀÌ ´ÜÀÏ SCSI ¹ö½º¸¦ °øÀ¯ÇÏ´Â °ÍÀÌ ¾ÆÁÖ ´Ü¼øÇÏ´Ù´Â »ç½ÇÀÌ´Ù. ÀÌ·± ¼³Á¤ ŸÀÔÀº ±â°è°£ µð½ºÅ© µå¶óÀ̺êµéÀ» °øÀ¯ÇÏ°í Àå¾Ö º¹±¸(fail-over)¸¦ ±¸Çö-ÇÑ ±â°è°¡ ´Ù¸¥ ±â°è°¡ ½ÇÆÐÇßÀ» ¶§ µ¥ÀÌÅͺ£À̽º ¿ä±¸¸¦ ¶°¸Ãµµ·Ï ÇÏ°Ô ÇÔÀ¸·Î½á-¿¡ ¾ÆÁÖ À¯¿ëÇÏ´Ù. ÇöÀç ÀÌ°ÍÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ PC Ŭ·¯½ºÅÍ Á¦Ç° WolfPack¿¡ ÀÇÇؼ­ Áö¿øµÇ´Â À¯ÀÏÇÑ ¸ÞÄ«´ÏÁòÀÌ´Ù. ±×·¯³ª Á» ´õ Å« ½Ã½ºÅÛµé·Î È®ÀåµÉ ¼ö ¾ø´Ù´Â °ÍÀÌ °øÀ¯ SCSI¸¦ ÀϹÝÀûÀÎ º´·Ä 󸮿¡ ÀÖ¾î ´ú Èï¹Ì·Ó°Ô ¸¸µç´Ù.

¼­¹ö³Ý(ServerNet)

¼­¹ö³Ý(ServerNet)Àº Tandem, http://www.tandem.comÀÇ °í-¼º´É ³×Æ®¿÷ Çϵå¿þ¾îÀÌ´Ù. Ưº°È÷ ¿Â¶óÀÎ Æ®·£Àè¼Ç ó¸®(OLTP) ¼¼°è¿¡¼­ ÅÄ´ýÀº °í-½Å·Úµµ ½Ã½ºÅÛµéÀÇ ¼±µÎ·Î ¾Ë·ÁÁ® À־ ±×µéÀÇ ³×Æ®¿÷ÀÌ °í-¼º´É »Ó¸¸ÀÌ ¾Æ´Ï°í "³ôÀº µ¥ÀÌÅÍ ÅëÇÕ(integrity)°ú ½Å·Úµµ"±îÁö ÁÖÀåÇصµ ³î¶ó¿î ÀÏÀÌ ¾Æ´Ï´Ù. ServerNetÀÇ ´Ù¸¥ Èï¹Ì·Î¿î ¸éÀº ÀÓÀÇÀÇ ÀåÄ¡¿¡¼­ ´Ù¸¥ ÀÓÀÇÀÇ ÀåÄ¡·Î Á÷Á¢ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖ´Ù°í ÁÖÀåÇÑ´Ù´Â °ÍÀÌ´Ù; MPI ¼½¼Ç¿¡¼­ ¼³¸íµÈ MPI ¸®¸ðÆ® ¸Þ¸ð¸® ¾ï¼¼½º ¸ÞÄ«´ÏÁòµé¿¡ ÀÇÇؼ­ Á¦¾ÈµÈ °Í°ú ºñ½ÁÇÑ ¿ø-»çÀÌµå ½ºÅ¸ÀÏ·Î, ÇÁ·Î¼¼¼­µé»çÀ̻Ӹ¸ÀÌ ¾Æ´Ï°í µð½ºÅ© µå¶óÀ̺êµé µî »çÀÌ¿¡¼­µµ ±×·¸´Ù. ¼­¹ö³Ý¿¡ ´ëÇÑ ¸¶Áö¸· ÇÑ°¡Áö ÄÚ¸àÆ®: ´ÜÁö ½Ì±Û º¥´õ¸¸ Á¸ÀçÇÏÁö¸¸ ±× º¥´õ´Â ¼­¹ö³ÝÀ» ÁÖ¿ä Ç¥ÁØÀ¸·Î, ÀáÀçÀûÀ¸·Î ¸¸µé ¼ö ÀÖÀ» ¸¸Å­ ÃæºÐÈ÷ °­·ÂÇÏ´Ù. TandemÀº Compaq ¼ÒÀ¯ÀÌ´Ù.

SHRIMP

ÇÁ¸°½ºÅÏ ´ëÇб³ ÄÄÇ»ÅÍ °úÇÐ Çаú¿¡¼­ ÁøÇàÇÏ°í ÀÖ´Â SHRIMP ÇÁ·ÎÁ§Æ®, http://www.CS.Princeton.EDU/shrimp/´Â ó¸® ³ëµå·Î½á ¸®´ª½º¸¦ ½ÇÇàÇÏ´Â ÇǾ¾µéÀ» »ç¿ëÇÑ º´·Ä ÄÄÇ»Å͸¦ ±¸ÃàÇÏ°í ÀÖ´Ù. ù¹ø° SHRIMP(Scalable, High-Performance, Really Inexpensive Multi-ProcessorÀÇ ¾àÀÚ)´Â Ä¿½ºÅÒ EISA Ä«µå ÀÎÅÍÆäÀ̽º À§ÀÇ µà¾ó Æ÷Æ®¸¦ °¡Áö´Â RAMÀ» »ç¿ëÇÑ ´Ü¼øÇÑ µÎ-ÇÁ·Î¼¼¼­ ÇÁ·ÎÅä ŸÀÔÀ̾ú´Ù. Áö±ÝÀº ÀÎÅÚ Paragon( http://www.ssd.intel.com/paragon.html ÂüÁ¶)¿¡¼­ »ç¿ëµÈ ±×¹°¸Á(mesh) ¶ó¿ìÆà ³×Æ®¿÷°ú ±âº»ÀûÀ¸·Î µ¿ÀÏÇÑ "hub"¿¡ ¿¬°áÇϱâ À§Çؼ­ Ä¿½ºÅÒ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ´Â Á» ´õ Å« ¼³Á¤µé¿¡ È®Àå°¡´ÉÇÑ ÇÁ·ÎÅäŸÀÔÀÌ Á¸ÀçÇÑ´Ù. ¿Àº£Çìµå°¡ ÀûÀº "°¡»ó ¸Þ¸ð¸® ¸ÊµÈ Åë½Å" Çϵå¿þ¾î¿Í Áö¿ø ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇϱâ À§ÇÑ »ó´çÈ÷ ¸¹Àº ³ë·ÂÀÌ ÀÌ·ç¾îÁ³´Ù.

SLIP

ºñ·Ï SLIP(½Ã¸®¾ó ¶óÀÎ ÀÎÅÍÆäÀ̽º ÇÁ·ÎÅäÄÝ;Serial Line Interface Protocol)Àº ¼º´É ½ºÆåÆ®·³¿¡¼­ ³·Àº ÂÊ¿¡ ¿ÏÀüÈ÷ À§Ä¡ÇÏ°í ÀÖÁö¸¸ SLIP(¶Ç´Â CSLIP¶Ç´Â PPP)´Â µÎ ±â°èµéÀÌ ÀÏ¹Ý RS232 ½Ã¸®¾ó Æ÷Æ®µéÀ» ÅëÇؼ­ ¼ÒÄÏ Åë½ÅÀ» ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ¶Ç´Â ±×µéÀº ¸ðµ©À» °æÀ¯ÇÑ ´ÙÀ̾ó-¾÷À» ÅëÇؼ­ ¿¬°áµÉ ¼öµµ ÀÖ´Ù. ¾î¶² °æ¿ì¿¡µµ Áöü ½Ã°£Àº ³ô°í ´ë¿ªÆøÀº ³·´Ù. ±×·¡¼­ SLIPÀº ´Ù¸¥ ´ë¾ÈµéÀÌ ÀüÇô ºÒ°¡´ÉÇÒ ¶§¸¸ »ç¿ëµÇ¾î¾ß ÇÒ °ÍÀÌ´Ù. ±×·¯³ª ´ëºÎºÐÀÇ ÇǾ¾µåÀÌ µÎ °³ÀÇ RS232 Æ÷Æ®µéÀ» °®°í ÀÖ´Ù´Â °ÍÀº ÁÖ¸ñÇÒ¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Ù. ±×·¡¼­ ±â°èµéÀ» ¼±Çü ¹è¿­À̳ª ¸µÇüÀ¸·Î ´Ü¼øÇÏ°Ô ¿¬°áÇؼ­ ±â°èµé ±×·ìÀ» ³×Æ®¿öÅ·ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. EQLÀ̶ó°í ºÒ¸®´Â ·Îµå ½¦¾î¸µ ¼ÒÇÁÆ®¿þ¾îµµ Á¸ÀçÇÑ´Ù.

TTL_PAPERS

ÆÛµà ´ëÇб³ÀÇ ÀüÀÚ ¹× ÄÄÇ»ÅÍ ¿£Áö´Ï¾î¸µ Çб³¿¡¼­ ¼öÇà ÁßÀÎ PAPERS (Purdue's Adapter for Parallel Execution and Rapid Synchronization) ÇÁ·ÎÁ§Æ®, http://garage.ecn.purdue.edu/~papers/´Â º´·Ä ½´ÆÛÄÄÇ»ÅÍ°¡ º¯Á¶µÇÁö ¾ÊÀº ÇǾ¾µé/¿öÅ©½ºÅ×À̼ǵéÀ» ³ëµå·Î »ç¿ëÇÏ¿© ±¸ÃàµÉ ¼ö ÀÖµµ·Ï ÇÏ´Â, Å©±â Á¶Àý °¡´ÉÇÏ°í ³·Àº-Áöü ½Ã°£À» °¡Áö¸ç ÁýÇÕ ÇÔ¼ö Åë½Å Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î¸¦ ±¸Ãà Áß¿¡ ÀÖ´Ù.

µÎ°¡Áö °³¹ß ¶óÀεéÀ» ´ë·« µû¸£´Â SPP(Ç¥ÁØ Æз¯·² Æ÷Æ®; Standard Parallel Port)¸¦ ÅëÇؼ­ ÇǾ¾µé/¿öÅ©½ºÅ×À̼ǵéÀ» ¿¬°áÇÑ PAPERS Çϵå¿þ¾î´Â ±× Á¾·ù°¡ 12°¡Áö°¡ ³Ñ´Â´Ù. "PAPERS"¶ó°í ºÒ¸®´Â ¹öÀüµéÀº ÀûÀýÇÑ ±â¼úÀÌ¸é ¹«¾ùÀ̵çÁö »ç¿ëÇؼ­ ´õ ³ôÀº ¼º´ÉÀ» ¸ñÇ¥·Î ÇÑ´Ù; ÇöÀç ÀÛ¾÷Àº FPGAµé°ú Áö±Ý °³¹ß Áß¿¡ ÀÖ´Â ³ôÀº ´ë¿ªÀÇ PCI ¹ö½º ÀÎÅÍÆäÀ̽º ¼³°èµéÀ» »ç¿ëÇÑ´Ù. ¹Ý¸é¿¡ "TTL_PAPERS"À̶ó°í ºÒ¸®´Â ¹öÀüµéÀº ÆÛµà ´ëÇÐ ¹Ù±ù¿¡¼­ ½±°Ô Àç»ý»êµÉ ¼ö ÀÖµµ·Ï µðÀÚÀÎµÈ °ÍÀÌ°í ÀϹÝÀûÀÎ TTL ·ÎÁ÷À» »ç¿ëÇؼ­ ¸¸µé¾îÁú ¼ö ÀÖ´Â ¾ÆÁÖ ´Ü¼øÇÑ °ø¿ë µµ¸ÞÀÎ ¼³°è(public domain designs)ÀÌ´Ù. ÀÌ·± µðÀÚÀÎ Áß Çϳª´Â »ó¿ëÀ¸·Î ¸¸µé¾îÁ³´Ù. http://chelsea.ios.com:80/~hgdietz/sbm4.html

´Ù¸¥ ´ëÇеéÀÇ Ä¿½ºÅÒ Çϵå¿þ¾î µðÀÚÀΰú ´Ù¸£°Ô TTL_PAPERS Ŭ·¯½ºÅ͵éÀº USA¿¡¼­ ´ëÇѹα¹±îÁö ¸¹Àº ´ëÇе鿡¼­ Á¶¸³µÇ¾î ¿Ô´Ù. ´ë¿ªÆøÀº SPP Ä¿³Ø¼Çµé¿¡ ÀÇÇؼ­ ½É°¢ÇÏ°Ô Á¦ÇѵǾî ÀÖÁö¸¸ °¡Àå ºü¸¥ ¸Þ½ÃÁö-±â¹Ý ½Ã½ºÅÛµéÀº ±×·¯ÇÑ ÁýÇÕ ÇÔ¼öµé(aggregate functions)¿¡ ´ëÇؼ­ ÇÊÀûÇÒ¸¸ÇÑ ¼º´ÉÀ» Á¦°øÇÒ ¼ö ¾ø´Ù. ±×·¡¼­ PAPERS´Â Ưº°È÷ ºñµð¿À º®(video wall; ¿ªÀÚÁÖ: Àü½ÃÀå µî¿¡¼­ º¼ ¼ö ÀÖ´Â ´ëÇü µð½ºÇ÷¹ÀÌ ¹× ÄÄÇ»ÅÍ, »ç¿îµå ½Ã½ºÅÛÀÇ Á¶ÇÕ)ÀÇ µð½ºÇ÷¹À̸¦ µ¿±âÈ­ÇÏ´Â µ¥(ºñµð¿À º®¿¡ ´ëÇؼ­ ¾ÕÀ¸·Î ³ª¿Ã Video Wall HOWTO¿¡¼­ ÀÚ¼¼È÷ ´Ù·ê °ÍÀÌ´Ù), °í-´ë¿ª ³×Æ®¿÷¿¡ ´ëÇÑ ½ºÄÉÁÙ¸µ ¾ï¼¼½º, À¯ÀüÀÚ °Ë»ö(genetic search)¿¡¼­ Àü¿ª ºñ±³(global fitness)¸¦ Æò°¡ÇÏ´Â °Í µî¿¡¼­ Ź¿ùÇÏ´Ù. ºñ·Ï PAPERS Ŭ·¯½ºÅ͵éÀÌ IBM PowerPC AIX, DEC Alpha OSF/1, ±×¸®°í HP PA-RISC HP-UX ±â°èµéÀ» »ç¿ëÇؼ­ ¸¸µé¾îÁ³Áö¸¸ ¸®´ª½º-±â¹Ý PCµéÀÌ °¡Àå Àß Áö¿øµÇ´Â Ç÷§ÆûÀÌ´Ù.

TTL_PAPERS AFAPI¸¦ »ç¿ëÇÏ´Â »ç¿ëÀÚ ÇÁ·Î±×·¥µéÀº ¸®´ª½º¿¡¼­, °¢ ¾ï¼¼½º¿¡ ´ëÇؼ­ OS È£Ãâ¾øÀÌ SPP Çϵå¿þ¾î Æ÷Æ® ·¹Áö½ºÅ͵éÀ» ¾ï¼¼½ºÇÑ´Ù. ÀÌ·¸°Ô Çϱâ À§Çؼ­ AFAPI´Â ¸Ç¸ÕÀú iopl()³ª ioperm()¸¦ »ç¿ëÇؼ­ Æ÷Æ® Æ۹̼ÇÀ» ȹµæÇÑ´Ù. ÀÌ·± È£ÃâµéÀÇ ¹®Á¦Á¡Àº µÑ ´Ù »ç¿ëÀÚ ÇÁ·Î±×·¥ÀÌ ±ÇÇÑÀ» °®µµ·Ï(¿ªÀÚÁÖ: ¾Æ¹«·¡µµ ·çÆ® ±ÇÇÑÀÏ °Í °°´Ù) ¿ä±¸Çؼ­ ÀáÀçÀûÀÎ º¸¾È ±¸¸ÛÀ» ¸¸µç´Ù´Â °ÍÀÌ´Ù. ¼Ö·ç¼ÇÀº ¼±ÅÃÀûÀÎ Ä¿³Î ÆÐÄ¡, http://garage.ecn.purdue.edu/~papers/giveioperm.htmlÀÌ´Ù. ÀÌ°ÍÀº ±ÇÇÑÀÖ´Â ÇÁ·Î¼¼½º°¡ ÀÓÀÇÀÇ ÇÁ·Î¼¼½º¿¡ ´ëÇÑ Æ÷Æ® Æ۹̼ÇÀ» Á¦¾îÇϵµ·Ï ÇÑ´Ù.

USB (Universal Serial Bus)

USB (Universal Serial Bus, http://www.usb.org/)´Â Å°º¸µå, È­»ó ȸÀÇ Ä«¸Þ¶ó µî 127°³±îÁö ÁÖº¯±â±âµéÀ» ´Þ ¼ö ÀÖ°í ÇÖ-Ç÷¯±×(hot-pluggable) °¡´ÉÇÑ ÀÏ¹Ý ÀÌ´õ³Ý ¼öÁØÀÇ ¼Óµµ¸¦ ³»´Â ¹ö½ºÀÌ´Ù. ¾ó¸¶³ª ¸¹Àº ÄÄÇ»Å͵éÀÌ ¼­·Î USB¸¦ »ç¿ëÇؼ­ ¿¬°áµÉ ¼ö ÀÖ´ÂÁö´Â ½ÇÁ¦ ¸íÈ®ÇÏÁö ¾Ê´Ù. ¾î·µç USB Æ÷Æ®µéÀº Áö±Ý ºü¸£°Ô RS232¿Í SPP¿Í °°Àº PC ¸¶´õº¸µåÀÇ Ç¥ÁØÀÌ µÇ¾î°¡°í ÀÖ´Ù. ±×·¯¹Ç·Î ¿©·¯ºÐÀÌ ±¸¸ÅÇÑ Â÷±â PCÀÇ µÚÆí¿¡ USB Æ÷Æ®µéÀÌ ¼û¾î ÀÖ´õ¶óµµ ³î¶óÁö ¸»±â ¹Ù¶õ´Ù. ¸®´ª½º µå¶óÀ̹ö °³¹ßÀº http://peloncho.fis.ucm.es/~inaky/USB.html¿¡¼­ ³íÀǵǰí ÀÖ´Ù.

¿©·¯°¡Áö Á¡¿¡¼­ USB´Â °ÅÀÇ ¿©·¯ºÐÀÌ ÇöÀç ±¸¸ÅÇÒ ¼ö ÀÖ´Â, ³·Àº-¼º´É, Á¦·Î-ºñ¿ë(zero-cost)ÀÎ FireWire ¹öÀüÀÌ´Ù.

WAPERS

WAPERS (º´·Ä ½ÇÇà°ú ºü¸¥ µ¿±âÈ­¸¦ À§ÇÑ Wired-AND ¾Æ´äÅÍ; Wired-AND Adapter for Parallel Execution and Rapid Synchronization)´Â ÆÛµà ´ëÇб³ÀÇ ÀüÀÚ ÄÄÇ»ÅÍ °øÇÐ Çб³¿¡¼­ ¼öÇà ÁßÀÎ PAPERS ÇÁ·ÎÁ§Æ®, http://garage.ecn.purdue.edu/~papers/ÀÇ ºÎ»ê¹°ÀÌ´Ù. ÀûÀýÇÏ°Ô ±¸ÇöµÈ´Ù¸é SPP´Â 4-ºñÆ® Æø wired AND¸¦ ±¸ÇöÇϱâ À§Çؼ­ ±â°èµé °£ ¼­·Î ¹­ÀÏ ¼ö ÀÖ´Â 4ºñÆ® ¿ÀÇÂ-ÄÝ·ºÅÍ Ãâ·ÂÀ» °¡Áø´Ù. ÀÌ wired-AND´Â ÀüÀÚ°øÇÐÀûÀ¸·Î ´Ù·ç±â ¾î·Á¿î °ÍÀÌ°í ÀÌ·± ½ÄÀ¸·Î ¿¬°áµÉ ¼ö ÀÖ´Â ±â°èµéÀÇ ÃÖ´ë °³¼ö´Â Æ÷Æ®ÀÇ ¾Æ³¯·Î±× Ư¼º¿¡ Á¾¼ÓÀûÀÌ´Ù(ÃÖ´ë ¼ö½Å Àü·ù(sink current)¿Í ÈÞ½Ä ·¹Áö½ºÅÍ(pull-up register) °ª); ÀüÇüÀûÀ¸·Î 7°³ ³»Áö 8°³ ±â°èµéÀÌ WAPERS·Î ³×Æ®¿öÅ·µÉ ¼ö ÀÖ´Ù. ºñ·Ï ºñ¿ë°ú Áöü½Ã°£ÀÌ ¾ÆÁÖ ³·Áö¸¸, ±×·¡¼­ ´ë¿ªÆøµµ ³·´Ù; WAPERS´Â Ŭ·¯½ºÅÍ¿¡¼­ ´ÜÀÏ ³×Æ®¿÷À¸·Î½á°¡ ¾Æ´Ï¶ó ÁýÇÕ ÀÛ¾÷µé¿¡ ´ëÇÑ µÎ¹ø° ³×Æ®¿÷À¸·Î½á ÈξÀ ´õ ÁÁ´Ù. TTL_PAPERS¿Í ÇÔ²², ½Ã½ºÅÛ º¸¾ÈÀ» ³ôÀ̱â À§Çؼ­, ¹Ýµå½Ã ÇÊ¿äÇÏÁö´Â ¾ÊÁö¸¸ ±Ç°íµÇ´Â ¸¶ÀÌ³Ê Ä¿³Î ÆÐÄ¡°¡ ÀÖ´Ù: http://garage.ecn.purdue.edu/~papers/giveioperm.html.

3.3 ³×Æ®¿÷ ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍÆäÀ̽º(Network Software Interface)

º´·Ä ¾îÇø®ÄÉÀ̼ǵéÀ» Áö¿øÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ³íÀÇÇϱâ ÀÌÀü¿¡ ³×Æ®¿÷ Çϵå¿þ¾î¿¡ ´ëÇÑ ·Î¿ì-·¹º§ ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍÆäÀ̽ºÀÇ ±âº»À» °£´ÜÈ÷ ¸ÕÀú ¾ê±âÇÏ´Â °ÍÀÌ À¯¿ëÇÏ´Ù. ½ÇÁ¦·Î 3°¡Áö ±âº» ¼±Åø¸ Á¸ÀçÇÑ´Ù: ¼ÒÄÏ, ÀåÄ¡ ±¸µ¿±â(device drivers), ±×¸®°í À¯Àú-·¹º§ ¶óÀ̺귯¸®.

¼ÒÄÏ

Áö±Ý±îÁö °¡Àå ÀϹÝÀûÀÎ ·Î¿ì-·¹º§ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º´Â ¼ÒÄÏ ÀÎÅÍÆäÀ̽ºÀÌ´Ù. ¼ÒÄÏÀº Áö³­ 10³â°£ À¯´Ð½ºÀÇ ÀϺο´°í ´ëºÎºÐÀÇ Ç¥ÁØ ³×Æ®¿÷ Çϵå¿þ¾î´Â Àû¾îµµ µÎ°¡Áö ŸÀÔÀÇ ¼ÒÄÏ ÇÁ·ÎÅäÄݵé: UPD¿Í TCP¸¦ Áö¿øÇϵµ·Ï ¼³°èµÈ °ÍÀÌ´Ù. µÎ ¼ÒÄÏ Å¸ÀÔµéÀº ÇÑ ±â°è¿¡¼­ ´Ù¸¥ °ÍÀ¸·Î ÀÓÀÇ Å©±âÀÇ µ¥ÀÌÅÍ ºí·°À» Àü¼ÛÇÒ ¼ö ÀÖµµ·Ï ÇÏÁö¸¸ ¸î°¡Áö Áß¿äÇÑ Â÷ÀÌ°¡ ÀÖ´Ù. ºñ·Ï ¼º´ÉÀº ³×Æ®¿÷ Æ®·¡ÇÈ¿¡ µû¶ó¼­ ÈξÀ ¾ÇÈ­µÉ ¼ö ÀÖÁö¸¸ ÀüÇüÀûÀ¸·Î ÀÌ µÎ°¡Áö´Â ¾à 1,000 ¸¶ÀÌÅ©·Î ÃÊ Á¤µµÀÇ ÃÖ¼Ò Áöü¸¦ ¸¸µç´Ù.

ÀÌ·± ¼ÒÄÏ Å¸ÀÔµéÀº ´ëºÎºÐÀÇ ÀÌ½Ä °¡´É, ÇÏÀÌ-·¹º§, º´·Ä ó¸® ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ ±âº» ³×Æ®¿÷ ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍÆäÀ̽ºÀÌ´Ù; ¿¹¸¦ µé¾î¼­ PVMÀº UDP¿Í TCP¸¦ È¥ÇÕÇÏ¿© »ç¿ëÇϱ⠶§¹®¿¡ ÀÌ µÑÀÇ Â÷ÀÌÁ¡À» ¾Æ´Â °ÍÀº ¼º´ÉÀ» Æ©´×ÇÏ´Â µ¥ µµ¿òÀ» ÁÙ °ÍÀÌ´Ù. Á» ´õ ³ªÀº ¼º´ÉÀ» À§Çؼ­ ÇÁ·Î±×·¥ ¾È¿¡¼­ Á÷Á¢ ÀÌ·± ¸ÞÄ«´ÏÁòµéÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ´ÙÀ¸Àº UDP¿Í TCPÀÇ ´Ü¼øÇÑ °³°üÀÌ´Ù; ÀÚ¼¼ÇÑ ³»¿ëÀº ¸Å´º¾ó ÆäÀÌÁöµé°ú ÁÁÀº ³×Æ®¿÷ ÇÁ·Î±×·¡¹Ö Ã¥À» º¸±â ¹Ù¶õ´Ù.

UDP ÇÁ·ÎÅäÄÝ (SOCK_DGRAM)

UDP´Â »ç¿ëÀÚ µ¥ÀÌÅͱ׷¥ ÇÁ·ÎÅäÄÝ(User Datagram Protocol)ÀÌÁö¸¸ UDPÀÇ ¼Ó¼ºÀ» ½Å·ÚÇÒ ¼ö ¾ø´Â µ¥ÀÌÅͱ׷¥ ó¸®(Unreliable Datagram Processing)·Î Á» ´õ ½±°Ô ±â¾ïÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ´Ù¸¥ ¸»·Î Çؼ­ UDP´Â °¢ ºí·°ÀÌ °³º° ¸Þ½ÃÁö·Î Àü¼ÛµÇµµ·Ï Çã¶ôÇÏÁö¸¸ ¸Þ½ÃÁö´Â Àü¼Û Áß À¯½ÇµÉ ¼ö ÀÖ´Ù. »ç½Ç ³×Æ®¿÷ Æ®·¡ÇÈ¿¡ Á¾¼ÓÀûÀ¸·Î UDP ¸Þ½ÃÁöµéÀº À¯½ÇµÉ ¼ö ÀÖ°í ¿©·¯¹ø µµÂøÇÒ ¼ö Àְųª ±×µéÀÌ º¸³»Áø ¼ø¼­¿Í ´Ù¸¥ ¼ø¼­·Î µµÂøÇÒ ¼ö ÀÖ´Ù. UDP ¸Þ½ÃÁöÀÇ Àü¼ÛÀÚ´Â ÀÚµ¿À¸·Î ¹Þ¾Ò´Ù´Â ÅëÁö(acknowledgement)¸¦ ¹ÞÁö ¾Ê´Â´Ù. ±×·¡¼­ ÀÌ·± ¹®Á¦µéÀ» °ËÃâÇÏ°í º¸ÃæÇÏ´Â °ÍÀº »ç¿ëÀÚ°¡ ÀÛ¼ºÇÑ Äڵ忡 ÀÇÁ¸ÇÑ´Ù. ´ÙÇེ·´°Ôµµ UDP´Â ¸Þ½ÃÁö°¡ µµÂøÇß´Ù¸é ¹ÞÀº ¸Þ½ÃÁö°¡ ¼Õ»óµÈ °ÍÀÌ ¾Æ´Ï°í ¿ÏÀüÇÑ °ÍÀ̶ó°í(Áï, UDP ¸Þ½ÃÁö Á¶°¢¸¸ ¹Þ¾Ò´Ù°í) º¸ÀåÇÑ´Ù.

UDP°¡ ÁÁÀº Á¡Àº °¡Àå ºü¸¥ ¼ÒÄÏ ÇÁ·ÎÅäÄÝÀÌ µÇ·Á°í ÇÑ´Ù´Â °ÍÀÌ´Ù. ´õ ³ª¾Æ°¡ UDP´Â "¿¬°á ¾ø´Â(connectionless)" °ÍÀÌ´Ù. ÀÌ°ÍÀº °¢ ¸Þ½ÃÁö°¡ ±âº»ÀûÀ¸·Î ¸ðµç ´Ù¸¥ °Íµé°ú µ¶¸³ÀÌ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ°Í¿¡ ´ëÇÑ ÁÁÀº ºñÀ¯´Â ÆíÁöÀÌ´Ù; ¿©·¯ºÐÀº µ¿ÀÏÇÑ ÁýÁÖ¼Ò·Î ¿©·¯ ÆíÁö¸¦ º¸³¾ ¼ö ÀÖÁö¸¸ °¢°¢Àº ´Ù¸¥ °Íµé°ú µ¶¸³ÀÌ¸ç ¿©·¯ºÐÀÌ ÆíÁö¸¦ º¸³¾ ¼ö ÀÖ´Â »ç¶÷ÀÇ ¼ö¿¡ ´ëÇÑ Á¦ÇÑÀÌ ¾ø´Ù.

TCP ÇÁ·ÎÅäÄÝ(SOCK_STREAM)

UDP¿Í ´Ù¸£°Ô TCP´Â ½Å·ÚÇÒ ¼ö ÀÖ°í, ¿¬°á-±â¹ÝÀÎ ÇÁ·ÎÅäÄÝÀÌ´Ù. º¸³»Áø °¢ ºí·°Àº ¸Þ½ÃÁö·Î º¸ÀÌÁö ¾Ê°í °Ñº¸±â¿¡ Àü¼ÛÀÚ¿Í ¼ö½ÅÀÚ »çÀÌÀÇ ¿¬°áÀ» ÅëÇؼ­ Àü¼ÛµÈ ¿¬¼ÓÀûÀÎ ¹ÙÀÌÆ®¾È¿¡¼­ µ¥ÀÌÅÍ ºí·°À¸·Î º¸ÀδÙ. ÀÌ°ÍÀº UDP ¸Þ½Ã¡°ú ¾ÆÁÖ ´Ù¸£´Ù. ¿Ö³Ä¸é °¢ ºí·°Àº ´Ü¼øÇÏ°Ô ¹ÙÀÌÆ® ½ºÆ®¸²ÀÇ ÀϺÎÀÌ°í °¢ ºí·°À» ¹ÙÀÌÆ® ½ºÆ®¸²¿¡¼­ ÃßÃâÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æ ³»´Â °ÍÀº »ç¿ëÀÚ Äڵ忡 Á¾¼ÓÀûÀ̱⠶§¹®ÀÌ´Ù; ¸Þ½ÃÁöµéÀ» ºÐ¸®ÇÏ´Â ¸¶Å·Àº ¾ø´Ù. ´õ ³ª¾Æ°¡ ³×Æ®¿÷ ¹®Á¦µé¿¡ ´ëÇؼ­ ¿¬°áÀº Á» ´õ ±úÁö±â ½¬¿î °ÍÀÌ°í ¿¬°áÀÇ Á¦ÇÑµÈ °³¼öµé¸¸ÀÌ °¢ ÇÁ·Î¼¼½ºµé¿¡ ´ëÇؼ­ µ¿½Ã¿¡ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ½Å·ÚÇÒ ¼ö Àֱ⠶§¹®¿¡ TCP´Â ÀϹÝÀûÀ¸·Î UDPº¸´Ù Á» ´õ ¹«°Å¿î ¿À¹öÇìµå¸¦ °¡Áø´Ù.

±×·¯³ª TCP¿¡ °üÇÑ ¸î°¡Áö Áñ°Å¿î ³î¶ó¿î °ÍµéÀÌ Á¸ÀçÇÑ´Ù. ´Ù¼ö ¸Þ½ÃÁöµéÀÌ ¿¬°áÀ» ÅëÇؼ­ Àü´ÞµÇ¾ú´Ù¸é, ªÀº ¶Ç´Â ¦ÀÌ ¸ÂÁö ¾ÊÀº Å©±âÀÇ ¸Þ½ÃÁöµéÀÇ ±×·ì¿¡ ´ëÇؼ­ UDPº¸´Ù ´õ ³ªÀº ¼º´ÉÀ» ÀáÀçÀûÀ¸·Î ³»¸é¼­, TCP´Â ±×°ÍµéÀ» ¹öÆÛ ¾È¿¡¼­ ³×Æ®¿÷ Çϵå¿þ¾î ÆÐŶ Å©±â¿¡ ´õ Àß ¸Âµµ·Ï ¹­À» ¼ö ÀÖ´Ù´Â °ÍÀÌ Ã¹¹ø°ÀÌ´Ù. ´Ù¸¥ º¸³Ê½º´Â ±â°èµé °£¿¡ ½Å·ÚÇÒ ¼ö ÀÖ´Â Á÷Á¢ ¹°¸®Àû ¸µÅ©µéÀ» »ç¿ëÇؼ­ ±¸ÃàµÈ ³×Æ®¿÷Àº TCP ¿¬°áÀ» ½±°í È¿À²ÀûÀ¸·Î Èä³»³¾ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î¼­ ParaStationÀÇ "Socket Library" ÀÎÅÍÆäÀ̽º ¼ÒÇÁÆ®¿þ¾îÀÇ °æ¿ì ÀÌ·¸°Ô µÇ¾ú´Ù. ÀÌ ¼ÒÇÁÆ®¿þ¾î´Â Ç¥ÁØ TCP OS È£Ãâµé°ú °¢ ÇÔ¼ö À̸§¿¡´Ù Á¢µÎ»ç PSS¸¦ ºÙÀÌ´Â °Í¸¸ ´Ù¸¥ »ç¿ëÀÚ-·¹º§ È£ÃâµéÀ» »ç¿ëÇÑ TCP ¹®¹ý(semantics)À» Á¦°øÇÑ´Ù.

ÀåÄ¡ ±¸µ¿±â(Device Drivers)

³×Æ®¿÷¿¡ µ¥ÀÌÅ͸¦ ½ÇÁ¦·Î ³ÖÀ» ¶§°¡, ¶Ç´Â ³×Æ®¿÷À¸·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ²ôÁý¾î ¿Ã ¶§°¡ ¿À¸é Ç¥ÁØ À¯´Ð½º ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍÆäÀ̽º´Â ÀåÄ¡ ±¸µ¿±â¶ó°í ºÒ¸®´Â À¯´Ð½º Ä¿³ÎÀÇ ÀϺΰ¡ µÈ´Ù. UDP¿Í TCP´Â ´ÜÁö µ¥ÀÌÅ͸¸ Àü¼ÛÇÏÁö ¾Ê°í ±×µéÀº ¶ÇÇÑ »ó´çÇÑ ¾çÀÇ ¼ÒÄÏ °ü¸®ÀÇ ¿À¹öÇìµå¸¦ °®°í ÀÖ´Ù. ¿¹¸¦ µé¾î¼­ ¾î¶² °ÍµéÀº ´Ù¼öÀÇ TCP Ä¿³Ø¼ÇµéÀÌ ÇϳªÀÇ ¹°¸®Àû ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¸¦ °øÀ¯ÇÒ ¼ö ÀÖ´Ù´Â »ç½ÇÀ» °ü¸®ÇØ¾ß ÇÑ´Ù. ÀÌ¿¡ ºñÇؼ­ Àü¿ë ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ÀåÄ¡ ±¸µ¿±â´Â ´ÜÁö ¸î°¡Áö ´Ü¼øÇÑ µ¥ÀÌÅÍ Àü¼Û ÇÔ¼öµé¸¸ ±¸ÇöÇÏ¸é µÈ´Ù. ÀÌ·± ÀåÄ¡ µå¶ó¤·À̹ö ÇÔ¼öµéÀº »ç¿ëÀÚ ÇÁ·Î±×·¥¿¡ ÀÇÇؼ­, ÀûÀýÇÑ ÀåÄ¡¸¦ È®ÀÎÇϱâ À§Çؼ­ open()À» »ç¿ëÇÏ°í ¿ÀÇÂµÈ "ÆÄÀÏ"¿¡ ´ëÇؼ­ read()¿Í write()¿Í °°Àº ½Ã½ºÅÛ È£ÃâÀ» »ç¿ëÇÔÀ¸·Î½á, È£ÃâµÉ ¼ö ÀÖ´Ù. ±×·¡¼­ °¢°¢ÀÇ ±×·± ÀÛ¾÷Àº µ¥ÀÌÅÍ ºí·°À» ½Ã½ºÅÛ È£ÃâÀÇ ¿À¹öÇìµåº¸´Ù ´õ ÀÛÀº ¿À¹öÇìµå·Î Àü¼ÛÇÒ ¼ö ÀÖ´Ù. ÀÌ·± ½Ã½ºÅÛ È£ÃâÀº ¼ö½Ê ¸¶ÀÌÅ©·Î ÃÊ°¡ °É¸°´Ù.

¸®´ª½º¿¡ ´ëÇÑ ÀåÄ¡ ±¸µ¿±â¸¦ ÀÛ¼ºÇÏ´Â °ÍÀº ¾î·ÆÁö ¾Ê´Ù... ÀåÄ¡ Çϵå¿þ¾î°¡ ÀÛµ¿ÇÏ´Â ¹æ¹ýÀ» Á¤È®ÇÏ°Ô ¾Ë°í ÀÖ´Ù¸é ¸»ÀÌ´Ù. ÀÌ°ÍÀÌ ÀÛµ¿ÇÏ´Â ¹æ¹ýÀ» ¸ð¸¥´Ù¸é ÃßÃøÇÏÁö ¸»¶ó. ÀåÄ¡ µå¶óÀ̹ö¸¦ µð¹ö±ëÇÏ´Â °ÍÀº Áñ°ÌÁö ¾ÊÀº ÀÏÀÌ°í ½Ç¼öµéÀº Çϵå¿þ¾î¸¦ Å¿ö¸ÔÀ» ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ°ÍÀÌ ¿©·¯ºÐÀ» ±×·¸°Ô °ÌÁÖ´Â °ÍÀÌ ¾Æ´Ï¶ó¸é, ¿¹¸¦ µé¾î¼­ Àü¿ë ÀÌ´õ³Ý Ä«µå¸¦ ´õ¹Ì·Î ±×·¯³ª ÀϹÝÀûÀÎ ÀÌ´õ³Ý ÇÁ·ÎÅäÄÝ ¿À¹öÇìµå ¾øÀÌ ±â°è-´ë-±â°è ºü¸¥ Á÷Á¢ ¿¬°á·Î »ç¿ëÇϱâ À§Çؼ­, ÀåÄ¡ ±¸µ¿±â¸¦ ÀÛ¼ºÇÏ´Â °ÍÀº °¡´ÉÇÑ ÀÏÀÌ µÉ ¼ö ÀÖ´Ù. »ç½Ç Ãʱâ ÀÎÅÚ ½´ÆÛÄÄÇ»Å͵éÀÌ Çß´ø °Í°ú »ó´çÈ÷ À¯»çÇÏ´Ù.... Á» ´õ ÀÚ¼¼ÇÑ Á¤º¸¸¦ º¸°í ½Í´Ù¸é Device Driver HOWTO¸¦ º¸¶ó.

»ç¿ëÀÚ-·¹º§ ¶óÀ̺귯¸®(User-Level Libraries)

¿©·¯ºÐÀÌ OS ÄÚ½º¸¦ ÅÃÇß´Ù¸é Çϵå¿þ¾î ÀåÄ¡ ·¹Áö½ºÅÍ¿¡ ´ëÇÑ »ç¿ëÀÚ-·¹º§ ¾ï¼¼½º´Â Á¤È®È÷ ¿©·¯ºÐÀÌ Çѹøµµ ¹è¿î ÀûÀÌ ¾ø´Â °ÍÀÌ´Ù. ¿Ö³Ä¸é OSÀÇ ÁÖ¿ä ¸ñÀû Áß Çϳª´Â ÀåÄ¡ ¾ï¼¼½º¸¦ Á¦¾îÇÏ´Â °ÍÀ̱⠶§¹®ÀÌ´Ù. ±×·¯³ª OS È£ÃâÀº Àû¾îµµ ¼ö½Ê ¸¶ÀÌÅ©·Î ÃÊ ¿À¹öÇìµå°¡ °É¸°´Ù. ´ÜÁö 3 ¸¶ÀÌÅ©·Î ÃÊ µ¿¾È¿¡ ±âº» ³×Æ®¿÷ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ´Â TTL_PAPERS¿Í °°Àº Ä¿½ºÅÒ ³×Æ®¿÷ Çϵå¿þ¾îÀÇ °æ¿ì ±×·± OS È£Ãâ ¿À¹öÇìµå´Â ÂüÀ» ¼ö ¾ø´Â °ÍÀÌ´Ù. ±×·± ¿À¹öÇìµå¸¦ ÇÇÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº Çϵå¿þ¾î ÀåÄ¡ ·¹Áö½ºÅ͵éÀ» Á÷Á¢ ¾ï¼¼½ºÇÏ´Â »ç¿ëÀÚ-·¹º§ ÄÚµå - »ç¿ëÀÚ-·¹º§ ¶óÀ̺귯¸® - ¸¦ °¡Áö´Â °ÍÀÌ´Ù. ±×·¡¼­ »ç¿ëÀÚ-·¹º§ ¶óÀ̺귯¸®°¡ Çϵå¿þ¾î¸¦ Á÷Á¢ ¾ï¼¼½ºÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ¹«¾ùÀΰ¡, ÇÏÁö¸¸ ÀåÄ¡ ¾ï¼¼½º ±ÇÇÑ¿¡ ´ëÇÑ OS Á¦¾î¿Í ŸÇùÇÏÁö ¾Ê´Â ¹æ¹ýÀº ¹«¾ùÀΰ¡¿Í °°Àº °ÍÀÌ Áú¹®ÀÌ µÉ °ÍÀÌ´Ù.

ÀüÇüÀûÀÎ ½Ã½ºÅÛ¿¡¼­ »ç¿ëÀÚ-·¹º§ ¶óÀ̺귯¸®°¡ Çϵå¿þ¾î ÀåÄ¡ ·¹Áö½ºÅ͸¦ Á÷Á¢ ¾ï¼¼½ºÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù:

  1. »ç¿ëÀÚ ÇÁ·Î±×·¥ ½ÃÀÛ¿¡¼­ ÀåÄ¡ ·¹Áö½ºÅ͸¦ Æ÷ÇÔÇÏ´Â ¸Þ¸ð¸® ÁÖ¼Ò °ø°£À» »ç¿ëÀÚ ÇÁ·Î¼¼½º °¡»ó ¸Þ¸ð¸® ¸ÊÀ¸·Î ¸ÊÇÎÇÏ´Â OS È£ÃâÀ» »ç¿ëÇÑ´Ù. ¾î¶² ½Ã½ºÅ۵鿡¼­´Â mmap() È£Ãâ(¼½¼Ç ¸Þ¸ð¸® ¸Ê È£Ãâ ¿¡¼­ ¸ÇóÀ½ ¾ð±ÞµÊ)ÀÌ I/O ÀåÄ¡µéÀÇ ¹°¸®Àû ¸Þ¸ð¸® ÆäÀÌÁö ÁÖ¼ÒµéÀÇ Ç¥ÇöÇϴ Ư¼ö ÆÄÀÏÀ» ¸ÊÇÎÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ¶Ç´Â ÀÌ·± ±â´ÉÀ» ¼öÇàÇÏ´Â ÀåÄ¡ ±¸µ¿±â¸¦ ÀÛ¼ºÇÏ´Â ÀÏÀº »ó´ëÀûÀ¸·Î ½±´Ù. ´õ ³ª¾Æ°¡ ÀÌ ÀåÄ¡ ±¸µ¿±â´Â ÇÊ¿äÇÑ Æ¯Á¤ ÀåÄ¡ ·¹Áö½ºÅ͵éÀ» ´ã°í ÀÖ´Â ÆäÀÌÁö(µé)À» ¸ÊÇÎÇÏ´Â °Í¸¸À¸·Î ¾ï¼¼½º¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ OS ¾ï¼¼½º Á¦¾î¸¦ À¯ÁöÇÒ ¼ö ÀÖ´Ù.
  2. ¸ÊÇÎµÈ Áּҵ鿡 ´Ü¼øÇÏ°Ô ·ÎµùÇϰųª ÀúÀåÇÔÀ¸·Î½á OS È£Ãâ ¾øÀÌ ÀåÄ¡ ·¹Áö½ºÅ͵éÀ» ¾ï¼¼½º. ¿¹¸¦ µé¾î¼­ *((char *) 0x1234) = 5;´Â ¸Þ¸ð¸® À§Ä¡ 1234(16Áø¼ö)¿¡´Ù ¹ÙÀÌÆ® °ª 5¸¦ ÀúÀåÇÒ °ÍÀÌ´Ù.

´ÙÇེ·´°Ôµµ ÀÎÅÚ 386(±×¸®°í ȣȯ ÇÁ·Î¼¼½ºµé)¿¡ ´ëÇÑ ¸®´ª½º°¡ Á» ´õ ³ªÀº ¼Ö·ç¼ÇÀ» Á¦°øÇÏ´Â ÀÏÀÌ ¹ú¾îÁ³´Ù:

  1. ±ÇÇÑÀÌ ÀÖ´Â ÇÁ·Î¼¼½º·ÎºÎÅÍ ioperm() OS È£ÃâÀ» »ç¿ëÇÔÀ¸·Î½á ÀåÄ¡ ·¹Áö½ºÅÍ¿¡ ´ëÀÀÇÏ´Â Á¤È®ÇÑ I/O Æ÷Æ® Áּҵ鿡 ¾ï¼¼½ºÇÏ´Â Æ۹̼ÇÀ» ¾ò´Â´Ù. ¶Ç´Â ¸®´ª½º¿¡ ´ëÇÑ ÆÐÄ¡ http://garage.ecn.purdue.edu/~papers/giveioperm.htmlÀ» »ç¿ëÇÏ¿© µ¶¸³µÈ ±ÇÇÑÀÖ´Â »ç¿ëÀÚ ÇÁ·Î¼¼½º(Áï, "¸ÞŸ OS")¿¡ ÀÇÇؼ­ Æ۹̼ÇÀÌ °ü¸®µÉ ¼ö ÀÖ´Ù.
  2. 386 Æ÷Æ® I/O ¸í·É¾îµéÀ» »ç¿ëÇؼ­ OS È£Ãâ ¾øÀÌ ÀåÄ¡ ·¹Áö½ºÅ͵éÀ» ¾ï¼¼½º.

´Ù¼öÀÇ I/O ÀåÄ¡µéÀÌ ´ÜÀÏ ÆäÀÌÁö ¾È¿¡ ±×µéÀÇ ·¹Áö½ºÅ͸¦ °®´Â °ÍÀÌ ÀϹÝÀûÀ̱⠶§¹®¿¡ ÀÌ µÎ¹ø° ¼Ö·ç¼ÇÀÌ ´õ ¼±È£µÈ´Ù. ÀÌ·± °æ¿ì ù¹ø° ±â¼úÀº ÀǵµµÈ °Í°ú µ¿ÀÏÇÑ ÆäÀÌÁö¿¡ À§Ä¡ÇÏ°Ô µÈ ´Ù¸¥ ÀåÄ¡ ·¹Áö½ºÅ͵éÀ» ¾ï¼¼½ºÇÏÁö ¸øÇϵµ·Ï ÇÏ´Â º¸È£¸¦ Á¦°øÇÏÁö ¸øÇÒ °ÍÀÌ´Ù. ¹°·Ð 386 Æ÷Æ® I/O ¸í·ÉµéÀÌ C·Î ÄÚµùµÉ ¼ö ¾ø´Ù´Â °ÍÀÌ ´ÜÁ¡ÀÌ´Ù - ´ë½Å ¿©·¯ºÐÀº ¾à°£ÀÇ ¾î¼Àºí¸® Äڵ带 »ç¿ëÇÒ ÇÊ¿ä°¡ »ý±æ °ÍÀÌ´Ù. ¹ÙÀÌÆ® °ªÀÇ Æ÷Æ® ÀÔ·ÂÀ» À§ÇÑ GCC-·¦ÇεÈ(C ÇÁ·Î±×·¥¿¡¼­ »ç¿ë °¡´ÉÇÑ) ÀζóÀÎ ¾î¼Àºí¸® ÄÚµå ÇÔ¼ö´Â ´ÙÀ½°ú °°´Ù:


  extern inline unsigned char
  inb(unsigned short port)
  {
      unsigned char _v;
  __asm__ __volatile__ ("inb %w1,%b0"
                        :"=a" (_v)
                        :"d" (port), "0" (0));
      return _v;
  }

ºñ½ÁÇÏ°Ô ¹ÙÀÌÆ® Æ÷Æ® Ãâ·ÂÀ» À§ÇÑ GCC-·¦ÇÎµÈ ÄÚµå´Â ´ÙÀ½°ú °°´Ù:


extern inline void
outb(unsigned char value,
unsigned short port)
{
__asm__ __volatile__ ("outb %b0,%w1"
                      :/* no outputs */
                      :"a" (value), "d" (port));
}

3.4 PVM (º´·Ä °¡»ó ±â°è, Parallel Virtual Machine)

PVM(º´·Ä °¡»ó ±â°è)´Â ÀϹÝÀûÀ¸·Î ¼ÒÄÏ À§¿¡ ±¸ÇöµÈ, ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ°í ÀÌ½ÄµÉ ¼ö ÀÖ´Â ¸Þ½ÃÁö Àü´Þ ¶óÀ̺귯¸®ÀÌ´Ù. ÀÌ°ÍÀº ºÐ¸íÈ÷ ¸Þ½ÃÁö Àü´Þ Ŭ·¯½ºÅÍ º´·Ä ÄÄÇ»ÆÃÀ» À§ÇÑ »ç½Ç»óÀÇ Ç¥ÁØÀ¸·Î ÀÚ¸®¸¦ Àâ¾Ò´Ù.

PVMÀº ´ÜÀÏ-ÇÁ·Î¼¼¼­¿Í SMP ¸®´ª½º ±â°èµé, ±×¸®°í ¼ÒÄÏ-°¡´É ³×Æ®¿÷(¿¹, SLIP, PLIP, ÀÌ´õ³Ý, ATM)¿¡ ÀÇÇؼ­ ¸µÅ©µÈ ¸®´ª½º ±â°èµéÀÇ Å¬·¯½ºÅ͸¦ Áö¿øÇÑ´Ù. »ç½Ç PVMÀº ´Ù¾çÇÑ ¼­·Î ´Ù¸¥ ŸÀÔµéÀÇ ÇÁ·Î¼¼¼­µé, ¼³Á¤, ±×¸®°í ¹°¸®ÀûÀÎ ³×Æ®¿÷µéÀÌ »ç¿ëµÈ ±â°èµé ±×·ì - À̱âÁ¾ Ŭ·¯½ºÅÍ -¿¡¼­ º´·Ä Ŭ·¯½ºÅͷνá ÀÎÅͳÝÀ» ÅëÇؼ­ ¸µÅ©µÈ ±â°èµéÀ» ó¸®ÇÏ´Â ¹üÀ§±îÁö ÀÛµ¿ÇÑ´Ù. PVMÀº ¶ÇÇÑ Å¬·¯½ºÅ͸¦ ÅëÇؼ­ º´·Ä ÀÛ¾÷ Á¦¾î¸¦ À§ÇÑ ±â´ÉµéÀ» Á¦°øÇÑ´Ù. À̵é Áß °¡Àå ÁÁÀº °Í, PVMÀº ¿À·§µ¿¾È ÀÚÀ¯·Ó°Ô »ç¿ë °¡´ÉÇÏ¿´°í(ÇöÀç´Â http://www.epm.ornl.gov/pvm/pvm_home.html¿¡ ÀÖÀ½) ¸¹Àº ÇÁ·Î±×·¡¹Ö ¾ð¾î, ¾îÇø®ÄÉÀÌ¼Ç ¶óÀ̺귯¸®, µð¹ö±ë Åø µî°ú °°Àº °Í¿¡, ±×°ÍÀ» ±×µéÀÇ "ÀÌ½Ä °¡´ÉÇÑ ¸Þ½ÃÁö-Àü´Þ Ÿ°Ù ¶óÀ̺귯¸®"·Î »ç¿ëÇÏ¿©, À̸£°Ô µÇ¾ú´Ù. ³×Æ®¿÷ ´º½º ±×·ì comp.parallel.pvmÀÌ ÀÖ´Ù.

±×·¯³ª PVM ¸Þ½ÃÁö Àü´Þ È£ÃâµéÀº ÀϹÝÀûÀ¸·Î ÀÌ¹Ì ³ôÀº Áöü¸¦ °¡Áö´Â Ç¥ÁØ ¼ÒÄÏ ÀÛ¾÷µé¿¡ ½É°¢ÇÑ ¿À¹öÇìµå¸¦ Ãß°¡ÇÑ´Ù. ´õ ³ª°¡¾Æ°¡ ¸Þ½ÃÁö Çڵ鸵 È£Ãâµé ÀÚ½ÅÀº Ưº°È÷ "ÇÁ·»µé¸®"ÇÑ ÇÁ·Î±×·¡¹Ö ¸ðµ¨À» ÀÌ·çÁö ¾Ê¾Ò´Ù.

¼½¼Ç ¿¹Á¦ ¾Ë°í¸®Áò¿¡¼­ ¸ÇóÀ½ ¼³¸íµÈ °Í°ú µ¿ÀÏÇÑ ÆÄÀÌ(pi) °è»ê ¿¹Á¦¸¦ »ç¿ëÇؼ­ ¸¸µç, C¿Í PVM ¶óÀ̺귯¸® È£ÃâÀ» »ç¿ëÇÑ ¹öÀüÀº ´ÙÀ½°ú °°´Ù:


#include <stdlib.h>
#include <stdio.h>
#include <pvm3.h>

#define NPROC   4

main(int argc, char **argv)
{
  register double lsum, width;
  double sum;
  register int intervals, i; 
  int mytid, iproc, msgtag = 4;
  int tids[NPROC];  /* array of task ids */

  /* enroll in pvm */
  mytid = pvm_mytid();

  /* Join a group and, if I am the first instance,
     iproc=0, spawn more copies of myself
  */
  iproc = pvm_joingroup("pi");

  if (iproc == 0) {
    tids[0] = pvm_mytid();
    pvm_spawn("pvm_pi", &argv[1], 0, NULL, NPROC-1, &tids[1]);
  }
  /* make sure all processes are here */
  pvm_barrier("pi", NPROC);

  /* get the number of intervals */
  intervals = atoi(argv[1]);
  width = 1.0 / intervals;

  lsum = 0.0;
  for (i = iproc; i<intervals; i+=NPROC) {
    register double x = (i + 0.5) * width;
    lsum += 4.0 / (1.0 + x * x);
  }
  
  /* sum across the local results & scale by width */
  sum = lsum * width;
  pvm_reduce(PvmSum, &sum, 1, PVM_DOUBLE, msgtag, "pi", 0);

  /* have only the console PE print the result */
  if (iproc == 0) {
    printf("Estimation of pi is %f\n", sum);
  }

  /* Check program finished, leave group, exit pvm */
  pvm_barrier("pi", NPROC);
  pvm_lvgroup("pi");
  pvm_exit();
  return(0);
}

3.5 MPI (¸Þ½ÃÁö Àü´Þ ÀÎÅÍÆäÀ̽º, Message Passing Interface)

PVMÀº »ç½Ç»ó Ç¥ÁØ ¸Þ½ÃÁö-Àü´Þ ¶óÀ̺귯¸®ÀÎ ¹Ý¸é¿¡ MPI(¸Þ½ÃÁö Àü´Þ ÀÎÅÍÆäÀ̽º)´Â »ó´ëÀûÀ¸·Î »õ·Î¿î °ø½Ä Ç¥ÁØÀÌ´Ù. MPI Ç¥ÁØ¿¡ ´ëÇÑ È¨ ÆäÀÌÁö´Â http://www.mcs.anl.gov:80/mpi/ÀÌ¸ç ´º½º±×·ìÀº comp.paralle.mpiÀÌ´Ù.

±×·¯³ª MPI¸¦ ³íÀÇÇϱâ Àü¿¡ ÀúÀÚ´Â Áö³­ ¸î³â µ¿¾È ÀϾ PVM ´ë MPI Á¾±³ ÀüÀï¿¡ ´ëÇؼ­ Á¶±Ý ¾ê±âÇÏ°í ½ÍÀº Ã浿À» ´À³¤´Ù. ´ÙÀ½Àº Â÷ÀÌÁ¡µé¿¡ ´ëÇؼ­ »ó´ëÀûÀ¸·Î Æí°ß¾øÀÌ ¿ä¾àÇÏ·Á°í ½ÃµµÇÑ °ÍÀÌ´Ù:

½ÇÇà Á¦¾î ȯ°æ(Execution control environment).

´Ü¼øÇÏ°Ô ¾ê±âÇؼ­ MPI´Â ½ÇÇà Á¦¾î ȯ°æÀÌ ¾î¶»°Ô ±¸ÇöµÇ´Â°¡¿Í ±¸ÇöµÉ ¼ö ÀÖ´ÂÁö ¾ø´ÂÁö¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀº ¹Ý¸é PVMÀº ½ÇÇà Á¦¾î ȯ°æ Çϳª¸¦ °®´Â´Ù. ±×·¡¼­ PVM ÇÁ·Î±×·¥ ½ÇÇàÀ» ½ÃÀÛÇÏ´Â °Í°ú °°Àº ÀϵéÀº ¸ðµç °÷¿¡¼­ µ¿ÀÏÇÏ°Ô ÀÌ·ç¾îÁö´Â ¹Ý¸é MPIÀÇ °æ¿ì ÀÌ°ÍÀº ¾î¶² ±¸ÇöÀÌ »ç¿ëµÇ´Â°¡¿¡ µû¶ó¼­ ´Ù¸¦ ¼ö ÀÖ´Ù.

À̱âÁ¾ Ŭ·¯½ºÅÍ Áö¿ø(Support for heterogeneous clusters).

PVMÀº ¿öÅ©½ºÅ×ÀÌ¼Ç »çÀÌŬ-È°¿ë ¼¼°è¿¡¼­ ÀÚ¶ó³µ°í ±×·¡¼­ Á÷Á¢ ±â°è¿Í ¿î¿µ üÁ¦ÀÇ À̱âÁ¾ È¥ÇÕÀ» °ü¸®ÇÑ´Ù. ¹Ý¸é¿¡ MPI´Â Ÿ°ÙÀÌ MPP(°Å´ëÇÑ º´·Ä ÇÁ·Î¼¼¼­)À̰ųª °ÅÀÇ µ¿ÀÏÇÑ ¿öÅ©½ºÅ×À̼ǵéÀÇ Àü¿ë Ŭ·¯½ºÅÍÀÏ °ÍÀ̶ó°í °¡Á¤ÇÑ´Ù.

ºÎ¾ý ½ÌÅ©´ë ÁõÈıº(Kitchen sink syndrome).

PVM´Â MPI 2.0ÀÌ ÇÏÁö ¸øÇÏ´Â ¸ñÀûÀÇ ÅëÀÏÀ» Áõ¸íÇÑ´Ù. »õ·Î¿î MPI 2.0 Ç¥ÁØÀº ±âº» ¸Þ½ÃÁö Àü´Þ ¸ðµ¨À» ¹þ¾î³ª´Â ¸¹Àº ±â´ÉµéÀ» ´ã°í ÀÖ´Ù - RMA(¸®¸ðÆ® ¸Þ¸ð¸® ¾ï¼¼½º, Remote Memory Access)¿Í º´·Ä ÆÄÀÏ I/O¿Í °°Àº °Íµé. ÀÌ·± °ÍµéÀÌ À¯¿ëÇÑ°¡? ¹°·Ð ±×µéÀº ±×·¸´Ù... ±×·¯³ª MPI 2.0À» ¹è¿ì´Â °ÍÀº ¿ÏÀüÈ÷ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ¹è¿ì´Â °Í°ú °ÅÀÇ ¶È°°´Ù.

»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ¼³°è(User interface design).

MPI´Â PVMÀ» µû¶ó ¼³°èµÇ¾ú°í ºÐ¸íÈ÷ ±×°ÍÀ¸·ÎºÎÅÍ ¹è¿ü´Ù. MPI´Â ´õ ´Ü¼øÇÏ°í ´õ È¿°úÀûÀÎ ¹öÆÛ Çڵ鸵°ú ¸Þ½ÃÁö·Î »ç¿ëÀÚ-Á¤ÀÇ µ¥ÀÌÅÍ ±¸Á¶°¡ Àü´ÞµÇµµ·Ï ÇÏ´Â °í¼öÁØ Ãß»óÈ­¸¦ Á¦°øÇÑ´Ù.

¹ýÀÇ È¿·Â(The force of law).

³» °è»ê¿¡ ÀÇÇϸé MPI¸¦ »ç¿ëÇÏ´Â °Íº¸´Ù PVMÀ» »ç¿ëÇϵµ·Ï ¼³°èµÈ °ÍµéÀÌ ¾ÆÁ÷ ¾ÆÁÖ ¸¹ÀÌ ÀÖ´Ù; ±×·¯³ª ±×°ÍµéÀ» MPI·Î Æ÷ÆÃÇÏ´Â °ÍÀº ½±´Ù. ±×¸®°í MPI°¡ ³Î¸® Áö¿øµÇ´Â Çü½ÄÀûÀΠǥÁØ¿¡ ÀÇÇؼ­ Áö¿øµÈ´Ù´Â »ç½ÇÀº MPI¸¦ »ç¿ëÇÏ´Â °ÍÀº ¸¹Àº ±â°üµéÀÇ °æ¿ì, Á¤Ã¥»óÀÇ ¹®Á¦ÀÌ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.

°á·ÐÀÌ ³µ´Â°¡? ±Û½ê ¸®´ª½º ½Ã½ºÅÛµé·Î ¸¸µç Ŭ·¯½ºÅÍ¿¡¼­ ½ÇÇàÇÒ ¼ö ÀÖ´Â, ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ°í µ¶¸³ÀûÀ¸·Î °³¹ßµÈ MPI ¹öÀüÀº Àû¾îµµ ¼¼°¡Áö Á¸ÀçÇÑ´Ù(±×¸®°í ³ª´Â ±×°Íµé Áß Çϳª¸¦ ¿©±â¿¡¼­ ¼³¸íÇÑ´Ù):

À̵é MPI ±¸Çö¹°µéÁß ¾î¶² °ÍÀ» ¾²´ø °£¿¡ ´ëºÎºÐÀÇ °ø¿ë Åë½Å ŸÀÔµéÀ» ¼öÇàÇÏ´Â °ÍÀº ¾ÆÁÖ ´Ü¼øÇÏ´Ù.

±×·¯³ª MPI 2.0Àº, À̵é Áß¿¡ Çϳª¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¡¸Ó°¡ MPI¿Í °°Àº ´Ù¸¥ ÄÚµù ½ºÅ¸ÀϵéÀ» ÀνÄÇÏÁö ¸øÇÒ Á¤µµ·Î ÃæºÐÈ÷ ¼­·Î ´Ù¸¥ ¿©·¯°¡Áö Åë½Å Æз¯´ÙÀÓµéÀ» ¼­·Î ¿¬µ¿½ÃŲ´Ù. ±×·¡¼­ ´Ü ÇϳªÀÇ ¿¹Á¦ ÇÁ·Î±×·¥À» Á¦°øÇÏ´Â °Íº¸´Ù MPI°¡ Áö¿øÇÏ´Â ±âº»ÀûÀ¸·Î ¼­·Î ´Ù¸¥ Åë½Å Æз¯´ÙÀÓµé °¢°¢ÀÇ ¿¹Á¦¸¦ °¡Áö´Â °ÍÀÌ À¯¿ëÇÏ´Ù. ¾Æ·¡¿¡ ³ª¿À´Â ¸ðµç ¼¼°¡Áö ÇÁ·Î±×·¥µéÀº ÀÌ HOWTO¸¦ ÅëÇؼ­ »ç¿ëµÇ´Â PiÀÇ °ªÀ» ±¸ÇÏ´Â, µ¿ÀÏÇÑ ±âº» ¾Ë°í¸®ÁòÀ» ±¸ÇöÇÑ´Ù.

°¢ ÇÁ·Î¼¼¼­°¡ ±×°ÍÀÇ ºÎºÐÇÕÀ» ÃÑÇÕÀ» ±¸ÇÏ°í ±× °á°ú¸¦ Ãâ·ÂÇÏ´Â ÇÁ·Î¼¼¼­ 0¹ø¿¡°Ô Àü´ÞÇϱâ À§Çؼ­ ±âº» MPI ¸Þ½ÃÁö-Àü´Þ È£ÃâµéÀ» »ç¿ëÇϴ ù¹ø° MPI ÇÁ·Î±×·¥:


#include <stdlib.h>
#include <stdio.h>
#include <mpi.h>

main(int argc, char **argv)
{
  register double width;
  double sum, lsum;
  register int intervals, i; 
  int nproc, iproc;
  MPI_Status status;

  if (MPI_Init(&argc, &argv) != MPI_SUCCESS) exit(1);
  MPI_Comm_size(MPI_COMM_WORLD, &nproc);
  MPI_Comm_rank(MPI_COMM_WORLD, &iproc);
  intervals = atoi(argv[1]);
  width = 1.0 / intervals;
  lsum = 0;
  for (i=iproc; i<intervals; i+=nproc) {
    register double x = (i + 0.5) * width;
    lsum += 4.0 / (1.0 + x * x);
  }
  lsum *= width;
  if (iproc != 0) {
    MPI_Send(&lbuf, 1, MPI_DOUBLE, 0, 0, MPI_COMM_WORLD);
  } else {
    sum = lsum;
    for (i=1; i<nproc; ++i) {
      MPI_Recv(&lbuf, 1, MPI_DOUBLE, MPI_ANY_SOURCE,
               MPI_ANY_TAG, MPI_COMM_WORLD, &status);
      sum += lsum;
    }
    printf("Estimation of pi is %f\n", sum);
  }
  MPI_Finalize();
  return(0);
}

µÎ¹ø° MPI ¹öÀüÀº ÁýÇÕÀûÀÎ(collective) Åë½Å(ÀÌ Æ¯º°ÇÑ ¾îÇø®ÄÉÀ̼ÇÀÇ °æ¿ì ÀÌ°ÍÀº °¡Àå ÀûÀýÇÏ´Ù):


#include <stdlib.h>
#include <stdio.h>
#include <mpi.h>

main(int argc, char **argv)
{
  register double width;
  double sum, lsum;
  register int intervals, i; 
  int nproc, iproc;

  if (MPI_Init(&argc, &argv) != MPI_SUCCESS) exit(1);
  MPI_Comm_size(MPI_COMM_WORLD, &nproc);
  MPI_Comm_rank(MPI_COMM_WORLD, &iproc);
  intervals = atoi(argv[1]);
  width = 1.0 / intervals;
  lsum = 0;
  for (i=iproc; i<intervals; i+=nproc) {
    register double x = (i + 0.5) * width;
    lsum += 4.0 / (1.0 + x * x);
  }
  lsum *= width;
  MPI_Reduce(&lsum, &sum, 1, MPI_DOUBLE,
             MPI_SUM, 0, MPI_COMM_WORLD);
  if (iproc == 0) {
    printf("Estimation of pi is %f\n", sum);
  }
  MPI_Finalize();
  return(0);
}

¼¼¹ø° MPI ¹öÀüÀº °¢ ÇÁ·Î¼¼¼­°¡ ÀÚ½ÅÀÇ ·ÎÄà lsum¸¦ ÇÁ·Î¼¼¼­ 0¹øÀÇ sum·Î ´õÇϱâ À§Çؼ­ MPI 2.0 RMA ¸ÞÄ«´ÏÁòÀ» »ç¿ëÇÑ´Ù.


#include <stdlib.h>
#include <stdio.h>
#include <mpi.h>

main(int argc, char **argv)
{
  register double width;
  double sum = 0, lsum;
  register int intervals, i; 
  int nproc, iproc;
  MPI_Win sum_win;

  if (MPI_Init(&argc, &argv) != MPI_SUCCESS) exit(1);
  MPI_Comm_size(MPI_COMM_WORLD, &nproc);
  MPI_Comm_rank(MPI_COMM_WORLD, &iproc);
  MPI_Win_create(&sum, sizeof(sum), sizeof(sum),
                 0, MPI_COMM_WORLD, &sum_win);
  MPI_Win_fence(0, sum_win);
  intervals = atoi(argv[1]);
  width = 1.0 / intervals;
  lsum = 0;
  for (i=iproc; i<intervals; i+=nproc) {
    register double x = (i + 0.5) * width;
    lsum += 4.0 / (1.0 + x * x);
  }
  lsum *= width;
  MPI_Accumulate(&lsum, 1, MPI_DOUBLE, 0, 0,
                 1, MPI_DOUBLE, MPI_SUM, sum_win);
  MPI_Win_fence(0, sum_win);
  if (iproc == 0) {
    printf("Estimation of pi is %f\n", sum);
  }
  MPI_Finalize();
  return(0);
}

MPI 2.0 RMA ¸ÞÄ«´ÏÁòÀº, ¼­·Î ´Ù¸¥ ¸Þ¸ð¸® À§Ä¡µé¿¡ °ÅÁÖÇÏ´Â ´Ù¾çÇÑ ÇÁ·Î¼¼¼­µéÀ§ÀÇ ´ëÀÀÇÏ´Â µ¥ÀÌÅÍ ±¸Á¶ÀÇ ÀÓÀÇÀÇ ÀáÀçÀû ¹®Á¦Á¡µéÀ» ¾ÆÁÖ Àß ±Øº¹ÇÑ´Ù´Â Á¡À» ÁÖ¸ñÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº, º£À̽º ÁÖ¼Ò¸¦ ÀǹÌÇÏ´Â "â(window)"¸¦ ÂüÁ¶ÇÏ´Â °Í°ú °æ°è ÃÊ¿ù ¾ï¼¼½º(out-of-bound access)¿¡ ´ëÇÑ º¸È£¿Í ±×¸®°í ÆòµîÇÑ ÁÖ¼Ò Å©±â Á¶Àý(even address scaling)¿¡ ÀÇÇؼ­ °¡´ÉÇÏ´Ù. RMA 󸮴 ´ÙÀ½ MPI_Win_fence ÀÌÀü±îÁö ¿¬±âµÉ ¼ö ÀÖ´Ù´Â »ç½Ç¿¡ ÀÇÇؼ­ µµ¿òÀ» ¹Þ´Â´Ù. °£´ÜÈ÷ ¸»Çؼ­ RMA ¸ÞÄ«´ÏÁòÀº ºÐ»ê °øÀ¯ ¸Þ¸ð¸®¿Í ¸Þ½ÃÁö Àü´Þ °£ÀÇ ÀÌ»óÇÑ Á¶ÇÕ(strange cross)À̶ó°í ¸»ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸ ÀáÀçÀûÀ¸·Î ¾ÆÁÖ È¿À²ÀûÀÎ Åë½ÅÀ» »ý¼ºÇÏ´Â ¾ÆÁÖ ±ú²ýÇÑ ÀÎÅÍÆäÀ̽ºÀÌ´Ù.

3.6 AFAPI (ÁýÇÕ ÇÔ¼ö API, Aggregate Function API)

PVM, MPI µî°ú ´Ù¸£°Ô AFAPI(ÁýÇÕ ÇÔ¼ö ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥ ÀÎÅÍÆäÀ̽º; Aggregate Function Application Program Interface)´Â ÇöÁ¸ÇÏ´Â ³×Æ®¿÷ Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î À§¿¡ ³õÀÎ Æ÷Æð¡´ÉÇÑ Ãß»ó ÀÎÅÍÆäÀ̽º¸¦ ±¸ÃàÇÏ´Â ½Ãµµ·Î½á ÀÏ»ýÀ» ½ÃÀÛÇÏÁö ¾Ê¾Ò´Ù. ±×·¯±â º¸´Ù´Â AFAPI´Â PAPERS (º´·Ä ½ÇÇà°ú ºü¸¥ µ¿±âÈ­¸¦ À§ÇÑ ÆÛµà ¾Æ´äÅÍ; Purdue's Adapter for Parallel Execution and Rapid Synchronization; http://garage.ecn.purdue.edu/~papers/ ÂüÁ¶)¿¡ ´ëÇÑ Çϵå¿þ¾î-Á¾¼ÓÀûÀÎ ·Î¿ì-·¹º§ Áö¿ø ¶óÀ̺귯¸®·Î½á ½ÃÀÛÇÏ¿´´Ù.

PAPERS´Â ³×Æ®¿÷ Çϵå¿þ¾î¿¡¼­ ¾à°£ ³íÀǵǾú´Ù; ÀÌ°ÍÀº Áöü½Ã°£ÀÌ ¾à ¼ö ¸¶ÀÌÅ©·Î Ãʵ¿¾ÈÀÎ °ø¿ë µµ¸ÞÀÎ ¼³°è Ä¿½ºÅÒ ÁýÇÕ ÇÔ¼ö ³×Æ®¿÷ÀÌ´Ù. ±×·¯³ª ÇöÁ¸ÇÏ´Â ½´ÆÛÄÄÇ»Å͵麸´Ù ÄÄÆÄÀÏ·¯ ±â¼ú¿¡¼­ ´õ ³ªÀº Ÿ°ÙÀÌ µÉ ¼ö ÀÖ´Â ½´ÆÛÄÄÇ»Å͸¦ ¸¸µé·Á´Â ½Ãµµ·Î½á ÀÌ°ÍÀÌ °³¹ßµÇ¾ú´Ù´Â °ÍÀÌ PAPERS¿¡ ´ëÇؼ­ Áß¿äÇÑ °ÍÀÌ´Ù. ÀÌ°ÍÀº ÁúÀûÀ¸·Î ´ëºÎºÐÀÇ ¸®´ª½º Ŭ·¯½ºÅÍ ³ë·Âµé°ú, »ó´ëÀûÀ¸·Î º°·Î ÃæºÐÇÏÁö ¾Ê´Â ¼º±ä º´·Ä ¾îÇø®ÄÉÀ̼ǵ鿡 ´ëÇÑ Ç¥ÁØ ³×Æ®¿÷À» »ç¿ëÇÏ·Á°í ³ë·ÂÇÏ´Â µ¥ ÃÐÁ¡À» ¸ÂÃá PVM/MPIµé°ú ¾ÆÁÖ ´Ù¸£´Ù. ¸®´ª½º ÇǾ¾µéÀÌ PAPERS ½Ã½ºÅÛÀÇ ÄÄÆ÷³ÍÆ®µé·Î »ç¿ëµÈ´Ù´Â »ç½ÇÀº ´Ü¼øÇÏ°Ô °¡´ÉÇÑÇÑ °¡Àå ºñ¿ë-È¿À²ÀûÀÎ ¹æ½ÄÀ¸·Î ÇÁ·ÎÅäŸÀÔµéÀ» ±¸ÇöÇغ» °ÍÀÌ´Ù´Â °ÍÀ» ¸»ÇÒ »ÓÀÌ´Ù.

ÇÑ Å¸½ºÀÇ ¼­·Î´Ù¸¥ ÇÁ·ÎÅäŸÀÔ ±¸Çö¹°µé¿¡ ´ëÇÑ °ø¿ë ·Î¿ì-·¹º§ ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍÆäÀ̽º ÇÊ¿ä°¡ AFAPI·Î PAPERS ¶óÀ̺귯¸®°¡ Ç¥ÁØÈ­µÇµµ·Ï ÇÑ °ÍÀÌ´Ù. ±×·¯³ª AFAPI¿¡ ÀÇÇؼ­ »ç¿ëµÇ´Â ¸ðµ¨Àº Ÿ°í³¯ ÀûºÎÅÍ ´õ ´Ü¼øÇÏ°í, ÀüÇüÀûÀÎ º´·Äó¸® ÄÄÆÄÀÏ·¯¿¡ ÀÇÇؼ­ ÄÄÆÄÀÏµÈ Äڵ峪 SIMD ¾ÆÅ°ÅØÃĵéÀ» À§Çؼ­ ÀÛ¼ºµÈ ÄÚµåµéÀÇ ´õ Á¤±³ÇÑ »óÈ£ÀÛ¿ë¿¡ Á» ´õ Àû´çÇÏ´Ù. ÀÌ ¸ðµ¨ÀÇ ´Ü¼ø¼ºÀº PAPERS Çϵå¿þ¾î¸¦ ¸¸µé±â ½±°Ô ÇÒ »Ó¸¸ ¾Æ´Ï°í SMPµé°ú °°Àº ´Ù¸¥ Çϵå¿þ¾î ½Ã½ºÅ۵鿡 ´ëÇÑ ³î¶øµµ·Ï È¿À²ÀûÀÎ AFAPI Æ÷ÆÃÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù.

AFAPI´Â ÇöÀç TTL_PAPERS, CAPERS, ¶Ç´Â WAPERS¸¦ »ç¿ëÇÏ¿© Ä¿³ØÆ®µÈ ¸®´ª½º Ŭ·¯½ºÅ͵鿡¼­ Àß ÀÛµ¿ÇÑ´Ù. ÀÌ°ÍÀº ¶ÇÇÑ (OS È£ÃâµéÀ̳ª ½ÉÁö¾î ¹ö½º-¶ôÅ· ¸í·É¾îµé ¾øÀ̵µ, ¼½¼Ç °øÀ¯ ¸Þ¸ð¸® ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ¼Ò°³ ÂüÁ¶) SHMAPERS¶ó°í ºÒ¸®´Â ½Ã½ºÅÛ V °ø¿ë ¸Þ¸ð¸® ¶óÀ̺귯¸®(System V Shared Memory library)¸¦ »ç¿ëÇÑ SMP ½Ã½ºÅÛµé À§¿¡¼­µµ ÀÛµ¿ÇÑ´Ù. ÀüÅëÀûÀÎ ³×Æ®¿÷(¿¹, ÀÌ´õ³Ý) À§¿¡¼­ UDP ºê·Îµåij½ºÆ®¸¦ »ç¿ëÇÑ ¸®´ª½º Ŭ·¯½ºÅÍ À§¿¡¼­ ½ÇÇàÇÏ´Â ¹öÀüÀÌ °³¹ß Áß¿¡ ÀÖ´Ù. ¸ðµç °ü·ÃµÈ ¹öÀüµéÀÌ http://garage.ecn.purdue.edu/~papers/¿¡¼­ ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. AFAPIÀÇ ¸ðµç ¹öÀüµéÀº C³ª C++·ÎºÎÅÍ È£ÃâµÇµµ·Ï ¼³°èµÇ¾ú´Ù.

´ÙÀ½ ¿¹Á¦´Â ¼½¼Ç ¿¹Á¦ ¾Ë°í¸®Áò¿¡¼­ ¼³¸íµÈ ¹Ù ÀÖ´Â PiÀÇ AFAPI¹öÀüÀÌ´Ù.


#include <stdlib.h>
#include <stdio.h>
#include "afapi.h"

main(int argc, char **argv)
{
  register double width, sum;
  register int intervals, i;

  if (p_init()) exit(1);

  intervals = atoi(argv[1]);
  width = 1.0 / intervals;

  sum = 0;
  for (i=IPROC; i<intervals; i+=NPROC) {
    register double x = (i + 0.5) * width;
    sum += 4.0 / (1.0 + x * x);
  }

  sum = p_reduceAdd64f(sum) * width;

  if (IPROC == CPROC) {
    printf("Estimation of pi is %f\n", sum);
  }

  p_exit();
  return(0);
}

3.7 ´Ù¸¥ Ŭ·¯½ºÅÍ Áö¿ø ¶óÀ̺귯¸®µé

PVM, MPI, ±×¸®°í AFAPI¿¡ µ¡ºÙ¿© ´ÙÀ½ ¶óÀ̺귯¸®µéÀº ¸®´ª½º Ŭ·¯½ºÅ͸¦ »ç¿ëÇؼ­ º´·Ä ÄÄÇ»ÆÃÇÏ´Â µ¥ À¯¿ëÇÒ ±â´ÉµéÀ» Á¦°øÇÑ´Ù. ÀÌ·± ½Ã½ºÅÛµéÀº ÀÌ ¹®¼­¿¡¼­ Á» ´õ °¡º­¿î Ãë±ÞÀ» ¹Þ¾Ò´Ù. ¿Ö³Ä¸é PVM, MPI, ±×¸®°í AFAPI¿Í ´Ù¸£°Ô ³ª´Â ¸®´ª½º Ŭ·¯½ºÅÍ¿¡ ÀÌ·± ½Ã½ºÅÛµéÀ» Á÷Á¢ »ç¿ëÇÒ ±âȸ°¡ ÀüÇô ¶Ç´Â °ÅÀÇ ¾ø¾ú±â ¶§¹®ÀÌ´Ù.ÀÌ·± °ÍµéÀ̳ª ´Ù¸¥ ¶óÀ̺귯¸®µé Áß ¾î¶² °ÍÀÌ¶óµµ Æ¯º°È÷ À¯¿ëÇÏ´Ù°í »ý°¢µÇ¸é ¿©·¯ºÐÀÌ Ã£Àº °ÍÀ» ¼³¸íÇÑ À̸ÞÀÏÀ» pplinux@ecn.purdue.edu·Î º¸³»Áֱ⠹ٶõ´Ù. ±×·¯¸é ³ª´Â ±× ¶óÀ̺귯¸®¸¦ È®Àå ¼½¼Ç¿¡ ´õÇÏ´Â °ÍÀ» °í·ÁÇÏ°Ú´Ù.

Condor (ÇÁ·Î¼¼½º ÀÌÁÖ Áö¿ø, process migration support)

Condor´Â ¿öÅ©½ºÅ×À̼ǵéÀÇ Ä¿´Ù¶õ À̱âÁ¾ Ŭ·¯½ºÅ͸¦ °ü¸®ÇÒ ¼ö ÀÖ´Â ºÐ»ê ÀÚ¿ø °ü¸® ½Ã½ºÅÛÀÌ´Ù. ÀÌ°ÍÀÇ ¼³°è µ¿±â´Â Ŭ·¯½ºÅÍÀÇ È°¿ëµÇÁö ¾Ê´Â ¿ª·®À» ¿À·¡-½ÇÇàµÇ°í °è»êÀÌ ¸¹Àº Àϵ鿡 ´ëÇؼ­ »ç¿ëÇÏ°íÀÚ ÇÏ´Â »ç¶÷µéÀÇ ¿ä±¸¿¡ ÀÇÇؼ­ÀÌ´Ù. Condor´Â ½Ã°¢ ¹× ½ÇÇà ±â°èµéÀÌ °øÅë ÆÄÀÏ ½Ã½ºÅÛÀ» °øÀ¯ÇÏÁö ¾Ê°í/°Å³ª Æнº¿öµå ¸ÞÄ«´ÏÁòÀ» °øÀ¯ÇÏÁö ¾ÊÀ»Áö¶óµµ, ½ÇÇà ±â°è¿¡ Ä¿´Ù¶õ ½ÃÀÛ ±â°èÀÇ È¯°æÀ» À¯ÁöÇÑ´Ù. ´ÜÀÏ ÇÁ·Î¼¼½º¸¦ À¯ÁöÇÏ´Â Condor ÀÛ¾÷µéÀº À̺¥Æ® ¿Ï·á¸¦ È®ÀÎÇÏ´Â µ¥ ÇÊ¿äÇϱ⠶§¹®¿¡ ÀÚµ¿À¸·Î checkpointµÇ°í ¿öÅ©½ºÅ×ÀÌ¼Çµé »çÀÌ¿¡¼­ ÀÌÁֵȴÙ.

Condor´Â http://www.cs.wisc.edu/condor/ ¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. ¸®´ª½º Æ÷ÆÃµÈ ¹öÀüÀÌ Á¸ÀçÇÑ´Ù; ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº http://www.cs.wisc.edu/condor/linux/linux.htmlÀ» ã¾Æ º¼ ¼ö ÀÖ´Ù. ÀÚ¼¼ÇÑ °ÍÀº condoradmin@cs.wisc.eduÀ» ¸¸³ªº¸¶ó.

DFN-RPC (German Research Network - Remote Procedure Call)

DFN-RPC(µ¶ÀÏ ¿¬±¸ ³×Æ®¿÷ RPC) ÅøÀº ¿öÅ©½ºÅ×À̼ǰú °è»ê ¼­¹ö³ª Ŭ·¯½ºÅÍ °£¿¡ °úÇÐ-±â¼úÀûÀÎ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥µéÀ» ºÐ»êÇÏ°í º´·ÄÈ­(parallelize)Çϱâ À§Çؼ­ °³¹ßµÇ¾ú´Ù. ÀÌ ÀÎÅÍÆäÀ̽º´Â Æ÷Æ®¶õÀ¸·Î ÀÛ¼ºµÈ ¾îÇø®ÄÉÀ̼ǿ¡ ÃÖÀûÈ­µÇ¾î ÀÕÁö¸¸ DFN-RPC´Â ¶ÇÇÑ C ȯ°æ¿¡¼­µµ »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¸®´ª½º·Î Æ÷ÆõǾú´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â ftp://ftp.uni-stuttgart.de/pub/rus/dfn_rpc/README_dfnrpc.html¿¡ ÀÖ´Ù.

DQS (ºÐ»ê Å¥À× ½Ã½ºÅÛ, Distributed Queueing System)

Á¤È®ÇÏ°Ô ¸»Çؼ­ ¶óÀ̺귯¸®´Â ¾Æ´ÏÁö¸¸ DQS 3.0 (ºÐ»ê Å¥À× ½Ã½ºÅÛ)Àº ¸®´ª½º¿¡¼­ °³¹ßµÇ°í Å×½ºÆ®µÈ ÀÛ¾÷ Å¥À× ½Ã½ºÅÛÀÌ´Ù. ÀÌ°ÍÀº À̱âÁ¾ Ŭ·¯½ºÅ͸¦ ÇϳªÀÇ ¿£ÅÍƼ·Î½á »ç¿ëÇÏ°í °ü¸®ÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÇ¾ú´Ù. ÀÌ°ÍÀº http://www.scri.fsu.edu/~pasko/dqs.html¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù.

CODINE 4.1.1(ºÐ»ê ³×Æ®¿÷ ȯ°æ¿¡¼­ÀÇ °è»ê, COmputing in DIstributed Network Environments)¶ó°í ºÒ¸®´Â »ó¾÷¿ë ¹öÀüµµ ¶ÇÇÑ Á¸ÀçÇÑ´Ù. ÀÌ°ÍÀÇ Á¤º¸´Â http://www.genias.de/genias_welcome.html¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.

3.8 ÀÏ¹Ý Å¬·¯½ºÅÍ Âü°íÀÚ·á

Ŭ·¯½ºÅ͵éÀº ¾ÆÁÖ ¸¹Àº ¹æ½ÄÀ¸·Î ±¸ÃàµÇ°í »ç¿ëµÉ ¼ö Àֱ⠶§¹®¿¡ Èï¹Ì·Î¿î °øÇåÀ» ÇÑ ±×·ìµéÀÌ ²Ï ÀÖ´Ù. ´ÙÀ½Àº ÀϹÝÀûÀÎ °ü½É°Å¸®°¡ µÉ ¼ö ÀÖ´Â ´Ù¾çÇÑ Å¬·¯½ºÅÍ-°ü·Ã ÇÁ·ÎÁ§Æ®µé¿¡ ´ëÇÑ ·¹ÆÛ·±½ºÀÌ´Ù. ÀÌ°ÍÀº ¸®´ª½º¿¡ ÇÑÁ¤µÈ °Í°ú ±×·¸Áö ¾ÊÀº ÀϹÝÀûÀΠŬ·¯½ºÅÍ ·¹ÆÛ·±½ºµéÀ» ´ã°í ÀÖ´Ù. ÀÌ ¸®½ºÆ®´Â ¾ËÆĺª ¼ø¼­·Î ³ª¿Í ÀÖ´Ù.

Beowulf

Beowulf ÇÁ·ÎÁ§Æ®´Â, http://cesdis1.gsfc.nasa.gov/beowulf/, »óÇ° ÇǾ¾-Ŭ·¡½º Çϵå¿þ¾î, °í-´ë¿ªÆø Ŭ·¯½ºÅÍ-ÀÎÅͳΠ³×Æ®¿÷, ±×¸®°í ¸®´ª½º ¿î¿µ üÁ¦¸¦ ±â¹ÝÀ¸·Î ÇÑ ±Ô°ÝÇ° ¿öÅ©½ºÅ×ÀÌ¼Ç Å¬·¯½ºÅ͸¦ »ç¿ëÇϱâ À§ÇÑ ¼ÒÇÁÆ®¿þ¾î Á¦ÀÛ¿¡ ÁýÁßÇÏ°í ÀÖ´Ù.

Thomas Sterling°¡ Beowulf µÚÀÇ ÃßÁø·ÂÀ̾úÀ¸¸ç °è¼ÓÇؼ­ ÀϹÝÀûÀÎ °úÇÐ ÄÄÇ»ÆÃÀ» À§ÇÑ ¸®´ª½º Ŭ·¯½ºÅ͸µÀÇ ¿õº¯ÀûÀÌ°í ¼ÖÁ÷ÇÑ Á¦¾ÈÀÚÀ̾ú´Ù. »ç½Ç, ¸¹Àº ±×·ìµéÀÇ Áö±Ý ±×µéÀÇ Å¬·¯½ºÅ͸¦ "Beowulf class" ½Ã½ºÅÛµéÀ̶ó°í ºÎ¸¥´Ù - ½ÉÁö¾î ±× Ŭ·¯½ºÅÍ°¡ ½ÇÁ¦ °ø½ÄÀûÀÎ Beowulf ¼³°è¿¡ ÀüÇô ºñ½ÁÇÏÁö ¾Ê´õ¶óµµ ¸»ÀÌ´Ù.

Beowulf ÇÁ·ÎÁ§Æ®¸¦ Áö¿øÇÏ´Â ÀÏÀ» ÇÏ´Â Don Becker´Â ¸®´ª½º¿¡ ÀÇÇؼ­ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¸¹Àº ³×Æ®¿÷ µå¶óÀ̹öµéÀ» ¸¸µé¾ú´Ù. À̵é Áß ¸¹Àº °ÍµéÀÌ BSD¿¡¼­ »ç¿ëµÇµµ·Ï Àû¿ëµÇ¾î ¿Ô´Ù. DonÀº ¶ÇÇÑ ºñ½Ñ ½ºÀ§Ä¡ Çãºê¾øÀÌ ´õ ³ôÀº ´ë¿ªÆøÀ» ȹµæÇϵµ·Ï ´Ù¼öÀÇ º´·Ä Ä¿³Ø¼ÇµéÀ» ÅëÇؼ­ ·Îµå-ºÐ¹è¸¦ Çã¿ëÇÏ´Â ¸¹Àº ¸®´ª½º ³×Æ®¿÷ µå¶óÀ̹öµé¿¡ ´ëÇؼ­µµ Ã¥ÀÓÀ» Áö°í ÀÖ´Ù. ÀÌ·± ·Îµå-ºÐ¹è(load-sharing) ŸÀÔÀº Beowulf Ŭ·¯½ºÅÍ°¡ ¿øÁ¶ÀÎ ´Ù¸¥ °Í°ú ±¸º°µÈ´Â ±â´ÉÀ̾ú´Ù.

Linux/AP+

Linux/AP+ ÇÁ·ÎÁ§Æ®, http://cap.anu.edu.au/cap/projects/linux/´Â Á¤È®ÇÏ°Ô ¸®´ª½º Ŭ·¯½ºÅ͸µ¿¡ ´ëÇÑ °ÍÀÌ ¾Æ´Ï°í ¸®´ª½º¸¦ Fujitsu AP1000+À¸·Î Æ÷ÆÃÇÏ´Â °Í°ú ÀûÀýÇÑ º´·Ä ó¸® ÁõÁøÀ» ´õÇÏ´Â °Í¿¡ ÃÐÁ¡À» ¸ÂÃá °ÍÀÌ´Ù. AP1000+´Â ȯÇü ÅäÆú·ÎÁö, 25 MB/s ´ë¿ªÆø, ±×¸®°í 10 ¸¶ÀÌÅ©·Î ÃÊ Áöü ½Ã°£ ... À» °¡Áø Ä¿½ºÅÒ ³×Æ®¿÷À» »ç¿ëÇÏ´Â »ó¿ë SPARC-±â¹Ý º´·Ä ±â°èÀÌ´Ù. ´Ü¼øÇÏ°Ô ¸»Çؼ­ ÀÌ°ÍÀº SPARC ¸®´ª½º Ŭ·¯½ºÅä¿Í ¾ÆÁÖ À¯»çÇÏ´Ù.

Locust

·ÎÄ¿½ºÆ®(Locust) ÇÁ·ÎÁ§Æ®, http://www.ecsl.cs.sunysb.edu/~manish/locust/´Â ¸Þ½ÃÁö-Áöü½Ã°£À» ¼û±â±â À§Çؼ­ ±×¸®°í ½Ç½Ã°£À¸·Î ³×Æ®¿÷ Æ®·¡ÇÈÀ» ÁÙÀ̱â À§Çؼ­ ÄÄÆÄÀÏ-½Ã°£ Á¤º¸¸¦ »ç¿ëÇÏ´Â ºÐ»ê °¡»ó °øÀ¯ ¸Þ¸ð¸® ½Ã½ºÅÛÀ» ±¸ÃàÇÏ°í ÀÖ´Ù. Pupa´Â ·ÎÄ¿½ºÆ®ÀÇ ±â¹Ý Åë½Å ¼­ºê½Ã½ºÅÛÀÌ°í FreeBSDÀÇ 486 ÇǾ¾µéÀ» ¿¬°áÇϱâ À§Çؼ­ ÀÌ´õ³ÝÀ» »ç¿ëÇÏ¿© ±¸ÇöµÇ¾ú´Ù. ¸®´ª½ºÀΰ¡?

Midway DSM (Distributed Shared Memory)

Midway, http://www.cs.cmu.edu/afs/cs.cmu.edu/project/midway/WWW/HomePage.html´Â TreadMarks¿Í ´Ù¸£Áö ¾Ê´Â, ¼ÒÇÁÆ®¿þ¾î-±â¹Ý DSM(ºÐ»ê °øÀ¯ ¸Þ¸ð¸®) ½Ã½ºÅÛÀÌ´Ù. ÀÌ°ÍÀº »ó´ëÀûÀ¸·Î ´À¸° ÆäÀÌÁö-ÆúÆ® ¸ÞÄ«´ÏÁòµéº¸´Ù´Â ÄÄÆÄÀÏ-½Ã°£ µµ¿ò(aids)À» »ç¿ëÇÏ°í °øÂ¥¶ó´Â °ÍÀÌ Èñ¼Ò½ÄÀÌ´Ù. ³ª»Û ¼Ò½ÄÀº ÀÌ°ÍÀÌ ¸®´ª½º Ŭ·¯½ºÅ͵é À§¿¡¼­ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù.

Mosix

MOSIZ´Â BSDI BSD/OS¸¦ º¯Á¶Çؼ­ ÇǾ¾µéÀ» ³×Æ®¿÷À¸·Î ¹­Àº ±×·ì À§¿¡¼­ µ¿Àû ·Îµå ¹ë·±½Ì°ú ¼±Á¡(preemptive) ÇÁ·Î¼¼½º ÀÌÁÖ¸¦ Á¦°øÇϵµ·Ï ÇÑ °ÍÀÌ´Ù. ÀÌ°ÍÀº º´·Ä 󸮿¡ ´ëÇؼ­»Ó¸¸ÀÌ ¾Æ´Ï°í Á¶Àý °¡´ÉÇÑ(scalable) SMP¿Í ¾ÆÁÖ À¯»çÇÑ Å¬·¯½ºÅ͸¦ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â µ¥¿¡µµ ÁÁÀº °ÍÀÌ´Ù. ¸®´ª½º ¹öÀüÀÌ ÀÖÀ»±î? Á» ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â http://www.cs.huji.ac.il/mosix/¸¦ ÂüÁ¶ÇÏÀÚ.

NOW (Network Of Workstations)

¹öŬ¸® NOW (³×Æ®¿÷À¸·Î ¹­Àº ¿öÅ©½ºÅ×À̼ǵé, Network Of Workstations) ÇÁ·ÎÁ§Æ®, http://now.cs.berkeley.edu/´Â ³×Æ®¿÷À¸·Î ¹­Àº ¿öÅ©½ºÅ×À̼ǵéÀ» »ç¿ëÇؼ­ º´·Ä ÄÄÇ»ÆÃÀ» Çϵµ·Ï ¸¹Àº ¾Ð·ÂÀ» Çà»çÇØ¿Ô´Ù. ÇöÀç ¸¹Àº ÀÛ¾÷µéÀÌ, ¸ðµÎ "´ÙÀ½ ¸î³â ¾È¿¡ ½ÇÁúÀûÀÎ 100°³ÀÇ ÇÁ·Î¼¼¼­ ½Ã½ºÅÛÀ» µ¥¸ðÇÏ´Â °Í"À» ÇâÇؼ­, ÀÌ·ç¾îÁö°í ÀÖ´Ù. ¾Æ»Ô»ç, À̵éÀº ¸®´ª½º¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.

¸®´ª½º¸¦ »ç¿ëÇÏ´Â º´·Ä ó¸®(Parallel Processing Using Linux)

¸®´ª½º¸¦ »ç¿ëÇÑ º´·Ä ó¸® WWW »çÀÌÆ®, http://yara.ecn.purdue.edu/~pplinux/, ´Â ÀÌ HOWTOÀÇ È¨ ÆäÀÌÁöÀ̸ç ÇÏ·çÂ¥¸® Æ©Å͸®¾óÀ» ³ë¸° ¿Â¶óÀÎ ½½¶óÀ̵éÀ» Æ÷ÇÔÇÑ ¸¹Àº °ü·ÃµÈ ¹®¼­µéÀÌ ÀÖ´Â °÷ÀÌ´Ù. PAPERS ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ ÀÛ¾÷À» Á¦¿ÜÇÏ°íµµ ÆÛµà ´ëÇб³ ÀüÀÚ ¹× ÄÄÇ»ÅÍ °øÇÐ Çб³´Â ÀϹÝÀûÀ¸·Î º´·Ä ó¸®ÀÇ ¸®´õ·Î ±º¸²ÇØ¿Ô´Ù; ÀÌ »çÀÌÆ®´Â ´Ù¸¥ »ç¶÷µéÀÌ ¸®´ª½º ÇǾ¾µéÀ» º´·Ä 󸮿¡ Àû¿ëÇÏ´Â °ÍÀ» µ½±â À§Çؼ­ ¼³¸³µÇ¾ú´Ù.

ÆÛµàÀÇ Ã¹¹ø° ¸®´ª½º ÇǾ¾ Ŭ·¯½ºÅÍ°¡ 1994³â 2¿ù¿¡ Á¶¸³µÈ ÀÌ·¡·Î ºñµð¿À º®(video wall)À» Æ÷ÇÔÇÑ, ¼ö¸¹Àº ¸®´ª½º ÇǾ¾ Ŭ·¯½ºÅ͵éÀÌ Æ۵࿡¼­ Á¶¸³µÇ¾î¿Ô´Ù. ºñ·Ï ÀÌ·± Ŭ·¯½ºÅ͵éÀÌ 386, 486, ±×¸®°í Pentium ½Ã½ºÅÛµé(Pentium Pro ½Ã½ºÅÛÀº ¾ø´Ù)À» »ç¿ëÇßÁö¸¸ ¿ä±Ù·¡ ÀÎÅÚÀÌ Pentium II ½Ã½ºÅÛµé·Î µÈ ´Ù¼öÀÇ Ä¿´Ù¶õ Ŭ·¯½ºÅ͵éÀ» ¸¸µé ¼ö ÀÖµµ·Ï ÆÛµà ´ëÇб³¿¡ ±âºÎ¸¦ Çß´Ù. ÀÌ·± Ŭ·¯½ºÅ͵éÀÌ ¸ðµÎ PAPERS ³×Æ®¿÷À» °¡Áö°í °¡Áú °ÍÀÌÁö¸¸ ´ëºÎºÐÀÇ °ÍµéÀÌ ¶ÇÇÑ ÀüÅëÀûÀÎ ³×Æ®¿÷À» °¡Áø´Ù.

ÆæƼ¾ö ÇÁ·Î Ŭ·¯½ºÅÍ ¿öÅ©¼¥(Pentium Pro Cluster Workshop)

¾ÆÀÌ¿À¿Í(Iowa) ÁÖ µ¥¸ðÀÎ(Des Moines)¿¡¼­ 1997³â 4¿ù 10-11¿¡ AMES ·¦Àº ÆæƼ¾ö ÇÁ·Î Ŭ·¯½ºÅÍ ¿öÅ©¼¥À» ¿­¾ú´Ù. ÀÌ ¿öÅ©¼¥ÀÇ WWW »çÀÌÆ®, http://www.scl.ameslab.gov/workshops/PPCworkshop.html, ´Â ¸ðµç Âü°¡ÀÚµé·ÎºÎÅÍ ¼öÁýµÈ dzºÎÇÑ ÇǾ¾ Ŭ·¯½ºÅÍ Á¤º¸µéÀ» °®°í ÀÖ´Ù.

TreadMarks DSM (Distributed Shared Memory)

DSM (ºÐ»ê °øÀ¯ ¸Þ¸ð¸®, Distributed Shared Memory)´Â ÀÌ°Í¿¡ ÀÇÇؼ­ ¸Þ½ÃÁö-Àü´Þ ½Ã½ºÅÛÀÌ SMPó·³ ÇൿÇÏ´Â °Í°°ÀÌ º¸ÀÏ ¼ö ÀÖ´Â, ±â¼úÀÌ´Ù. ¸î°¡Áö ±×·± ½Ã½ºÅÛµéÀÌ Á¸ÀçÇÏ°í À̵é Áß ´ëºÎºÐÀº ¸Þ½ÃÁö Àü¼ÛÀ» Æ®¸®°Å(Ã˹ß)Çϱâ À§Çؼ­ OS ÆäÀÌÁö-¿À·ù ¸ÞÄ«´ÏÁòÀ» »ç¿ëÇÑ´Ù. TreadMarks, http://www.cs.rice.edu/~willy/TreadMarks/overview.html´Â ÀÌ·± ½Ã½ºÅÛµé Áß Á» ´õ È¿À²ÀûÀÎ °ÍÀÌ¸ç ¸®´ª½º Ŭ·¯½ºÅÍ À§¿¡¼­ ½ÇÇàµÈ´Ù. ½½Ç ¼Ò½ÄÀº "TreadMarks°¡ ´ëÇб³µéÀ̳ª ºñ¿µ¸® ±â°üµé¿¡ Àúºñ¿ëÀ¸·Î ¹èÆ÷µÇ°í ÀÖ´Ù´Â °ÍÀÌ´Ù". ÀÌ ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ Á» ´õ ¸¹Àº Á¤º¸¸¦ ¿øÇÑ´Ù¸é treadmarks@ece.rice.edu°ú Á¢ÃËÇغ¸±â ¹Ù¶õ´Ù.

U-Net (User-level NETwork interface architecture)

ÄÚ³Ú ´ëÇб³ÀÇ U-Net (User-level NETwork interface architecture) ÇÁ·ÎÁ§Æ®, http://www2.cs.cornell.edu/U-Net/Default.html´Â ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¸¦ °¡»óÈ­Çؼ­(virtualize) ¾îÇø®ÄÉÀ̼ǵéÀÌ ¸Þ½ÃÁöµéÀ» ¿î¿µÃ¼Á¦ÀÇ °£¼·¾øÀÌ Àü¼ÛÇϰųª ¼ö½ÅÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â, »óÇ° ³×Æ®¿÷ Çϵå¿þ¾î¸¦ »ç¿ëÇÑ ³·Àº Áöü ½Ã°£°ú ³ôÀº ´ë¿ªÆøÀ» Á¦°øÇÏ´Â ½Ãµµ¸¦ ÇÏ°í ÀÖ´Ù. U-NetÀº Fast ÀÌ´õ³Ý¿¡ ±â¹ÝÇÑ DECchip DC21140 ¸¦ »ç¿ëÇϰųª Fore Systems PCA-200(PCA-200E°¡ ¾Æ´Ô) ATM Ä«¸¦ »ç¿ëÇÏ´Â ¸®´ª½º ÇǾ¾µé À§¿¡¼­ ÀÛµ¿ÇÑ´Ù.

WWT (Wisconsin Wind Tunnel)

À§½ºÄܽſ¡´Â »ó´çÈ÷ ¸¹Àº Ŭ·¯½ºÅÍ-°ü·Ã ÀÛ¾÷µéÀÌ ÀÌ·ç¾îÁö°í ÀÖ´Ù. WWT (Wisconsin Wind Tunnel) ÇÁ·ÎÁ§Æ®, http://www.cs.wisc.edu/~wwt/´Â ÄÄÆÄÀÏ·¯µé°ú ±â¹Ý Æз¯·² Çϵå¿þ¾î »çÀÌÀÇ "Ç¥ÁØ" ÀÎÅÍÆäÀ̽º¸¦ °³¹ßÇÏ´Â ÂÊÀÇ ¸ðµç Á¾·ùÀÇ ÀϵéÀ» ¼öÇàÇÏ°í ÀÖ´Ù. Wisconsin COW (Cluster Of Workstations), Cooperative Shared Memory and Tempest, Paradyn Parallel Performance Tools µîÀÌ ÀÖ´Ù. ºÒÇàÇÏ°Ôµµ ¸®´ª½º¿¡ °üÇÑ ÀϵéÀº º°·Î ¾ø´Ù.


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