¼¿ ¸Þ½Ã¡ ·¹À̾î

¼¿ ¸Þ½Ã¡ ·¹À̾î´Â ¼¿ ±¤´ë¿ª ¿£ÁøÀÇ Åë½Å ¶óÀ̺귯¸®ÀÔ´Ï´Ù.
Áö±Ý ´Ù¿î·Îµå

¼¿ ¸Þ½Ã¡ ·¹ÀÌ¾î ¼øÀ§ ¹× ¿ä¾à

±¤°í

  • Rating:
  • ƯÇã:
  • GPL
  • °¡°Ý:
  • FREE
  • °Ô½ÃÀÚ À̸§:
  • Scott Pakin
  • °Ô½ÃÀÚ À¥»çÀÌÆ®:
  • http://www.pakin.org/~scott/

¼¿ ¸Þ½Ã¡ ·¹À̾î ű×


¼¿ ¸Þ½Ã¡ ·¹ÀÌ¾î ¼³¸í

¼¿ ¸Þ½Ã¡ ·¹À̾î´Â ¼¿ ±¤´ë¿ª ¿£ÁøÀÇ Åë½Å ¶óÀ̺귯¸®ÀÔ´Ï´Ù. ¼¿ ¸Þ½Ã¡ ·¹À̾î (¶Ç´Â ªÀº CML)´Â ¼¿ ±¤´ë¿ª ¿£ÁøÀÇ Åë½Å ¶óÀ̺귯¸®·Î ¸¹Àº »ç¶÷µéÀÌ PlayStation 3 ¸¶ÀÌÅ©·Î ÇÁ·Î¼¼¼­·Î ÀνÄÇÕ´Ï´Ù. CMLÀº MPI (Messaging Passing Interface)°¡ Á¦°øÇÏ´Â ±â´ÉÀÇ ÀÛ°í »ç¿ë °¡´ÉÇÑ ÇÏÀ§ ÁýÇÕÀ» ±¸ÇöÇÕ´Ï´Ù.ÀÌ ±â´ÉÀº º´·Ä ÄÄÇ»ÅÍ ¶Ç´Â ¿öÅ© ½ºÅ×ÀÌ¼Ç Å¬·¯½ºÅÍ ÇÁ·Î±×·¡¹Ö¿¡ Àͼ÷ÇÑ ÇÁ·Î±×·¡¸Ó¿¡°Ô Àͼ÷ÇÑ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù. ¼¿ ¸Þ½Ã¡ ·¹À̾î´Â ´ÜÀÏ ¼¿»Ó¸¸ ¾Æ´Ï¶ó ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù. ÇÁ·Î¼¼¼­»Ó¸¸ ¾Æ´Ï¶ó °øÅë ¸Þ¸ð¸® °ø°£°ú ¿©·¯ ¼¿ ÄÄÇ»Æà ³ëµå°¡ Æ÷ÇÔ µÈ Ŭ·¯½ºÅ͸¦ °øÀ¯ÇÏ´Â ¿©·¯ ¼¿ ÇÁ·Î¼¼¼­°¡ Æ÷ÇÔ µÈ ÄÄÇ»Æà ³ëµå¿¡µµ ÀÖ½À´Ï´Ù. ±¸¼º¿¡ °ü°è¾øÀÌ, CMLÀº Àüü ½Ã½ºÅÛÀÌ ¼¿ º¤ÅÍ ´ÜÀ§ÀÇ ±ÕÁú ÇÑ Å¬·¯½ºÅÍó·³ º¸ÀÌ°ÔÇÕ´Ï´Ù (»ó½Â ·ÐÀû ó¸® ¿ä¼Ò ¶Ç´Â ½ºÇǾî¶ó°í ÇÔ). ¸ðµç SPE´Â ¹°¸®Àû À§Ä¡¿¡ °ü°è¾øÀÌ ´Ù¸¥ SPE¿Í Á÷Á¢ Åë½Å ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼¿ ¸Þ½Ã¡ ·¹À̾î´Â ¼º´ÉÀ» À§ÇØ ÃÖÀûÈ­µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ±ÛÀ» ¾²´Â ½ÃÁ¡¿¡¼­´Â ¼¿¿¡ »ç¿ëÇÒ ¼öÀÖ´Â °¡Àå ºü¸¥ ¸Þ½Ã¡ Àü´Þ ¶óÀ̺귯¸®ÀÔ´Ï´Ù. ÀÌ Á¦Ç°Àº ¼¿ÀÇ ´À¸®°ÔÇÏÁö¸¸ À¯¿¬ÇÑ Àü·Â ÇÁ·Î¼¼¼­ ¿ä¼Ò (PPE)¸¦ »ç¿ëÇÏ¿© Internode Communication¿¡¼­¸¸ ³ëµå ³»¿¡¼­ »ç¿ëÇÏÁö ¸¶½Ê½Ã¿À. Áý´Ü Á¶ÀÛÀº CML ¹èÆ÷ÆÇÀÇ Node.Usagethe ¿¹Á¦ µð·ºÅ丮 ³»ÀÇ ¿©·¯ ¼¿À» ¿¬°áÇÏ´Â ±¤´ë¿ª ÀÎÅÍÆäÀ̽º (BIF)¸¦ ¿¬°áÇÏ´Â PPE»Ó¸¸ ¾Æ´Ï¶ó PPE»Ó¸¸ ¾Æ´Ï¶ó CML ¹èÆ÷ÆÇÀÇ Directory¸¦ ¿¬°áÇÏ´Â ±¤´ë¿ª ÀÎÅÍÆäÀ̽º (BIF)ÀÇ »ç¿ëÀ» ÃÖ¼ÒÈ­Çϵµ·Ï ¼³°èµÇ¾úÀ¸¹Ç·Î ¼¿ ¸Þ½Ã¡ ·¹À̾ »ç¿ëÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. ÃÖ¼Ò ÇÏÀ§ µð·ºÅ丮ÀÇ ÆÄÀÏÀº PPE ¹× SPE¿¡ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ Äڵ带 "DO-Nothing"ÇÁ·Î±×·¥¿¡ ´ëÇØ º¸¿©ÁÝ´Ï´Ù. Showcase ¼­ºê µð·ºÅ丮ÀÇ ÆÄÀÏÀº ¼¿ ¸Þ½Ã¡ ·¹À̾¼­ ±¸Çö µÈ ¸ðµç MPI ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. ÀÌ ±ÛÀ» ¾²´Â ½ÃÁ¡¿¡¼­ ÀÌ·¯ÇÑ ÇÔ¼ö¿¡´Â ´ÙÀ½ÀÌ Æ÷ÇԵ˴ϴÙ. mpi_abort ()? MPI_AllReduce ()? mpi_barrier ()? mpi_bcast ()? mpi_comm_get_attr ()? mpi_comm_rank ()? mpi_comm_size ()? mpi_finalize ()? mpi_init ()? mpi_recv ()? mpi_reduce ()? mpi_send ()? mpi_wtime ()? mpi_wtick () ÀÌ·¯ÇÑ °¢ ÇÔ¼ö (¿¹ : http://www-unix.mcs.anl.gov/mpi/www/)¿¡ ´ëÇÑ À¥¿¡ ´ëÇÑ ¼³¸í¼­°¡ ÀÖ½À´Ï´Ù. ¼¿ ¸Þ½Ã¡ °èÃþÀÇ ÀϺηΠ¼³Ä¡µÈ SPE / include / mpi.h ÆÄÀÏÀ» ÂüÁ¶ÇϽʽÿÀ. ¼¿ ¸Þ½Ã¡ ·¹À̾îÀÇ ÀϺηΠ¼³Ä¡µÈ Function PrototypesÀÇ ¿ÏÀüÇÑ ¼¼Æ®¿¡ ´ëÇؼ­´Â ÇϳªÀÇ ¼¿ÀÇ ¸ðµç ½ºÆÄÀ̼ÇÀ» »ç¿ëÇϵµ·Ï ÇÒ´çµË´Ï´Ù. ´ÙÀ½ ¼¿¿¡ÀÖ´Â ½ºÆÄ. Áï, 0¿¡¼­ 7 ¼øÀ§´Â ù ¹ø° ¼¿¿¡ ÀÖÀ¸¸ç, 8 ~ 15´Â µÎ ¹ø° ¼¿¿¡ ÀÖÀ¸¸ç (ÇöÀç Çϵå¿þ¾î¸¦ ¼¿ ´ç 8 °³ ½ºÆä¾î°¡ÀÖ´Â °æ¿ì). MPI_COMM_GET_ATTR () ÇÔ¼ö´Â MPI_CML_LOCAL_NEIGHBORS Å°¸¦ ¼ö¶ôÇÕ´Ï´Ù. ´ÜÀÏ PPE (ÀϹÝÀûÀ¸·Î ´ÜÀÏ ¼¿ ¶Ç´Â BIF ¿¬°áÀ» ÅëÇØ ¿¬°áµÈ ¼¿ÀÇ °æ¿ì ÀϹÝÀûÀ¸·Î 8¿¡ ´ëÇؼ­´Â ÀϹÝÀûÀ¸·Î 8 ¶Ç´Â 16 °³ÀÇ ¼¿¿¡ ´ëÇؼ­´Â ÀϹÝÀûÀ¸·Î 8). CMLMAXLOCALSPES ȯ°æ º¯¼ö´Â °¢ PPE¿¡¼­ »ç¿ëÇÏ´Â ½ºÇÇ¾î ¼ö¸¦ Á¦ÇÑÇÕ´Ï´Ù. ±×°ÍÀº 2ÀÇ ÈûÀ¸·Î ¼³Á¤µÇ¾î¾ßÇÕ´Ï´Ù. ¼¿ ¸Þ½Ã¡ ·¹À̾î´Â SPE°¡ PPE¿¡¼­ ±â´ÉÀ» È£ÃâÇÏ°í °á°ú¸¦ ¼ö½Å ÇÒ ¼öÀÖ°Ô ÇØÁÖ´Â Æí¸®ÇÑ ¿ø°Ý ÇÁ·Î ½ÃÀú È£Ãâ (RPC) ¸ÞÄ¿´ÏÁòÀ» Áö¿øÇÕ´Ï´Ù. »ç¿ë ¿¹Á¦´Â ¿¹Á¦ / Showcase µð·ºÅ丮ÀÇ ÆÄÀÏÀ» ÂüÁ¶ÇϽʽÿÀ. ÀÌ ¸±¸®½º¿¡¼­´Â »õ·Î¿î ±â´É : ¡¤ ¼ö¸¹Àº ¹ö±×°¡ ¼öÁ¤µÇ¾úÀ¸¸ç ÀϺΠ°¡È¤Çß½À´Ï´Ù. ¡¤ "Showcase"¿¹Á¦´Â ÀýÁ¦ / ¸ÖƼ ij½ºÆ®ÀÇ °á°ú¸¦ Â÷·Ê·Î ¼öÁ¤Çß½À´Ï´Ù.


¼¿ ¸Þ½Ã¡ ·¹ÀÌ¾î °ü·Ã ¼ÒÇÁÆ®¿þ¾î