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

4. ½Ã½ºÅÛ µðÀÚÀÎ

Çϵå¿þ¾î¸¦ ±¸ÀÔÇϱâ Àü¿¡ ½Ã½ºÅÛÀÇ µðÀÚÀÎÀ» °í·ÁÇغ¸´Â °ÍÀÌ ÁÁ´Ù. º£¿À¿ïÇÁ ½Ã½ºÅÛÀÇ µðÀÚÀÎÀ» Çϱâ À§ÇÑ ±âº»ÀûÀÎ 2°¡Áö Çϵå¿þ¾î ¹®Á¦Á¡·Î´Â: ´ç½ÅÀÌ »ç¿ëÇÒ ³ëµå³ª ÄÄÇ»ÅÍÀÇ Á¾·ù; ÄÄÇ»ÅÍ ³ëµåµéÀ» ¿¬°áÇϱâÀ§ÇÑ ¹æ¹ý. Çϵå¿þ¾î¸¦ °áÁ¤Çϴµ¥ À־ ¿µÇâÀ» ¹ÌÄ¡´Â ¼ÒÇÁÆ®¿þ¾î ¹®Á¦Á¡ÀÌ Åë½Å ¶óÀ̺귯¸®³ª API ÀÌ´Ù. ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ »çÇ×Àº ÀÌ ¹®¼­ ÈĹݺο¡¼­ ´Ù·ç±â·Î ÇÏ°Ú´Ù. ¼±ÅÃÀÇ ÆøÀÌ ±×·¸°Ô ³ÐÁö´Â ¾ÊÀº ¹Ý¸é¿¡, º£¿À¿ïÇÁ ½Ã½ºÅÛÀ» ±¸¼ºÇÒ¶§ ¸î °³ÀÇ Áß¿äÇÑ µðÀÚÀÎ °áÁ¤ÀÌ ÀÖ´Ù. º´·Ä °è»êÀÇ °úÇÐ(¶Ç´Â ¿¹¼ú)Àº ¸¹Àº ´Ù¸¥ Çؼ®ÀÌ ÀÖÀ» ¼ö Àֱ⶧¹®¿¡, °³¿ä´Â ´ÙÀ½¿¡ Á¦°øÇÏ°Ú´Ù.(?) ¹è°æÀÌ µÇ´Â ¿ä¼Ò¸¦ ÀÐ°í ½ÍÁö ¾ÊÀ¸¸é, ÀÌ ÀýÀ» ¶Ù¾î ³Ñ¾îµµ ÁÁÁö¸¸, ¸¶Áö¸· Çϵå¿þ¾î °áÁ¤À» Çϱâ Àü¿¡ "ÀûÇÕ¼º"À̶ó´Â ÀýÀ» Àд °ÍÀ» ±ÇÇÏ´Â ¹ÙÀÌ´Ù.

4.1 º´·Ä °è»ê¿¡À־ ¹è°æ ¿ä¾à.

ÀÌ ÀýÀº º´·Ä °è»ê °³³ä¿¡ ´ëÇÑ ¹è°æÁö½ÄÀ» Á¦°øÇÒ °ÍÀÌ´Ù. º´·Ä °è»ê °úÇаú ±â¼úÀ» ¿Ïº®È÷ ´Ù·çÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. º£¿À¿ïÇÁ µðÀÚÀÌ³Ê¿Í »ç¿ëÀÚ¿¡°Ô Áß¿äÇÑ ¹®Á¦Á¡¿¡ ´ëÇÑ °£¶ôÇÑ ±â¼úÀ» ÇÒ °ÍÀÌ´Ù. ´ç½ÅÀÇ º£¿À¿ïÇÁ¸¦ µðÀÚÀÎÇÏ°í ±¸¼ºÇÔ¿¡ À־, ´ç½ÅÀÇ °áÁ¤°úÁ¤¿¡ À־ ´ÙÀ½¿¡ ±â¼úµÉ ¸¹Àº ¹®Á¦Á¡ÀÌ Áß¿ä ÇÏ°Ô µÇ°Ô µÉ °ÍÀÌ´Ù. º£¿À¿ïÇÁ ±¸¼º¿ä¼ÒÀÇ Æ¯¼ºÀ¸·Î ÀÎÇؼ­ º£¿À¿ïÇÁ ½´ÆÛÄÄÇ»ÅÍ´Â ¸¹Àº ÀÎÀÚµéÀÌ »ç¿ëÀÚÀÇ Á¦¾îÇÏ¿¡ Àֱ⠶§¹®¿¡ Á¶½É½º·´°Ô °í·ÁÇÏ´Â °ÍÀ» ¿ä±¸ÇÑ´Ù. ÀϹÝÀûÀ¸·Î, º´·Ä °è»ê°ú °ü·ÃµÈ ¹®Á¦Á¡µéÀ» ÀÌÇØÇϱ⠾î·Á¿î °Í¸¸Àº ¾Æ´Ï´Ù. »ç½Ç, ¹®Á¦Á¡À» ÀÌÇØÇϱ⸸ Çϸé, ´ç½ÅÀÇ ±â´ë´Â ´õ¿í Çö½ÇÀûÀÌ°Ô µÇ°í ¼º°øÀº ´õ¿í Çö½Ç°ú °¡±î¿öÁö°Ô µÉ °ÍÀÌ´Ù. °¡Àå Áß¿äÇÑ ÀÎÀÚÀÎ ÇÁ·Î¼¼¼­ ¼Óµµ´Â "¼øÂ÷ ¼¼°è"¿Í´Â ´Þ¶ó¼­, "º´·Ä ¼¼°è"¿¡¼­ ÇÁ·Î¼¼¼­ ¼Óµµ´Â Àüü ½Ã½ºÅÛ ¼º´É°ú È¿À²¸¦ °áÁ¤ÇÏ´Â ¸î°¡Áö ÀÎÀÚÁß¿¡ ÇϳªÀÌ´Ù.

4.2 º´·Ä °è»ê ¹æ¹ý

º´·Ä °è»êÀº ¸¹Àº ÇüŸ¦ °¡Áö°í ÀÖ´Ù. »ç¿ëÀÚ °üÁ¡¿¡¼­ °¢°¢ÀÇ ¹æ¹ý·ÐÀÇ ÀåÁ¡°ú ´ÜÁ¡¸¦ °í·ÁÇغ¸´Â °ÍÀÌ Áß¿äÇÏ´Ù. ´ÙÀ½ ÀýÀº º´·Ä °è»êÀÇ ¹æ¹ý»óÀÇ ¸î°¡Áö °üÁ¡À» Á¦°øÇÏ°í, ¸Ó½ÅÀÌ ÀÏ·ÃÀÇ °úÁ¤Áß¿¡ ¾î´À °÷ÀÇ º£¿À¿ïÇÁ ¸Ó½ÅÀÌ ½ÇÆÐÇÏ¿´´ÂÁö¸¦ °¡¸£Ä¡·Á°í ÇÑ´Ù.

¿Ö ÇÑ °³ ÀÌ»óÀÇ CPU°¡ ÇÊ¿äÇÑ°¡?

ÀÌ Áú¹®ÀÇ ´ë´äÀº Áß¿äÇÏ´Ù. 8°³ÀÇ CPU¸¦ °¡Áö°í ¿öµåÇÁ·Î¼¼¼­¸¦ ½ÇÇàÇÑ´Ù°í Çϸé "over-kill"ó·³ µé¸®°í, ¶ÇÇÑ ±×·¸´Ù. À¥ ¼­¹ö, µ¥ÀÌÅͺ£À̽º, ·£´õ¸µ ÇÁ·Î±×·¥, ¶Ç´Â ÇÁ·ÎÁ§Æ® ÀÏÁ¤Ç¥¿¡ ´ëÇؼ­´Â ¾î¶°ÇÑ°¡? ¿©ºÐÀÇ CPU°¡ ÀÖ´Ù¸é µµ¿òÀÌ µÉ °ÍÀÌ´Ù. º¹ÀâÇÑ ½Ã¹Ä·¹À̼Ç, À¯Ã¼¿ªÇÐ ÄÚµå, ¶Ç´Â µ¥ÀÌŸ ¸¶ÀÌ´× Ç®±×¸²Àº ¾î¶°ÇÑ°¡? ÀÌ·± »óȲ¿¡¼­´Â ¿©ºÐÀÇ CPU´Â ÂðÂ¥·ç µµ¿òÀÌ µÈ´Ù. »ç½Ç, ´ÙÁß CPUÀº ´õ¿í´õ ¸¹Àº ¹®Á¦µéÀ» Ç®±âÀ§ÇØ »ç¿ëµÇÁö°ï ÇÑ´Ù: º¸Åë ´ÙÀ½ Áú¹® À¸·Î: "¿Ö µÎ °³ ¶Ç´Â ³× °³ÀÇ CPU°¡ ÇÊ¿äÇÑ°¡, ³ª´Â 986 Åͺ¸-ÇÏÀÌÆÛ Ä¨ÀÌ ³ª¿À±â¸¦ ±â´Ù¸®·Á°í ÇÑ´Ù." ÀÌ·¯ÇÑ ÀÌÀ¯·Î´Â:

  1. ¸ÖƼ Å×½ºÅ· ¿î¿µ üÁ¦ÀÇ »ç¿ëÀ¸·Î, ¸î°¡ÁöÀÇ °ÍµéÀ» ÇÑ ¹ø¿¡ ½ÇÇà ÇÒ ¼ö ÀÖ´Ù. Çϳª ÀÌ»óÀÇ Àú·ÅÇÑ CPU¸¦ °¡Áö°í ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â °íÀ¯ÀÇ "º´·Ä¼º"À» ¸»ÇÑ´Ù.
  2. ÇÁ·Î¼¼¼­ ¼Óµµ´Â ¸Å 18 °³¿ù ¸¶´Ù µÎ ¹è·Î Çâ»óµÇ¾î ¿Ô´Ù. ±×·¯³ª, ¸Þ¸ð¸® ¼Óµµ³ª ÇÏµå µð½ºÅ© ¼Óµµ´Â ¾î¶°ÇÑ°¡? ºÒÇàÇÏ°Ôµµ ÀÌ·± ¼Óµµ´Â CPU ¼Óµµ ¸¸Å­À̳ª ºü¸£°Ô Áõ°¡È÷Áö ¸øÇß´Ù. ÁÖ¸ñ ÇÒ °ÍÀº ¸ðµç Ç®±×¸²Àº "out of cache memory access"¿Í ÇÏµå µð½ºÅ© ¿¢¼¼½º¸¦ ¿ä±¸ÇÑ´Ù´Â °ÍÀÌ´Ù. º´Çà¿¡ À־ ÀÌ·± °ÍÀ» Çϱâ À§Çؼ­´Â ¸î°¡Áö Á¦ÇÑÁ¡À» ȸÇÇÇÏ´Â ¹æ¹ýÀ» »ç¿ë ÇØ¾ß ÇÑ´Ù.
  3. ¿¹»óÇϱ⸦ ÇÁ·Î¼¼½º ¼Óµµ´Â 2005³â ÀÌÈķδ 18°³¿ù ¸¶´Ù 2¹è·Î Áõ°¡ ÇÏÁö ¸øÇÒ °ÍÀ̶ó°í ÃßÃøÇÑ´Ù. ÀÌ·± °æÇâÀ» ±Øº¹ÇϱâÀ§Çؼ­´Â ¸Å¿ì ½É°¢ÇÑ Àå¾Ö¹°µéÀÌ ³õ¿©ÀÖ´Ù.
  4. Ç®±×¸²¿¡ µû¶ó¼­, º´·Ä °è»êÀº 2¿¡¼­ 500¹èÁ¤µµ±îÁö ´õ ºü¸£°Ô ¼Óµµ¸¦ Çâ»ó ½Ãų ¼ö ÀÖ´Ù( ¸î¸îÀÇ °æ¿ì ´õ ºü¸£´Ù). ÀÌ¿Í °°Àº ¼º´ÉÀº ´ÜÀÏ ÇÁ·Î¼¼¼­¸¦ »ç¿ëÇÏ´Â °÷¿¡¼­´Â ºÒ°¡´ÉÇÏ´Ù. ½´ÆÛÄÄÇ»ÅÍ Á¶Â÷µµ ¸Å¿ì ºü¸¥ ÁÖ¹®Çü ÇÁ·Î¼¼½ºÀ» »ç¿ëÇÏ´Â °Í¿¡¼­ ´ÙÁß "commodity-off-the-shelf" CPU¸¦ °¡Áö°í ¸¸µé°í ÀÖ´Ù.
°è»ê ÇÑ°è ¹®Á¦Á¡ ¶§¹®À̳ª I/O ÇÑ°è ¹®Á¦Á¡À¸·Î ÀÎÇؼ­ ¼Óµµ¸¦ ¿äÇÑ´Ù¸é, º´·ÄÀ» »ý°¢Çغ¸´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. º´·Ä °è»êÀÌ ´Ù´çÇÑ ¹æ¹ýÀ¸·Î ±¸ÇöÀÌ °¡´ÉÇϱ⠶§¹®¿¡ º´·Ä·Î ¹®Á¦¸¦ ÇØ°áÇÏ´Â °ÍÀº ¸Å¿ì Áß¿äÇÑ °á½ÉÀ» ÇؾßÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ °áÁ¤Àº ÈÞ´ë¼®, ¼º´É, ±×¸®°í Ç®±×¸²ÀÇ °¡°Ý¿¡ ´ëÇÑ È¿°ú¸¦ ±Ø´ëÈ­ÇÒ ¼ö ÀÖ´Ù. ±â¼úÀûÀ¸·Î µé¾î°¡±â Àü¿¡, Ä£¼÷ÇÑ ¿¹Á¦ÀÎ »óÁ¡¿¡¼­ ±æ°Ô ´Ã¾î¼­ ÁÙ¿¡¼­ ´ë±â¸¦ °¡Áö°í ½ÇÁ¦ "º´·Ä °è»ê ¹®Á¦Á¡"¿¡ ´ëÇØ ´Ù·ç¾î º¸°Ú´Ù.

º´·Ä ó¸® °¡°è

¾ÆÁÖ Å« °¡°è ¾Õ¿¡ 8°³ÀÇ Çö±Ý °è»ê´ë·Î ÇÔ²² ÀÖ´Ù°í ÇÏÀÚ. °¢°¢ÀÇ °è»ê´ë´Â ÇϳªÀÇ CPUÀÌ°í °¢ °í°´Àº ÄÄÇ»ÅÍ ÇÁ·Î±×·¥ÀÌ¶ó °¡Á¤ÇÏÀÚ. ÄÄÇ»ÅÍ ÇÁ·Î±×·¥ÀÇ Å©±â(ÀÏÀÇ ¾ç)Àº °¢ °í°´ÀÇ ¿ä±¸ÀÇ Å©±âÀÌ´Ù. ´ÙÀ½ analogyµéÀº º´·Ä °è»ê °è³äÀ» ¼³¸íÇÒ¶§ »ç¿ëµÇ°ï ÇÑ´Ù.

Single-tasking Operating System

ÇϳªÀÇ Çö±Ý °è»ê´ë´Â ¿­·ÁÀÌ°í(»ç¿ëÁß) Çѹø¿¡ ÇϳªÀÇ °í°´À» ó¸®ÇÑ´Ù.

¿¹: MS DOS

Multi-tasking Operating System:

ÇϳªÀÇ Çö±Ý °è»ê´ë´Â ¿­·Á ÀÖÁö¸¸, ÇöÀç Çѹø¿¡ °¢ ¿ä±¸ÀÇ ºÎºÐ¸¸À» ó¸® ÇÑ°í ´ÙÀ½ »ç¶÷ÀÇ ¿ä±¸ÀÇ ÀϺθ¦ ó¸®ÇÑ´Ù. ¸ðµÎ°¡ ÁÙÀ» °°ÀÌ Áö³ª°¡´Â °Í ó·³ º¸ÀÏÅ×Áö¸¸, ¾Æ¹«µµ ÁÙ¿¡ ¾ø´Ù¸é, ´õ »¡¸® Áö³ª°¡°Ô µÉ °ÍÀÌ´Ù.

¿¹: UNIX, NT using a single CPU

Multitasking Operating Systems with Multiple CPUs:

ÇöÀç °¡°Ô¿¡ ¸î°³ÀÇ Çö±Þ °è»ê´ë°¡ ¿­·ÁÀÖ´Ù. °¢ ¿ä±¸´Â µû·Îµû·Î Çö±Ý °è»ê´ë°¡ ó¸®ÇÏ°í ÁÙÀº ´õ »¡¸® À̵¿ÇÏ°Ô µÈ´Ù. À̸¦ SMP (Symetric Multi- processing)¶ó ÇÑ´Ù. ¿©ºÐÀÇ Çö±Ý °è»ê´ë´Ù ¿­·Á ÀÖÀ» Áö¶óµµ, ÇÑ°³ÀÇ Çö±Ý °è»ê´ë¸¦ »ç¿ëÇÏ´Â °Í º¸´Ù ´õ »¡¸® Áö³ª°¡Áö´Â ¸øÇÑ´Ù.

¿¹: UNIX and NT with multiple CPUs

Threads on a Multitasking Operating Systems extra CPUs

¿ä±¸ Áß¿¡ "break-up"À̶ó´Â ¾ÆÀÌÅÛÀÌ ÀÖ´Ù¸é, Çѹø¿¡ ¿©·¯ Çö±Ý °è»ê´ë¸¦ »ç¿ëÇÏ¿© ÁÙÀ» ´õ ºü¸£°Ô À̵¿ÇÒ ¼ö ÀÖ´Ù. ¸ÕÀú, ¿©·¯°³ÀÇ Çö±Ý °è»ê´ë¸¦ »ç¿ëÇÒ·Á¸é "´ç½ÅÀÇ ¿ä±¸¸¦ Á¶°¢³¿"½Ã°£À» µé¿©¾ß Çϱ⠶§¹®¿¡ ¸¹Àº ¾çÀÇ ¹°°ÇÀ» °¡Áö°í ÀÖ´Ù°í ÇÏÀÚ. ÀÌ·ÐÀûÀ¸·Î´Â Àüº¸´Ù "n"¹è Á¤µµ ´õ ºü¸£°Ô ÁÙÀ» Åë°úÇÒ ¼ö ÀÖ´Ù(¿©±â¼­ "n"Àº Çö±Ý °è»ê´ë °³¼ö). Ãâ³³¿øÀÌ ÃÑ Çհ踦 ±¸ ÇÒ¶§, ´Ù¸¥ "Áö¿ª" Çö±Þ °è»ê´ë¸¦ º¸°Å³ª ¸»À» ÇÏ¿© Àçºü¸£°Ô Á¤º¸¸¦ ±³È¯ ÇÑ´Ù. ±×µéÀÌ Á¤º¸¸¦ ã±â À§ÇØ ´Ù¸¥ Çö±Ý °è»ê´ë¸¦ ±â¿ô°Å¸± Áö¶óµµ, ±×µéÀº ´õ »¡¸® ÀÏÀ» ó¸®Çϱ⸦ ¿øÇÑ´Ù.(?) ±×·¯³ª ¾ó¸¶³ª ¸¹Àº Çö±Þ °è»ê´ë°¡ °¡°è¿¡ ÀÖ¾î¾ß ÇÏ°í ¾î´À Àå¼Ò¿¡ À§Ä¡ÇØ¾ß È¿°úÀûÀΰ¡ÇÏ´Â Á¦ÇÑ¿¡ ºÎµúÄ¡°Ô µÈ´Ù. Amdals ¹ýÄ¢¿¡¼­ Ç®±×¸²ÀÇ ¼ÓµµÇâ»óÀº ÇÁ·Î±×·¥ÀÇ °¡Àå ´ÊÀº ÀÏ·ÃÀÇ ºÎºÐÀ¸·Î Á¦ÇÑÇØ¾ß µÈ´Ù´Â °ÍÀÌ´Ù. ¿¹: °°Àº ¸¶´õº¸µå¿¡¼­ ¿©ºÐÀÇ CPU¸¦ °¡Áø UNIX ³ª NT¿¡¼­ ´ÙÁß ¾²·¹µåÈ­µÈ ÇÁ·Î±×·¡µé ¼öÇà.

Sending Messages on Multitasking Operating Systems with extra CPUs:

¼º´É Çâ»ó¿¡ À־, °¡°è µÚ¿¡ 8°³ÀÇ °è»ê´ë¸¦ Ãß°¡ÇÏ¿´´Ù. »õ·Î¿î Çö±Þ °è»ê´ë´Â Á¤¸é Çö±Þ °è»ê´ë¿Í´Â ¶³¾îÁ® Àֱ⠶§¹®¿¡, Ãâ³³¿øÀº À̵éÀÇ ÃÑ ÇÕ°èÀ» »óÁ¡ Á¤¸éÀ¸·Î º¸³»±â À§Çؼ­´Â ÀüÈ­¸¦ »ç¿ëÇÏ¿©¾ß ÇÑ´Ù. ÀÌ·± °Å¸®´Â Ãâ³³¿ø »çÀÌÀÇ Åë½Å¿¡ À־ Ãß°¡ÀûÀÎ ¿À¹öÇìµå(½Ã°£)¸¦ µé°Ô ÇÑÁö¸¸, Åë½ÅÀ» Àû°ÔÇÑ´Ù¸é, ÀÌ°ÍÀº ¹®Á¦µµ ¾Æ´Ï´Ù. ¸ðµç °è»ê´ë¸¦ ÇÊ¿ä·Î ÇÒ ¸¸Å­ ÁøÂ¥·ç Å« ¿ä±¸°¡ ÀÖ´Ù¸é, °°Àº ½Ã°£¿¡ ¸ðµç Çö±Ý °è»ê´ë¸¦ »ç¿ëÇÏ¿© ¼Óµµ¸¦ Çâ»ó½ÃÅ°±â Àü¿¡ Ãß°¡ÀûÀÎ ¿À¹öÇìµå°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ½À» °í·ÁÇØ¾ß ÇÑ´Ù. ¸î¸îÀÇ °æ¿ì¿¡ ¸ðµç »óÁ¡À» ÅëƲ¾î ÇÑ°³ÀÇ Çö±Ý °è»ê´ë(¶Ç´Â Çö±Ý °è»ê´ë ¼¶)¸¦ °¡Áö°í ÀÖ´Ù°í º¼¼ö ÀÖ´Ù(°¢°¢ÀÇ Çö±Ý °è»ê´ë(¶Ç´Â ¼¶)Àº ÀüÈ­¸¦ ÅëÇؼ­ Åë½ÅÇØ¾ß ÇÑ´Ù). Çö±Ý °è»ê´ë¿¡ ÀÛ¾÷ÇÏ´Â ¸ðµç Ãâ³³¿øÀº ÀüÈ­¸¦ ÅëÇؼ­ °¢ÀÚ ¾ê±â¸¦ ÇÒ ¼ö ÀÖ´Ù¸é, ±×µéÀÌ ¾îµð¿¡ ÀÖµçÁö »ó°üÀÌ ¾ø´Ù.

¿¹: One or several copies of UNIX or NT with extra CPUs
  on the same or different motherboard communicating through messages.
À§ÀÇ ½Ã³ª¸®¿À°¡ Á¤È®ÇÏÁö ¾ÊÀ» Áö¶óµµ º´·Ä ½Ã½ºÅÛÀÇ Á¦ÇÑÁ¡À» Àß Ç¥Çö ÇÏ°í ÀÖ´Ù. ÇÑ°³ÀÇ CPU(¶Ç´Â Çö±Þ °è»ê´ë) Åë½Åµµ ´Ù¸¥ ¹®Á¦Á¡ÀÌ´Ù.

4.3 º´·Ä °è»êÀ» À§ÇÑ ±¸Á¶

º´·Ä °è»êÀÇ º¸ÆíÀû ¹æ¹ý°ú ±¸Á¶Àº ´ÙÀ½¿¡ ³ªÅ¸³ª ÀÖ´Ù. ¿ÏÀüÇÏ°Ô ¼³¸íÇÏÁö ¾ÊÀ» Áö¶óµµ, º£¿À¿ïÇÁ µðÀÚÀο¡ °ü·ÃµÈ ±âº»ÀûÀÎ ¹®Á¦Á¡À» ÀÌÇØÇϴµ¥ ÃæºÐÇÏ´Ù.

Çϵå¿þ¾î ±¸Á¶

´ÙÀ½ µÎ ¹æ¹ýÀ» »ç¿ëÇÏ´Â ±âº»ÀûÀÎ º´·Ä ÄÄÇ»ÅÍ:

  1. ¸Þ½ÃÁö¸¦ °¡Áö°í Åë½ÅÇÏ´Â Áö¿ª ¸Þ¸ð¸® ¸Ó½Å(º£¿À¿ïÇÁ Ŭ·¯½ºÅ͵é)
  2. ¸Þ¸ð¸®¸¦ ÅëÇØ Åë½ÅÇÏ´Â °øÀ¯ ¸Þ¸ð¸® ¸Ó½Åµé(SMP ¸Ó½Åµé) ÀüÇüÀûÀÎ º£¿À¿ïÇÁ´Â °í¼Ó ÀÌ´õ³ÝÀ» »ç¿ëÇÏ¿© ´ÜÀÏ CPU ¸Ó½ÅÀ» ¿¬°áÇÑ ÁýÇÕÀ̱⿡ Áö¿ª ¸Þ¸ð¸® ¸Ó½ÅÀ̱⵵ ÇÏ´Ù. 4 way SMP ¹Ú½º´Â °øÀ¯ ¸Þ¸ð¸® ¸Ó½ÅÀÌ°í º´·Ä °è»êÀ¸·Î »ç¿ëµÇÁö°í ÀÖ´Ù. - º´·Ä Ç®±×¸²Àº °øÀ¯ ¸Þ¸ð¸®¸¦ ÀÌ¿ëÇÏ¿© Åë½ÅÇÑ´Ù. ÄÄÇ»ÅÍ °¡°è¿¡¼­ À¯ÃßÇÑ´Ù¸é, Áö¿ª ¸Þ¸ð¸® ¸Ó½Åµé (°³°³ÀÇ Çö±Ý °è»ê´ë)Àº ¸¹Àº ¼öÀÇ CPUµé·Î È®ÀåÇÒ¼ö ÀÖ´Â ¹Ý¸é¿¡ °øÀ¯ ¸Þ¸ð¸® ¸Ó½ÅµéÀÇ CPU¼ö´Â ¸Þ¸ð¸® ¿¬°á·Î ÀÎÇÏ¿© Á¦ÇÑÀûÀÌ´Ù. ±×·¯³ª, "È¥ÇÕ" °øÀ¯ ¸Þ¸ð¸® ¸Ó½ÅÀ¸·Î ¸¸µé¸é ¸¹Àº ¼öÀÇ °øÀ¯ ¸Þ¸ð¸® ¸Ó½ÅµéÀ» ¿¬°áÇÒ ¼ö ÀÖ´Ù. ÀÌ·± È¥ÇÕ ¸Ó½ÅÀº »ç¿ëÀÚ¿¡°Ô´Â ÇÑ°³ÀÇ °Å´ëÇÑ SMP ¸Ó½ÅÀ¸·Î º¸ÀÌ°í, ±Û·Î¹ß ¸Þ¸ð¸®´Â ÇÁ·Î±×·¡¸Ó¿¡ ÀÇÇØ º¸¿©Áö°í ¸ðµç CPUµé¿¡ÀÇÇØ °øÀ¯µÇ¾î ´Ù¸¥ ·¹ÅϽõéÀ» °¡Áö°í Àֱ⠶§¹®¿¡ NUMA (non uniform memory access) ¸Ó½ÅÀÌ¶óµµ ÇÑ´Ù. ±×·¸Áö¸¸, ¸î°³ÀÇ ´Ü°è¿¡¼­ NUSA ¸Ó½ÅÀº Áö¿ª °øÀ¯¸Þ¸ð¸® Ç®µé »çÀÌ¿¡¼­ ¸Þ½ÃÁö¸¦ Åë°úÇÏ¿©¾ß¸¸ ÇÑ´Ù. ¶ÇÇÑ, ³ëµåµéÀ» °è»êÇÏ´Â Áö¿ª ±â¾ïÀå¼Ò·Î¼­ÀÇ SMP ¸Ó½ÅÀ¸·Î ¿¬°áÀÌ °¡´ÉÇÏ´Ù. ÀüÇüÀûÀÎ CLASS I ¸¶´õº¸µå´Â 2 °³³ª 4 °³ÀÇ CPU¸¦ °¡Áö°í Àü¹ÝÀûÀÎ ½Ã½ºÅÛ ºñ¿ëÀ» °¨¼ÒÇϴµ¥ »ç¿ëµÈ´Ù. ¸®´ª½º ³»ºÎ ½ºÄÉÁÙ·¯´Â ¾î¶»°Ô CPUµéÀ» °øÀ¯ÇÒÁö¸¦ °áÁ¤ÇÑ´Ù. »ç¿ëÀÚ´Â (ÀÌ ½ÃÁ¡¿¡¼­) ƯÁ¤ SMP ÇÁ·Î¼¼¼­¿¡¼­ ƯÁ¤ ÀÏÀ» ÇÒ´çÇÒ ¼ö ¾ø´Ù. ±×·¯³ª, »ç¿ëÀÚ´Â µÎ°³ÀÇ µ¶¸³µÈ ÇÁ·Î¼¼½º³ª ¾²·¹µåµÈ ÇÁ·Î¼¼½ºµé ½ÇÇàÇÒ ¼ö ÀÖ°í, ÇÑ°³ÀÇ CPU ½Ã½ºÅÛ¿¡¼­ ¼º´É Çâ»óÀ» ±â´ëÇÒ ¼ö ÀÖ´Ù.

¼ÒÇÁÆ®¿þ¾î API ±¸Á¶

ÇÁ·Î±×·¥¿¡¼­ º´Ç༺À» Ç¥ÇöÇÏ´Â ±âº»ÀûÀΠǥÇö µÎ °¡Áö ¹æ¹ý:

  1. ÇÁ·Î¼¼¼­µé°£ ¸Þ½ÃÁö Àü¼Û »ç¿ë
  2. ¿î¿µÃ¼Á¦ ¾²·¹µå »ç¿ë ´Ù¸¥ ¹æ¹ýµµ ÀÖÁö¸¸, À§ÀÇ 2 °¡Áö°¡ Æø³Ð°Ô »ç¿ëµÈ´Ù. º´Çü¼ºÀÇ Ç¥ÇöÀº Çϵå¿þ¾îÀÇ ±âÃÊ·Î Á¶ÀýÇÒ ÇÊ¿ä´Â ¾ø´Ù´Â °ÍÀ» ±â¾ïÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ¸Þ½ÃÁö³ª ¾²·¹½º µÑ´Ù´Â SMP, NUMA-SMP, ±×¸®°í Ŭ·¯½ºÅÍ¿¡ ÀÇÇØ ±¸ÇöµÇ¾îÁ® ÀÖ´Ù. - ³ªÁß¿¡ È¿À²ÀûÀÌ°í È޴뼺¿¡´ëÇØ ¼³¸íÇÏ°Ú°í ÀÌ´Â Áß¿äÇÑ ³íÀïÁ¡ ÀÌ´Ù.(?)

¸Þ½ÃÁö

¿ª»çÀûÀ¸·Î, ¸Þ½ÃÁö Àü¼Û ±â¼úÀº Ãʱâ Áö¿ª ¸Þ¸ð¸® º´·Ä ÄÄÇ»ÅÍ µðÁöÀο¡¼­ °¡Á®¿Ô´Ù. ¾²·¹µå´Â °°Àº Àå¼Ò¿¡¼­ µ¥ÀÌÅ͸¦ »ç¿ëÇÏ´Â ¹Ý¸é¿¡ ¸Þ½ÃÁö´Â µ¥ÀÌÅÍ º¹»ç¸¦ °¡Á®´Ù ¾´´Ù. º¹»çµÇ¾î Áú¼ö ÀÖ´Â ¸Þ½ÃÁöµé¿¡¼­ ´ë±â½Ã°£¿Í ¼ÓµµÀº ¸Þ½ÃÁö Àü¼Û ¸ðµ¨¿¡ µû¶ó Á¦ÇÑ ÀÎÀÚ°¡ ÀÖ´Ù. ¸Þ½ÃÁö´Â ¾ÆÁÖ °£´ÜÇÏ´Ù. : ¸î¸î µ¥ÀÌÅÍ¿Í ¸ñÀû ÇÁ·Î¼¼¼­. °øÅë ¸Þ½ÃÁö Àü¼Û APIµéÀº PVM¶Ç´Â MPIÀÌ´Ù. ¸Þ½ÃÁö Àü¼ÛÀº ¾²·¹µå¿Í ¸Þ½ÃÁö°¡Áö°í È¿°úÀûÀ¸·Î ±¸ÇöµÈ´Ù. µÑ´Ù SMP ¸Ó½Å°ú ¸Ó½ÅµéÀÇ Å¬·¯½ºÅÍ »çÀÌ¿¡¼­µµ Àß ÀÛµ¿ÇÑ´Ù. SMP ¸Ó½Å¿¡¼­ ¸Þ½ÃÁö¸¦ »ç¿ëÇÔ À¸·Î¼­ ¾ò¾îÁö´Â ÀÌÁ¡Àº ¾²·¹µå ¹Ý´ë·Î ¾ÕÀ¸·Î Ŭ·¯½ºÅ͵éÀ» »ç¿ëÇÒ °á½ÉÀ» Çß´Ù¸é ¸Ó½ÅµéÀÇ Ãß°¡³ª Ç®±×¸² È®ÀåÀ» ½±°Ô ÇÒ ¼ö ÀÖ´Ù.

¾²·¹µå

¿î¿µ üÁ¦ ¾²·¹µå´Â °øÀ¯ ¸Þ¸ð¸® SMP (Symmetrical Multiprocessing)Àº ÇÁ·Î±×·¥ º´Çà ºÎºÐµé »çÀÌ¿¡¼­ ´õ ºü¸¥ °øÀ¯ ¸Þ¸ð¸® Åë½Å°ú µ¿±âÈ­ À» °¡´ÉÇÏ°Ô µðÀÚÀÎ Çϱâ À§ÇÏ¿© °³¹ßµÇÁ³´Ù. ¾²·¹µå´Â °øÀ¯ ¸Þ¸ð¸®¸¦ ÅëÇÏ¿© Åë½ÅÀ» Çϱ⠶§¹®¿¡ SMP ½Ã½ºÅ۵鿡¼­ Àß ÀÛµ¿ÇÑ´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î »ç¿ëÀÚ´Â ±Û·Î¹ß µ¥ÀÌÅÍ¿¡¼­ Áö¿ª µ¥ÀÌÅ͸¦ ºÐ¸®ÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ÇÁ·Î±×·¥Àº Àß ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. ¸Þ½ÃÁö¿¡ ºñ±³Çϸé, ÇÁ·Î¼¼½ºµé(¾²·¹µåµé) »ó¿¡ µ¥ÀÌÅ͸¦ °øÀ¯Çϱ⠶§¹®¿¡ ¸¹Àº ¾çÀÇ º¹»ç°¡ »ý·«µÈ´Ù. ±×·¸Áö¸¸, cache coherence À̶ó´Â ¿À¹öÇìµå°¡ µ¡ºÙÀÌ°Ô µÇ¾ú´Ù. ¾²·¹µå´Â SMP °æ°è ÀúÆíÀ¸·Î ¿¬ÀåµÇ´Â NUMA ±â¼úÀ» ¿äÇÑ´Ù. ÀÌ ±â¼úÀº »çÄ¡½º·´°í Àü¿¡ ¸®´ª½º¿¡ ÀÇÇØ Áö¿øµÇÁö ¾È¾Ò¾ú´Ù. ¸Þ½ÃÁö À§¿¡¼­ ¾²·¹µå¸¦ ±¸ÇöÇØ ¿À°í ÀÖÁö¸¸ ( syntron.com/ptools/ptools_pg.htm), ¾²·¹µå°¡ ¸Þ½ÃÁö¸¦ ÀÌ¿ëÇÏ¿© ±¸ÇöÇÏ¿´À» ¶§ Á¾Á¾ ºñÈ¿À²ÀûÀÌ°Ô µÈ´Ù. ´ÙÀ½Àº ¼º´É¿¡ °üÇÑ »óŸ¦ º¸¿©ÁÖ°í ÀÖ´Ù:


            SMP ¸Ó½Å       ¸Ó½ÅµéÀÇ Å¬·¯½ºÅÍ     È®À强
                ¼º´É              ¼º´É
            -----------     -------------------  -----------
  ¸Þ½ÃÁö      ÁÁÀ½              ¸Å¿ì ÁÁÀ½         ¸Å¿ì ÁÁÀ½
¾²·¹µå    ¸Å¿ì ÁÁÀ½             ³ª»Ý*             ³ª»Ý*
* »çÄ¡½º·± NUMA ±â¼úÀ» ¿ä±¸.

Ç®±×¸² ±¸Á¶

´ÙÁß CPU¿¡¼­ º´·Ä·Î Ç®±×¸²À» ½ÇÇàÇϱâ À§Çؼ­´Â º´Çà ºÎºÐÀ¸·Î È®½ÇÈ÷ ÂÉ°³¾ß ÇÑ´Ù. Ç¥ÁØ ´ÜÀÏ CPU Ç®±×¸²Àº ´ÙÁß ÇÁ·Î¼¼¼­¿¡¼­ ´ÜÀÏ CPU Ç®±×¸² º¸´Ù ´õ ºü¸£Áö´Â ¾ÊÀ» °ÍÀÌ´Ù. ÇÁ·Î±×·¥À» ÂÉ°³Á®¾ßÇÒ ¸î°¡Áö Åøµé°ú ÄÄÆÄÀÏÇÏÁö¸¸, º´·Ä ÄÚµåÀº "plug and play" ÀÛµ¿À» ÇÏÁö ¾Ê´Â´Ù. Ç®±×¸²¿¡ ÀÇÁ¸ÀûÀ¸·Î º´·Ä ÄÚµå´Â ½±°í, ±Øµµ·Ï ¾î·Æ°Å³ª, ¾Ë°í¸®Áò ÀÇÁ¸¿¡ µû¶ó ºÒ°¡´ÉÇÑ °æ¿ìµµ ÀÖÀ» ¼ö ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾î ¹®Á¦Á¡ÀÇ ¼³¸íÀÌ ÇÊ¿äÇÑ ÀûÇÕ¼º °³³äÀ» ¤°í°¡ÀÚ.

4.4 ÀûÇÕ¼º

º´·Ä °è»ê¿¡ ´ëÇÑ ´ëºÎºÐÀÇ Áú¹®µéÀº ºñ½ÁÇÑ ´äº¯À» °¡Áø´Ù: "¸ðµç °ÍÀº Ç®±×¸²¿¡ ´Þ·ÈÀÖ´Ù." ³íÀïÁ¡À¸·Î µé¾î°¡±â Àü¿¡, ¸¸µé¾îÁú ÇÊ¿ä°¡ Àִ°¡¿¡ ´ëÇÑ ¸Å¿ì Áß¿äÇÑ ±¸º°ÀÌ Çϳª ÀÖ´Ù - º´Çà°ú º´·Ä»çÀÌÀÇ Â÷ÀÌ. ÀÌ·± ³íÀǸ¦ ÇÑ ¸ñÀûÀº ´ÙÀ½¿¡ ¿À´Â µÎ °¡Áö °³³äÀ» Á¤ÀÇÇϱâ À§Çؼ­ ÀÌ´Ù: ÇÁ·Î±×·¥ÀÇ º´Çà ºÎºÐÀº µ¶¸³ÀûÀ¸·Î °è»êÀÌ µÇ´Â °ÍÀÌ´Ù. ÇÁ·Î±×·¥ÀÇ º´·Ä ºÎºÐµéÀº ±×µéÀÇ º´Çà ºÎºÐÀ¸·Î °°Àº ½Ã°£¿¡ ºÐ¸®µÈ ó¸® ´ÜÀ§¿¡¼­ ½ÇÇàµÈ´Ù. ÀÌ·± ±¸º°Àº ¸Å¿ì Áß¿äÇÏ´Ù. ¿Ö³ÄÇϸé, º´Ç༺Àº ÇÁ·Î±×·¥ÀÇ ¼Ó¼ºÀÌ°í È¿À²ÀûÀÎ PARALLELISHÀº ¸Ó½ÅÀÇ ¼Ó¼ºÀ̱⠶§¹®ÀÌ´Ù. ÀÌ»óÀûÀ¸·Î, º´·Ä ½ÇÇàÀº ´õ ºü¸¥ ¼º´ÉÀ¸·Î ³¡¸¶ÃÄ¾ß ÇÑ´Ù. º´·Ä ¼º´É¿¡¼­ ÀçÇÑ ¿äÀÎÀº Åë½Å ¼Óµµ¿Í °è»ê ³ëµåµé »çÀÌÀÇ ´ë±â½Ã°£ÀÌ´Ù. (¶ÇÇÑ, ´ë±â½Ã°£Àº cache coherency·Î ÀÎÇØ ¾²·¹µåÈ­µÈ SMP Ç®±×¸²¿¡µµ ÀÖ´Ù.) ¸¹Àº ÀÏ¹Ý º´·Ä Æò°¡ Å×½ºÆ®Àº ³ôÀº º´·Ä, Åë½Å, ±×¸®°í ´ë±â½Ã°£ÀÌÁö, º´¸ñÇö»ó¿¡ ÀÖÁö ¾Ê´Ù. ÀÌ·± ÇüÅÂÀÇ ¹®Á¦¸¦ "obviously parallel"À̶ó ÇÑ´Ù. ´Ù¸¥ Ç®±×¸²µéÀº º´·Ä¿¡¼­ ÇÁ·Î±×·¥ÀÇ º´Çà ºÎºÐÀÌ ±×·¸°Ô °£´ÜÇÏ°í ½ÇÇàÇÒ ¼ö ÀÖ´Â °ÍÀÌ ¾Æ´Ï±â¿¡ »ç½Ç ÇÁ·Î±×·¥ÀÌ ´õ ´À¸®°Ô ½ÇÇàÇÏ´Â ¿øÀÎÀÌ µÇ±âµµ ÇÑ´Ù. ±×·¸±â ¶§¹®¿¡ ÇÁ·Î±×·¥ÀÇ ´Ù¸¥ º´Çà ºÎºÐ¿¡ ¾ò¾îÁø ÀÓÀÇ ¼º´ÉÇâ»óÀ» ¶³¾î¶ß¸®°Ô µÈ´Ù. ªÀº ±â°£¿¡¼­ Åë½Å ½Ã°£ ºñ¿ëÀ» °è»ê ½Ã°£À¸·Î º¸ÃæÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, º´Çà ºÎºÐÀÇ º´·Ä ½ÇÇàÀº ºñÈ¿À²ÀûÀÌ´Ù. ÇÁ·Î±×·¡¸ÓÀÇ ÀÓ¹«´Â ÇÁ·Î±×·¥ÀÇ º´Çà ºÎºÐµéÀ» º´·Ä·Î ½ÇÇàÇØ¾ß ÇÏ´Â °Í°ú ÇÏÁö ¸»¾Æ¾ß ÇÒ °ÍÀ» °áÁ¤ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ´ë´äÀº Ç®±×¸²ÀÇ È¿À²·Î °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ±×·¡ÇÁ´Â ÇÁ·Î±×·¥ÀÇ »óȲÀ» °£·«È÷ º¸¿©ÁÖ°í ÀÖ´Ù.

           | *
           | *
           | *
   % of    | *
   appli-  |  *
   cations |  *
           |  *
           |  *
           |    *
           |     *
           |      *
           |        ****
           |            ****
           |                ********************
           +-----------------------------------
            communication time/processing time

¿Ïº®ÇÑ º´·Ä ÄÄÇ»ÅÍ¿¡¼­ Åë½Å/ó¸® ºñÀ²ÀÌ °°ÀÌÁö°Ô µÉ °ÍÀÌ°í, ¾î¶² °ÍÀ̵çÁö º´·Ä·Î º´ÇàÀ» ±¸ÇöµÇ¾î Áø´Ù. °øÀ¯ ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ´Â ½ÇÁ¦ º´·Ä ÄÄÇ»ÅÍ¿¡¼­´Â ÀÌ ±×·¡ÇÁ¿¡¼­ º¸¿©ÁÖ´Â È¿°ú¿¡ µû¶ó¿À°Ô µÈ´Ù. º£¿À¿ïÇÁ µðÀÚÀÎ ÇÒ ¶§, º´·Ä È¿À²Àº ƯÁ¤ º´·Ä ÄÄÇ»ÅÍ¿¡ ´ëÇÑ Åë½Å ½Ã°£°ú ó¸® ½Ã°£ÀÇ ºñÀ²¿¡ ÀÇÁ¸ÀûÀ̱⠶§¹®¿¡ »ç¿ëÀÚ ÀÌ ±×·¡ÇÁ¸¦ ¸¶À½¿¡ »õ°ÜµÎ±â ¹Ù¶õ´Ù. Ç®±×¸²Àº º´·Ä ÄÄÇ»ÅÍµé »çÀÌ¿¡ À̵¿ÇÒ ¼ö ÀÖ¾î¾ß ÇÏÁö¸¸, ´Ù¸¥ Ç÷§Æû»óÀÇ È¿À²Àº º¸ÀåÇÒ ¼ö ¾ø´Ù. ÀϹÝÀûÀ¸·Î À̽İ¡´ÉÇϸ鼭 È¿À²ÀûÀÎ º´·Ä ÇÁ·Î±×·¥Àº Á¸ÀçÇÏÁö ¾Ê´Â´Ù.

À§ÀÇ ±×·¡ÇÁ¸¦ ÅëÇØ ¶Ç ´Ù¸¥ ÇÑ°¡Áö¸¦ À¯ÃßÇÒ ¼ö ÀÖ´Ù. º´·Ä ¼öÇà È¿À²Àº Åë½Å/ó¸® ºñÀ²¿¡ ÀÇÁ¸ÇÏ´Â °ÍÀ̱⠶§¹®¿¡, ´ÜÁö ÀÌ ºñÀ² ¿ä¼ÒÀÇ ÇÑ ºÎºÐ¸¸À» (Áï, Åë½Å ¼º´É ¶Ç´Â ó¸® ¼º´É µÑ Áß Çϳª¸¸À») º¯È­½ÃÅ°´Â °ÍÀ¸·ÎºÎÅÍ ¾î¶² ƯÁ¤ ÀÀ¿ëÇÁ·Î±×·¥Àº ´õ »¡¶óÁú °ÍÀ̶ó´Â ±â´ë¸¦ Ç×»ó ÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù¶ó´Â °ÍÀÌ´Ù. Åë½Å¼Óµµ´Â º¯ÇÏÁö ¾ÊÀº »óÅ¿¡¼­ ó¸® ¼Óµµ¸¸ÀÇ º¯È­´Â ÇÁ·Î±×·¥¿¡ ¿¹»óÄ¡ ¾ÊÀº ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, Åë½Å¼Óµµ´Â ±×´ë·Î À¯ÁöÇÑä CPU ¼Óµµ¸¦ µÎ¹è ¶Ç´Â ¼¼¹è Áõ°¡½ÃŲ °æ¿ì º¯°æ ÀÌÀü º´·Ä ¼öÇàÀÌ È¿À²ÀûÀ̾ú´ø ÇÁ·Î±×·¥ÀÇ ºÎºÐÀ» ¼øÂ÷ÀûÀ¸·Î ¼öÇàÇϵµ·Ï ¼öÁ¤ÇÏ´Â °ÍÀÌ ´õ¿í È¿À²ÀûÀÎ °æ¿ìµµ ÀÖ´Ù. ¸»ÇÏÀÚ¸é ÀÌÀüÀÇ º´·Ä½ÇÇàºÎºÐÀ» ÀÌÁ¦´Â ¼øÂ÷ÀûÀ¸·Î ¼öÇà½ÃÅ°´Â °ÍÀÌ ¼Óµµ°¡ ´õ ºü¸¦ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ´õ ³ª¾Æ°¡, º´·ÄÈ­ÇÏ¸é ºñÈ¿À²ÀûÀÎ ºÎºÐÀ» º´·Ä¼öÇàÇÏ°Ô µÇ¸é °á±¹ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÃÖ°í ¼Óµµ¸¦ ³»Áö ¸øÇÏ°Ô µÈ´Ù. ÀÌ·¯ÇÑ °æ¿ì, ´õ ºü¸¥ ÇÁ·Î¼¼¼­¸¦ Ãß°¡ÇÏ¿© º´·Ä¼öÇà½ÃÅ°¸é ¿ÀÈ÷·Á ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¼Óµµ°¡ ¶³¾îÁö°Ô µÈ´Ù.(±× ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÃÖ°í ¼Óµµ¸¦ ³»µµ·Ï Çϱâ À§Çؼ­´Â »õ·Î¿î CPU¸¦ Ãß°¡ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.) ±×·¡¼­, °á·ÐÀ¸·Î º´·Ä Çϵå¿þ¾î ȯ°æÀ» »ç¿ëÇØ¾ß ÇÒÁö ÇÏÁö ¸»¾Æ¾ß ÇÒÁö¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. ±×·¸±â ¶§¹®¿¡, º´·Ä ¸Ó½ÅÀÇ ÀûÇÕ¼ºÀÌ Ç®±×¸²¿¡ ¸Â´ÂÁö °£ÆÄÇؾßÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. CPU ¼Óµµ, ÄÄÆÄÀÏ·¯, ¸Þ½ÃÁö Àü¼Û API, ³×Æ®¿öÅ© µîµîÀ» Æ÷ÇÔÇÑ ¸¹Àº ³íÀïÁ¡À» »ìÆ캼 ÇÊ¿ä°¡ ÀÖ´Ù. Ç®±×¸²ÀÇ À±°ûÀÏ »ÓÀÌÁö ÀüüÀûÀÎ À̾߱⸦ ÁÖ´Â °ÍÀÌ ¾Æ´ÔÀ» ÁÖÀÇÇ϶ó. ÇÁ·Î±×·¥ÀÇ Áß¿äÇÑ ºÎºÐÀ» ±¸ºÐÇÒ ¼ö ÀÖÁö¸¸, ÀÌ ºÎºÐ¿¡ ´ëÇÑ Åë½Å ºñ¿ëÀ» ¾Ë ¼ö ´Â ¾ø´Ù. ÁÖ¾îÁø ½Ã½ºÅÛ´ëÇؼ­µµ, Åë½Å ºñ¿ëÀº ÄÚµå È¿À²À» º´·ÄÈ­ÇÒ ¼ö´Â ¾ø´Ù. ¸¶Áö¸·À¸·Î ÀϹÝÀûÀÎ ¿ÀÇظ¦ º¸µµ·Ï ÇÏÀÚ. ÀÚÁÖ "º´·ÄÈ­µÈ ÇÁ·Î±×·¥"À̶ó ÇÏÁö¸¸, ½ÇÁ¦·Î´Â ÇÁ·Î±×·¥ÀÇ CONCURRENT ºÎºÐÀ¸·Î¸¸ À§Ä¡ÇÏ°í ÀÖ´Ù. È¿°úÀûÀÎ PARALLELIZATIONÀº ¸Ó½ÅÀÇ ¼Ó¼ºÀÌ´Ù.

4.5 º´·Ä ¼ÒÇÁÆ®¿þ¾î ÀÛ¼º°ú Æ÷ÆÃ

º´·Ä °è»êÀÌ ÇÊ¿äÇÑ´Ù°í °áÁ¤Çß°í º£¿À¿ïÇÁ¸¦ µðÀÚÀÎÇÏ°í ±¸¼ºÇϱ⸦ ¿øÇÑ´Ù¸é, Àá½Ã ÀüÀÇ ³íÀÇµÈ ³»¿ëÀ» »ìÆì º¸´Â °ÍÀÌ ÁÁÀ» °Í °°´Ù. ÀϹÝÀûÀ¸·Î ´ÙÀ½ µÎ °¡Áö¸¦ ÇØ¾ß ÇÑ´Ù:

  1. CLASS I º£¿À¿ïÇÁ¸¦ ±¸¼ºÇغ¸°í ³­ÈÄ¿¡ ´ç½ÅÀÇ Ç®±×¸²À» ±×°Í¿¡ ¸Â°Ô ÀÛ¼ºÇØ º¸ÀÚ. ¾Æ´Ï¸é º£¿À¿ïÇÁ¿¡¼­ ÀÛµ¿ÇÏ´Â º´·Ä Ç®±×¸²À» ½ÇÇຸ¶ó (±×·¯³ª ¾Õ¿¡¼­ ¾ð±ÞÇß´ø À̵¿¼º°ú È¿À²ÀÇ ³íÀïÁ¡À» ÁÖÀÇÇضó)
  2. º£¿À¿ïÇÁ¿¡ ½ÇÇàÇÒ Ç®±×¸²À» »ìÆ캸°í ÇÊ¿ä·Î ÇÏ´Â Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î ÇüÅ¿¡ ´ëÇÑ Æò°¡¸¦ Çغ¸¾Æ¶ó.
ÀÌ·± °æ¿ì ÀÏÁö¶óµµ, ¸î¸î °üÁ¡¿¡¼­ È¿°ú¿¡ ´ëÇÑ ¹®Á¦À» »ìÆ캼 ÇÊ¿ä°¡ ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ´ÙÀ½ÀÇ ¼¼ °¡Áö¸¦ »ý°¢ Çغ¼ ÇÊ¿ä°¡ ÀÖ´Ù:
  1. ÇÁ·Î±×·¥¿¡¼­ º´Çà ºÎºÐÀ» °áÁ¤
  2. º´·Ä È¿À²À» °è»ê
  3. ÇÁ·Î±×·¥¿¡¼­ º´Çà ºÎºÐÀ» ±â¼ú ÀÚ! Áö±ÝºÎÅÍ À̵éÀ» »ìÆ캸ÀÚ.

ÇÁ·Î±×·¥ÀÇ º´Çà ºÎºÐ °áÁ¤

ÀÌ ´Ü°è´Â ºó¹øÇÏ°Ô "ÇÁ·Î±×·¥ º´·ÄÈ­Çϱâ"À̶ó Çϱ⵵ ÇÑ´Ù. Parallelization °áÁ¤Àº µÎ ¹ø° ´Ü°è¿¡¼­ ÇÒ °ÍÀÌ´Ù. ÀÌ ´Ü°è¿¡¼­´Â µ¥ÀÌÅÍ ÀÇÁ¸À» °áÁ¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. >½ÇÁúÀûÀÎ ÀÔÀå¿¡¼­, Ç®±×¸²Àº µÎ °¡Áö º´Çà ÇüŸ¦ º¸ÀÌ°í ÀÖ´Ù: °è»ê (number crunching)°ú I/O (µ¥ÀÌÅͺ£À̽º). ¸¹Àº °æ¿ì¿¡ °è»ê°ú I/O º´Ç༺Àº orthogonalÀÌÁö¸¸, Ç®±×¸²Àº µÑ ´Ù¸¦ ¿ä±¸ÇÑ´Ù. ±âÁ¸ÀÇ Ç®±×¸²¿¡ ´ëÇÑ º´Çà ºÐ¼®À» ¼öÇàÇÒ ¼ö ÀÖ´Â µµ±¸µéÀÌ ÀÖ´Ù. ÀÌµé ´ëºÎºÐÀÇ µµ±¸µéÀº Æ÷Æ®¶õ¿¡ ÀÇÇØ ÀÛ¼ºµÇ¾ú´Ù. Æ÷Æ®¶õÀ» »ç¿ëÇÏ´Â ÁÖµÈ µÎ °¡Áö ÀÌÀ¯: ´ëºÎºÐÀÇ crunching Ç®±×¸²µéÀÌ Æ÷Æ®¶õÀ¸·Î ÀÛ¼ºµÇ¾ú°í ºÐ¼®ÇϱⰡ ½±´Ù. µµ±¸µéÀÌ ¾ø´Ù¸é, ÀÌ ´Ü°è´Â ±âÁ¸ Ç®±×¸²¿¡ ´ëÇØ ´Ù¼Ò ¾î·Á¿ï °ÍÀÌ´Ù.

º´·Ä È¿À² °è»ê

µµ±¸µéÀÇ µµ¿òÀÌ ¾øÀ¸¸é, ½ÃÇàÂø¿À¸¦ °ÅÄ¡°Å³ª ¿¾³¯ Áö½Ä¿¡ ÀÇÇØ ÃßÃøÀ» °¡Áö°í ÇؾßÇÒ °ÍÀÌ´Ù. ƯÁ¤ Ç®±×¸²À» »ý°¢ÇÏ°í ÀÖÀ¸¸é CPU ÇÑ°è(°è»ê ¹üÀ§)¿Í ÇÏµå µð½ºÅ© ÇÑ°è(I/O ¹üÀ§)¸¦ °áÁ¤Çغ¸¾Æ¶ó. º£¿À¿ïÇÁÀÇ ¿ä±¸ »çÇ×Àº ´ç½ÅÀÇ ¿ä±¸¿¡ µû¶ó ¸Å¿ì ´Ù¾çÇÏ´Ù. ¿¹¸¦ µé¾î, °è»ê ÇÑ°è¿¡¼­ÀÇ ¹®Á¦Àº ¸î°³ÀÇ ¸Å¿ì ºü¸¥ CPU¿Í °í¼ÓÀÇ ³·Àº ´ë±â ½Ã°£ÀÇ ³×Æ®¿öÅ©¸¦ ÇÊ¿ä·Î ÇÑ´Ù. ¹Ý¸é¿¡ I/O ÇÑ°è ¹®Á¦´Â ´õ ´À¸° CPU¿Í ºü¸¥ ÀÌ´õ³ÝÀÌ ´õ È¿°úÀûÀ¸·Î ÀÛµ¿À» ÇÑ´Ù. ÀÌ·± ±Ç°í´Â Á¾Á¾ ´ëºÎºÐÀÇ »ç¶÷µéÀ» ³î¶ó°Ô ÇÑ´Ù. ¿Ö³ÄÇϸé, º¸ÆíÀûÀÎ »ý°¢À¸·Î´Â ´õ ºü¸¥ ÇÁ·Î¼¼¼­°¡ Ç×»ó ´õ ÁÁ´Ù¶ó°í ¿©±â±â ¶§¹®ÀÌ´Ù. ¿¹»êÀÌ ÇÑ°è°¡ ¾ø´Ù¸é ¸Â´Â ¸»ÀÏÁö ¸ð¸£Áö¸¸, ½ÇÁ¦ ½Ã½ºÅÛÀº ºñ¿ë¿¡ À־ Á¦ÇÑÀÌ ÀÖ´Ù. I/O ÇÑ°è ¹®Á¦¿¡ ´ëÇؼ­ Á¶±Ý ¾Ë·ÁÁø ±ÔÄ¢(Eadline-Dekov ¹ýÄ¢À̶ó ºÒ¸²)ÀÌ Àִµ¥ ²Ï µµ¿òÀÌ µÈ´Ù: ¶È °°Àº ´©Àû CPU ¼º´É »öÀÎÀ» °¡Áø ÁÖ¾îÁø µÎ °³ÀÇ º´·Ä ÄÄÇ»ÅÍ¿¡¼­, ´ÊÀº ÇÁ·Î¼¼¼­(±×¸®°í ¾Æ¸¶ ÇÁ·Î¼¼½º°£ Åë½Å ³×Æ®¿öÅ©µµ ´À·ÁÁú°ÍÀÌ´Ù)Àº I/O°¡ ¸¹Àº Ç®±×¸²¿¡ ´ëÇؼ­ ´õ ÁÁÀº ¼º´ÉÀ» º¸¿©ÁÙ °ÍÀÌ´Ù. ÀÌ·± ¹ýÄ¢ÀÇ Áõ¸íÀº ÀÌ ¹®¼­ÀÇ ³ªÁß¿¡ ³ª¿Ã °ÍÀÌÁö¸¸, Èï¹Ì°¡ ÀÖ´Ù¸é Performance Considerations for I/O-Dominant Applications on Parallel Computers (Postscript format 109K ) ( www.plogic.com/pub/papers/exs-pap6.ps) ³í¹®À» ¹Þ¾Æ¼­ º¸¸é µÈ´Ù. ´ç½ÅÀÇ Ç®±×¸²¿¡¼­ º´ÇàÀÇ ÇüŸ¦ ¹«¾ùÀÎÁö¸¦ °áÁ¤À» Çß¾ú´Ù¸é, º´·Ä·Î ÇßÀ» °æ¿ì ¾ó¸¶³ª È¿À²ÀÌ ÀÖ´ÂÁö °è»êÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾î µµ±¸¿¡ ´ëÇÑ ¼³¸íÀº "¼ÒÇÁÆ®¿þ¾î"ÀýÀ» º¸¾Æ¶ó. µµ±¸¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¸é ÀÌ ´Ü°è¸¦ °ÅÄ¡´Â ¹æ¹ýÀ» ÃßÃàÇؾßÇÒ °ÍÀÌ´Ù. °èÇÑ ÇÑ°è ·çÇÁ¸¦ ºÐ´ÜÀ§·Î ÃøÁ¤ÇÏ°í ÃÊ´ÜÀ§·Î µ¥ÀÌÅÍ Àü¼ÛÀ» ÃøÁ¤Çß´Ù¸é, parallelization¸¦ À§ÇÑ ÁÁÀº ÈÄ¿øÀÚ°¡ µÇ¾î¾ß ÇÑ´Ù.(?) ±×·¯³ª ±â¾ïÇØ¾ß ÇÒ °ÍÀº 16ºÐÀÌ °É¸®°í 32 ºÎºÐÀ¸·Î ºÐ¸®ÇÏ¿´´Ù¸é, ±×¸®°í °¢ ºÎºÐ ¸¶´Ù µ¥ÀÌÅÍ Àü¼ÛÇϴµ¥ ¸î ÃÊÀÇ ½Ã°£ÀÌ °É¸°´Ù¸é, ±× °ÍÀº ¿©À¯¸¦ °¡Áú ¼ö°¡ ¾ø°Ô µÉ °ÍÀÌ´Ù. °¨¼ÒÇϱâ À§ÇÑ ¹ÝȯÁ¡À¸·Î µµ´ÞÇÒ °ÍÀÌ´Ù.

ÇÁ·Î±×·¥¿¡¼­ º´Çà ºÎºÐÀ» ±â¼ú

ÇÁ·Î±×·¥ÀÇ º´º´ ºÎºÐÀ» ±â¼úÇϱâ À§ÇÑ ¹æ¹ýÀÌ ¸î°¡Áö°¡ ÀÖ´Ù:

  1. ¸í½ÃÀû º´Çà ½ÇÇà
  2. ¾Ï½ÃÀû º´Çà ½ÇÇà
ÀÌµé °£ÀÇ ÁÖ¿äÇÑ Â÷ÀÌÁ¡Àº ¸í½ÃÀû º´·Ä¼ºÀº »ç¿ëÀÚ¿¡ ÀÇÇØ °áÁ¤ÀÌ µÇ°í, ¾Ï½ÃÀû º´·Ä¼ºÀº ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ °áÁ¤ÀÌ µÈ´Ù.

¸í½ÃÀû ¹æ¹ý

±âº»ÀûÀÎ ¹æ¹ýÀ¸·Î º´·Ä ÄÄÇ»Å͸¦ À§ÇØ ¹Ø±×¸²ÀÇ Æ¯Á¤ ºÎºÐÀ» »ç¿ëÀÚ°¡ º¯°æÇؾ߸¸ ÇÑ´Ù. »ç¿ëÀÚ´Â ¹Ýµå½Ã PVMÀ̳ª MPIÀ» Ãß°¡Çϰųª POSIX ¾²·¹µå¸¦ »ç¿ëÇÏ´Â ¾²·¹µå¸¦ Ãß°¡ÇؾßÇÑ´Ù. (±×·¯³ª ¸¶À½¿¡ ±â¾ïÇصξî¾ß ÇÒ °ÍÀº ¾²·¹µå SMP ¸¶´õº¸µåµé »çÀÌ·Î À̵¿ÇÒ ¼ö ¾ø´Ù.) ¸í½ÃÀû ¹æ¹ýÀº ±¸Çö°ú ¹ú·¹Àâ±â°¡ ¸Å¿ì ¾î·Á¿î °æÇâÀÌ ÀÖ´Ù. ÀüÇüÀûÀ¸·Î »ç¿ëÀÚ°¡ Ç¥ÁØ Æ÷Æ®¶õ 77À̳ª C/C++ ¹Ø±×¸²¿¡¼­ ¸í½ÃÀû ÇÔ¼ö¶ó ºÒ¸®´Â °ÍÀ» Æ÷ÇÔÇØ¾ß ÇÑ´Ù. MPI ¶óÀ̺귯¸®Àº ¸î°¡Áö Ç¥ÁØ º´·Ä ¹æ¹ýÀ» ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ´Â ¸î°¡Áö ÇÔ¼ö¸¦ °¡Áö°í ÀÖ´Ù.(¿¹·Î, Èð¾îÁÖ´Â/¸ðÀ¸´Â ÇÔ¼öµé). Ãß°¡ÀûÀ¸·Î º´·Ä ÄÄÇ»ÅÍÀ» À§ÇØ ¾¯¿©Áø Ç¥ÁØ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ±×·¸Áö¸¸, ÁÖ¸ñÇÒ °ÍÀº À̵¿¼º°ú È¿À²¼ºÀº ¸ð¼øÀûÀÌ´Ù. ¿ª»çÀûÀÎ ÀÌÀ¯·ÎÇؼ­ ¸¹Àº ¼ýÀÚÀÇ cruching ÄÚµåµéÀº FORTRANÀ¸·Î ÀÛ¼ºµÇ¾î Á® ÀÖ´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·ÎÇؼ­ FORTRANÀº º´·Ä °è»ê¿¡ À־ °¡Àå ¸¹Àº ¾çÀÇ Áö¿ø(µµ±¸µé, ¶óÀ̺귯¸®µé, µîµî)À» °¡Áö°í ÀÖ´Ù. ÇöÀç C¸¦ »ç¿ëÇÏ°í ÀÖ´Â ¸¹Àº ÇÁ·Î±×·¡¸ÓµéÀÌ C°¡ ´õ»¡¸® ½ÇÇàµÅ´Ù´Â »ý°¢À¸·Î ±âÁ¸ FORTRAN Ç®±×¸²À» C·Î ÀçÀÛ¼ºÇÏ°í ÀÖ´Ù. ÀÌ·¯ÇÑ »ý°¢ÀÌ º¸ÆíÀûÀÎ ¸Ó½Å Äڵ忡¼­ C·Î µÈ °ÍÀº »ç½ÇÀÏÁö ¸ô¶óµµ, ¸î°¡Áö ÁÖ¿äÇÑ °áÁ¡À» °¡Áö°í ÀÖ´Ù. C¿¡¼­ Æ÷ÀÌÅÍÀÇ »ç¿ëÀº µ¥ÀÌÅÍ ÀÇÁ¸¼ºÀ» °áÁ¤Çϴµ¥ À־ ±Øµµ·Ï ¾î·Æ°Ô ¸¸µç´Ù. Æ÷ÀÎÅÍÀÇ ÀÚµ¿ ºÐ¼®Àº ±Øµµ·Î ¾î·Æ´Ù. ±âÁ¸ Æ÷Æ®¶õ ÇÁ·Î±×·¥À» °¡Áö°í ÀÖ°í ¾ÕÀ¸·Î º´·Ä·Î ó¸®ÇÒ·Á°í ÇÑ´Ù¸é, C·Î ¹Ù²ÙÁö ¸»¶ó.

¾Ï½ÃÀû ¹æ¹ý

¾Ï½ÃÀû ¹æ¹ýÀº »ç¿ëÀÚ°¡ ÄÄÆÄÀÏÇϱâ À§ÇØ º´·ÄÈ­ °áÁ¤ÀÇ ÀϺÎ(¶Ç´Â ¸ðµå)¸¦ Æ÷±âÇØ¾ß ÇÑ´Ù. Æ÷Æ®¶õ 90ÀÇ ¿¹·Î °í¼º´É Æ÷Æ®¶õ(High Performance FORTRAN: HPF), Bluk Bynchronous Parallel (BSP), ±×¸®°í ´Ù¸¥ ¹æ¹ýÀÇ ÃÑüÀû ¸ðÀÓµéÀº ¾ÆÁ÷µµ °³¹ßÁß¿¡ ÀÖ´Ù. ¾Ï½ÃÀû ¹æ¹ýÀº »ç¿ëÀÚ°¡ ±×µé Ç®±×¸²ÀÇ º´Çà ¼ºÁú¿¡ ´ëÇÑ ¸î°¡Áö Á¤º¸ Á¦°øÀ» ¿ä±¸ÇÏÁö¸¸, ÄÄÆÄÀÏ·¯´Â ¾î¶»°Ô ÀÌ º´ÇàÀ» º´·Ä·Î ½ÇÇàÇϴ°¡¿¡ ´ëÇÑ ¸¹Àº °áÁ¤À» ³»·Á¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ ¹æ¹ýÀº À̵¿¼º°ú È¿À²¼ºÀÇ ¸î°¡Áö ´Ü°è¸¦ Á¦°øÇÏÁö¸¸, º´·Ä ÄÄÇ»ÅÍ¿¡ ´ëÇÑ º´Çà ¹®Á¦ÀÇ ±â¼úÀ» ÇÏ´Â "°¡Àå ÁÁÀº ¹æ¹ý"Àº ¾ÆÁ÷±îÁö´Â ¾Æ´Ï´Ù.


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