¹Ýµð¾Ø·ç´Ï½º ÀÎÅͳݼ­Á¡

³×ºñ°ÔÀÌ¼Ç ½Ç½Ã°£ Àαâ Ã¥

    R º´·Ä ÇÁ·Î±×·¡¹Ö - acorn+PACKT ½Ã¸®Áî ºü¸¥ µ¥ÀÌÅÍ Ã³¸®¸¦ À§ÇÑ º´·Ä ÇÁ·Î±×·¡¹ÖÀÇ ±âÃÊ¿Í °í±Þ ¶óÀ̺귯¸® È°¿ë

    ¿øÁ¦ : Mastering Parallel Programming with R

    • »çÀÌ¸Õ Ã¤ÇÃ, ¿¡Àϸ® Æ®·ì, Å丣½ºÅÙ Æ÷½ºÅÍ ¿Ü Àú
    • ÀÌÆÇÈ£ ¿ª
    • ¿¡ÀÌÄÜÃâÆÇ
    • 2017³â 02¿ù 07ÀÏ
    • Á¤°¡
      25,000¿ø
    • ÆǸŰ¡
      22,500¿ø [10% ÇÒÀÎ]
    • °áÁ¦ ÇýÅÃ
      ¹«ÀÌÀÚ
    • Àû¸³±Ý
      1,250¿ø Àû¸³ [5%P]

      NAVER Pay °áÁ¦ ½Ã ³×À̹öÆäÀÌ Æ÷ÀÎÆ® 5% Àû¸³ ?

    • ¹è¼Û±¸ºÐ
      ¾÷ü¹è¼Û(¹ÝµðºÏ)
    • ¹è¼Û·á
      ¹«·á¹è¼Û
    • Ãâ°í¿¹Á¤ÀÏ

      Ãâ°í¿¹Á¤ÀÏ ¾È³»

      ¡Ø Ãâ°í¿¹Á¤ÀÏÀº µµ¼­ Àç°í»óȲ¿¡ µû¶ó º¯µ¿µÉ ¼ö ÀÖ½À´Ï´Ù.

      close

      2024³â 04¿ù 22ÀÏ(¿ù)

      ¡Ø Ãâ°í¿¹Á¤ÀÏÀº µµ¼­ Àç°í»óȲ¿¡ µû¶ó º¯µ¿µÉ ¼ö ÀÖ½À´Ï´Ù.

    ¼ö·®
    ȸ¿ø¸®ºä
    - [0]
    ISBN: 9788960779747 292ÂÊ 188 x 234 (§®)

    Áö±Ý ÀÌÃ¥Àº

    • ÆǸÅÁö¼ö : 160

    ÀÌ Ã¥°ú ÇÔ²² ±¸¸ÅÇÑ Ã¥

    ÀÌ Ã¥ÀÌ ¼ÓÇÑ ºÐ¾ß

    ÃâÆÇ»ç ¸®ºä

    ÃâÆÇ»ç ¼­Æò
    ¡Ú ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë ¡Ú
    ¡á RÀÇ ³»Àå º´·Ä ÆÐÅ°Áö¸¦ »ç¿ëÇÑ ·Îµå¹ë·±½ÌµÈ º´·Ä ¿¬»êÀÇ È¿À²ÀûÀÎ ±¸Ãà
    ¡á AWS¿¡¼­ µ¿ÀÛÇÏ´Â ÇϵÓÀÇ ºÐ»êÈ­µÈ ¿¬»ê ½ÇÇàÀ» Æ÷ÇÔÇÑ R¿¡¼­ Ŭ¶ó¿ìµå ±â¹Ý º´·Ä ÀÎÇÁ¶ó? ¹èÄ¡ ¹× È°¿ë
    ¡á RMPI, pbdMPI, SPRINT ÆÐÅ°Áö¸¦ »ç¿ëÇÑ ¸Þ½ÃÁö Àü´Þ ÀÎÅÍÆäÀ̽º(MPI)·Î º¹ÀâÇÑ º´·Ä ó¸® ¾Ë°í¸®Áò °³¹ß
    ¡á»ç¿ëÀÚÀÇ MPI ±â¹Ý ·çƾÀ¸·Î º´·Ä R ÆÐÅ°Áö(SPRINT)ÀÇ »ý¼º ¹× È®Àå
    ¡á OpenCL·Î ±×·¡ÇÈ ÇÁ·Î¼¼½Ì À¯´Ö(GPU)ÀÇ º¤ÅÍ Ã³¸® ´É·ÂÀ» È°¿ëÇÑ R¿¡¼­ °¡¼ÓÈ­µÈ ¼öÄ¡ ÇÔ¼ö ±¸Çö
    ...
    ¡Ú ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë ¡Ú
    ¡á RÀÇ ³»Àå º´·Ä ÆÐÅ°Áö¸¦ »ç¿ëÇÑ ·Îµå¹ë·±½ÌµÈ º´·Ä ¿¬»êÀÇ È¿À²ÀûÀÎ ±¸Ãà
    ¡á AWS¿¡¼­ µ¿ÀÛÇÏ´Â ÇϵÓÀÇ ºÐ»êÈ­µÈ ¿¬»ê ½ÇÇàÀ» Æ÷ÇÔÇÑ R¿¡¼­ Ŭ¶ó¿ìµå ±â¹Ý º´·Ä ÀÎÇÁ¶ó ¹èÄ¡ ¹× È°¿ë
    ¡á RMPI, pbdMPI, SPRINT ÆÐÅ°Áö¸¦ »ç¿ëÇÑ ¸Þ½ÃÁö Àü´Þ ÀÎÅÍÆäÀ̽º(MPI)·Î º¹ÀâÇÑ º´·Ä ó¸® ¾Ë°í¸®Áò °³¹ß
    ¡á»ç¿ëÀÚÀÇ MPI ±â¹Ý ·çƾÀ¸·Î º´·Ä R ÆÐÅ°Áö(SPRINT)ÀÇ »ý¼º ¹× È®Àå
    ¡á OpenCL·Î ±×·¡ÇÈ ÇÁ·Î¼¼½Ì À¯´Ö(GPU)ÀÇ º¤ÅÍ Ã³¸® ´É·ÂÀ» È°¿ëÇÑ R¿¡¼­ °¡¼ÓÈ­µÈ ¼öÄ¡ ÇÔ¼ö ±¸Çö
    ¡á µ¥µå¶ô ¹× ¼öÄ¡Àû ºÒ¾ÈÁ¤¼º°ú °°Àº º´·Ä ÇÁ·Î±×·¡¹ÖÀÇ ÇÔÁ¤°ú ó¸® ¹× ȸÇÇ ¹æ¹ý
    ¡á ¸¶½ºÅÍ-¿öÄ¿ °úÁ¦ ³óÀå, °ø°£ ±×¸®µå, ÇÏÀ̺긮µå º´·Ä R ÇÁ·Î±×·¥ ¸¸µé±â
    ¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú
    Àå½Ã°£ ½ÇÇàµÇ´Â ¿¬»ê ¹× ´ë·®ÀÇ µ¥ÀÌÅÍ ºÐ¼®À» À§ÇØ º´·Ä ÄÄÇ»Æà ÆÄ¿öÀÇ È°¿ë¹ýÀ» ¹è¿ì°íÀÚ ÇÏ´Â Áß±Þ¿¡¼­ °í±Þ ¼öÁØÀÇ ÇÁ·Î±×·¡¸Ó¸¦ ´ë»óÀ¸·Î ÇÑ´Ù. R ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ÀûÀýÇÑ Áö½Ä°ú ÀÌÇØ°¡ ¿ä±¸µÈ´Ù. C³ª C++¿Í °°Àº ³·Àº ¼öÁØ ¾ð¾î¸¦ Àаí ÀÌÇØÇÒ ¼ö ÀÖÀ¸¸ç ÄÚµå ÄÄÆÄÀÏ ÇÁ·Î¼¼½º¿¡ Àͼ÷ÇÒ Á¤µµ·Î ÃæºÐÇÑ ´É·ÂÀÇ ÇÁ·Î±×·¡¸Ó¾ß ÇÑ´Ù. µ¶ÀÚ´Â ½º½º·Î ¼÷·ÃµÈ ÇÁ·Î±×·¡¸ÓÀÌÀÚ ¼öÇÐÀÚÀÎ »õ·Î¿î À¯ÇüÀÇ µ¥ÀÌÅÍ °úÇÐÀÚ¶ó°í ¿©°Ü¾ß ÇÑ´Ù.
    ¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú
    1Àå, 'R¿¡¼­ÀÇ °£´ÜÇÑ º´·ÄÈ­'¿¡¼­´Â RÀÇ º´·ÄÈ­µÈ ÇÙ½É ¹öÀüÀÎ lapply()¸¦ »ç¿ëÇØ ³ëÆ®ºÏÀÇ ¸ÖƼÄÚ¾î ÇÁ·Î¼¼½Ì ´É·ÂÀ» ¾î¶»°Ô È°¿ëÇÒ ¼ö ÀÖ´ÂÁö ºü¸£°Ô ¾Ë¾Æº»´Ù. ¶ÇÇÑ ¾Æ¸¶Á¸ À¥ ¼­ºñ½º¸¦ ÅëÇØ Å¬¶ó¿ìµåÀÇ ¸·´ëÇÑ ÄÄÇ»Æà ´É·Â¿¡ ´ëÇØ °£´ÜÈ÷ »ìÆ캻´Ù.
    2Àå, '¸Þ½ÃÁö Àü´Þ ¼Ò°³'¿¡¼­´Â °í±Þ º´·Ä ¾Ë°í¸®Áò ±¸Çö¿¡ ÇÙ½ÉÀûÀÎ ±â¼úÀÎ MPI¸¦ ´Ù·é´Ù. µÎ °¡ÁöÀÇ R MPI ÆÐÅ°ÁöÀÎ Rmpi ¹× pbdMPI¿Í ÇÔ²² ÇØ´ç Åë½Å ¼­ºê½Ã½ºÅÛÀÇ OpenMPIÀ» ±¸ÇöÇÑ´Ù.
    3Àå, '°í±Þ ¸Þ½ÃÁö Àü´Þ'¿¡¼­´Â ±¸Ã¼ÀûÀÎ Rmpi ¿¹Á¦¸¦ °³¹ßÇÏ°í ºñÂ÷´Ü Åë½Å°ú ÇÁ·Î¼¼½º °£ ¸Þ½ÃÁö ±³È¯ÀÇ Áö¿ªÈ­ ÆÐÅÏÀ» ¼³¸íÇϸç MPI ÇнÀÀ» ¸¶¹«¸®ÇÑ´Ù. À̸¦ À§ÇØ °ø°£ ±×¸®µå º´·ÄÈ­¸¦ ±¸ÇöÇÑ´Ù.
    4Àå, '½´ÆÛÄÄÇ»ÅÍ¿ë MPI ±â¹Ý R ÆÐÅ°Áö: SPRINT °³¹ß'¿¡¼­´Â ½ÇÁ¦ ½´ÆÛÄÄÇ»ÅÍ¿¡¼­ º´·Ä Äڵ带 ½ÇÇàÇÏ´Â °æÇèÀ» ¼Ò°³ÇÑ´Ù. ¶ÇÇÑ ½´ÆÛÄÄÇ»ÅÍ´Â ¹°·Ð ³ëÆ®ºÏ¿¡¼­µµ ½ÇÇàÇÒ ¼ö ÀÖ´Â C·Î ÀÛ¼ºµÈ º´·Ä ÄÄÇ»Æà R ÆÐÅ°ÁöÀÎ SPRINT °³¹ß¿¡ ´ëÇØ »ó¼¼È÷ ¼³¸íÇÑ´Ù. ±×¸®°í Á÷Á¢ ÀÛ¼ºÇÑ °í¼º´ÉÀÇ º´·Ä ¾Ë°í¸®ÁòÀ¸·Î ¾î¶»°Ô ÀÌ ÆÐÅ°Áö¸¦ È®ÀåÇÒ ¼ö ÀÖ´ÂÁö, ¾î¶»°Ô À̸¦ R¿¡¼­ Á¢±ÙÇÒ ¼ö ÀÖ´ÂÁö º¸¿©ÁØ´Ù.
    5Àå, '³ëÆ®ºÏ ¾ÈÀÇ ½´ÆÛÄÄÇ»ÅÍ'¿¡¼­´Â ¿©·¯ºÐÀÇ ³ëÆ®ºÏ¿¡ ³»ÀåµÈ ±×·¡ÇȽº ÇÁ·Î¼¼½Ì À¯´Ö(GPU, Graphics Processing Unit)ÀÇ ¾öû³­ º´·Ä ¹× º¤ÅÍ ÇÁ·Î¼¼½Ì ´É·ÂÀ» R¿¡¼­ ¾î¶»°Ô µå·¯³¾ ¼ö ÀÖ´ÂÁö º¸¿©ÁØ´Ù. À̸¦ À§ÇØ °ø°³ ÄÄÇ»Æà ¾ð¾î(OpenCL, Open Computing Language)ÀÇ R ·¡ÆÛ(wrapper)ÀÎ ROpenCL ÆÐÅ°Áö¸¦ »ç¿ëÇÑ´Ù.
    6Àå, 'º´·Ä ÄÄÇ»ÆÃÀÇ ¿¹¼ú'¿¡¼­´Â º´·Ä ÇÁ·Î±×·¡¹Ö ¹× ±× ¼º´É À̸éÀÇ ±âÃÊ °úÇаú ÀáÀçÀûÀÎ ÇÔÁ¤À» °­Á¶ÇÑ´Ù. ¸ð¹ü »ç·ÊÀÇ ±â¼úÀ» Á¦°øÇÏ°í, º´·Ä ÄÄÇ»Æà ½Ã½ºÅÛÀÇ ¹Ì·¡¸¦ »ìÆ캽À¸·Î½á ³¡¸Î´Â´Ù.
    ¡Ú ÁöÀºÀÌÀÇ ¸» ¡Ú
    ¿ì¸®´Â ÇöÀç Æø¹ßÀûÀ¸·Î ±ÞÁõÇÏ°í ÀÖ´Â Á¤º¸ÀÇ ÇÑ°¡¿îµ¥ ÀÖ´Ù. ¿ì¸® »îÀÇ ¸ðµç °ÍÀº ÀÚ½ÅÀÇ »ý¸í È°µ¿¿¡¼­ ¼¼°è ȯ°æ¿¡ À̸£±â±îÁö »ç¹° ÀÎÅͳÝ(IoT, Internet of Things)À» ÅëÇØ ½Ç½Ã°£À¸·Î ÃøÁ¤µÇ¸ç ¿¬°áµÅ ÀÖ´Ù. ÀϺΠÁöÇ¥¿¡ µû¸£¸é 2020³â¿¡´Â ¼¼°èÀÇ Á¤º¸·®ÀÌ ¿À´Ã³¯·ÎºÎÅÍ 10¹è Áõ°¡ÇØ ¹Ï±â ¾î·Á¿î ±Ô¸ðÀÎ 44Á¦Å¸ ¹ÙÀÌÆ®(1Á¦Å¸ ¹ÙÀÌÆ®´Â 2,500¾ï °³ DVD¿Í °°Àº ±Ô¸ð´Ù)¿¡ À̸¦ °ÍÀ¸·Î Àü¸ÁµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ±Ô¸ð¿Í ¼ÓµµÀÇ ºòµ¥ÀÌÅ͸¦ ó¸®Çϱâ À§ÇØ ¸·´ëÇÑ ±Ô¸ðÀÇ °è»ê·Â, ¸Þ¸ð¸®, µð½ºÅ© ÀÚ¿øÀÌ ÇÊ¿äÇϸç, À̸¦ À§Çؼ­´Â º´·ÄÈ­°¡ ÇÊ¿äÇÏ´Ù.
    ¿ÀǼҽº Åë°è ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÎ RÀº ¸¸µé¾îÁø ÇÞ¼ö¿¡µµ ºÒ±¸ÇÏ°í µ¥ÀÌÅÍ ºÐ¼®¿¡ ÁÖÃåµ¹°ú °°Àº ±â¼ú Áß Çϳª·Î Àα⸦ ¾ò°í ÀÖ´Ù. ±×¸®°í °è¼Ó È®ÀåµÇ°í ÀÖ´Â Ä¿¹Â´ÏƼÀ̸鼭 Àå´ãÇÏ°Ç´ë ÇöÀç Àαâ ÀÖ´Â ¸íĪÀÎ ¡®µ¥ÀÌÅÍ °úÇÐÀÚ¡¯¿¡ ÀÇÇØ ¾²ÀÌ°í ÀÖ´Ù.
    ¹°·Ð µ¥ÀÌÅÍ °úÇÐÀÚ°¡ ºòµ¥ÀÌÅͶó´Â ¾ß¼ö¸¦ ±æµéÀ̱â À§ÇØ µµÀÔÇÒ ¼ö ÀÖ´Â µµ±¸´Â ¿©·¯ °¡Áö°¡ ÀÖ´Ù. ¾î¼¸é ¿©·¯ºÐÀº ÆÄÀ̽ã(Python), SAS, SPSS ¾Æ´Ï¸é MATLABÀÇ °í¼öÀÏ ¼öµµ ÀÖ´Ù. ±×·¯³ª 1997³â ÀÌÈÄ·Î ±â³ª±ä ¿ÀǼҽºÀÇ À¯»ê°ú ÇÔ²²ÇÑ RÀº ±×»çÀÌ 20³â µ¿¾È °³¹ßµÅ ¿Â CRAN È£½ºÆÃÀÇ ¸Å¿ì ´Ù¾çÇÑ Ç÷¯±×ÀÎ ¶óÀ̺귯¸® ÆÐÅ°Áö¿Í ÇÔ²² ³Î¸® º¸±ÞµÇ°í ÀÖÀ¸¸ç, ÀÛÀº ¼ýÀÚ Çà·Ä¿¡¼­ºÎÅÍ »ýü ºÐÀÚ DNA¿Í °°Àº ±ØÈ÷ ´ë±Ô¸ðÀÇ ±âÈ£·Î µÈ µ¥ÀÌÅͼ¿¡ À̸£±â±îÁö ´ëºÎºÐÀÇ µ¥ÀÌÅÍ ÇüŸ¦ ´Ù·ê ¼ö ÀÖ´Ù. ¹°·Ð ¿ì¸®´Â RÀÌ ¸Å¿ì ´Ù¾çÇÑ ÇüÅÂÀÇ µ¥ÀÌÅÍ¿¡ °ü·ÃµÈ »ó´çÈ÷ º¹ÀâÇÑ ºÐ¼® °úÁ¤À» Á¶À²ÇÒ ¼ö ÀÖ´Â, »ç½Ç»ó µ¥ÀÌÅÍ °úÇÐ ½ºÅ©¸³Æà ¾ð¾î·Î ÀÚ¸®¸Å±èÇÏ°í ÀÖ´Ù´Â °ÍÀ» Á¦½ÃÇϱâ À§ÇØ °¡´ÉÇÑ ÇÑ ±í°Ô µé¾î°¡°íÀÚ ÇÑ´Ù.
    R ÀÚü´Â Ç×»ó ½Ì±Û ½º·¹µå(single thread)·Î ±¸ÇöµÆÀ¸¸ç, ¾ð¾î ±Ùº» ÀÚü ³»¿¡¼­ º´·ÄÈ­¸¦ »ç¿ëÇÏÁö ¾Êµµ·Ï µðÀÚÀεƴÙ. ´ë½Å ƯÁ¤ °¡¼ÓÈ­µÈ ÇÔ¼ö¸¦ À§ÇÑ º´·ÄÈ­ ¼ö¸³°ú º´·Ä ó¸® ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ·Á°í Ưº°È÷ ±¸ÇöµÈ ¿ÜºÎ ÆÐÅ°Áö ¶óÀ̺귯¸®¿¡ ÀÇÁ¸ÇÑ´Ù. ´Ù¾çÇÑ ±â¼ú ºÐ¾ß¿¡¼­ º´·Ä ¾Ë°í¸®ÁòÀ» °³¹ßÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °¡Àå ÁÁÀº ´ëÇ¥Àû ±¸Çö ¹æ¹ýÀ» ¸î °¡Áö »ìÆ캻´Ù.
    ÀÌ Ã¥¿¡¼­´Â RÀÇ ÀÚü ¸ÖƼÄÚ¾î ´É·ÂÀ» È°¿ëÇÏ´Â parallel ÆÐÅ°Áö¿Í ¸Þ½ÃÁö Àü´Þ ÀÎÅÍÆäÀ̽º(MPI, Message Passing Interface) Ç¥ÁØÀ» »ç¿ëÇÏ´Â ¸Þ½ÃÁö Àü´Þ¹ý, OpenCLÀ» ÅëÇÑ ¹ü¿ë ¸ñÀûÀÇ GPU(GPGPU) ±â¹Ý º´·ÄÈ­¸¦ ºñ·ÔÇØ ´ÜÀÏ ÇÁ·Î±×·¥ º¹¼ö µ¥ÀÌÅÍ(SPMD, Single Program Multiple Data)¿¡¼­ ´ÜÀÏ ¸í·É º¹¼ö µ¥ÀÌÅÍ(SIMD, Single Instruction Multiple Data)¿¡ À̸£±â±îÁö º´·ÄÈ­ÀÇ ¿©·¯ ´Ù¸¥ ¸éÀ» »ìÆ캻´Ù. ¶ÇÇÑ °úÁ¦ ÆĹÖ(farming)À» ÅëÇÑ ·Îµå¹ë·±½Ì¿¡¼­ ±×¸®µå¸¦ ÅëÇÑ °ø°£ 󸮿¡ À̸£±â±îÁö ÇÁ·¹ÀÓ¿öÅ© º´·ÄÈ­ Á¢±Ù ¹æ¹ýÀÇ Â÷ÀÌÁ¡À» »ìÆ캻´Ù. ±×¸®°í Ŭ¶ó¿ìµå¿¡¼­ ÇϵÓÀ» ÅëÇÑ ÀϹÝÀûÀÎ ¸ñÀûÀÇ ¹èÄ¡ µ¥ÀÌÅÍ(batch-data) ó¸®, ±×¸®°í º¸³Ê½º·Î Ŭ·¯½ºÅÍ ÄÄÇ»Æÿ¡¼­ ÃÖ±Ù Àαâ ÀÖ´Â »õ·Î¿î ±â¼úÀ̸鼭 ´ë±Ô¸ðÀÇ ½Ç½Ã°£ µ¥ÀÌÅÍ Ã³¸®¿¡ ´õ ÀûÇÕÇÑ ¾ÆÆÄÄ¡ ½ºÆÄÅ©¿¡ ´ëÇØ °£´ÜÈ÷ ¾ð±ÞÇÑ´Ù. °Ô´Ù°¡ ¼ö¹é¸¸ ÆÄ¿îµåÂ¥¸® ½´ÆÛÄÄÇ»ÅÍÀÇ »ç¿ë¹ýÀ» »ìÆ캻´Ù. À̸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö, ¾î´À Á¤µµÀÇ ¼º´ÉÀ» ´Þ¼ºÇÒ ¼ö ÀÖ´ÂÁö º¸µµ·Ï ÇÑ´Ù. ¿©·¯ºÐÀÌ »ç´Â Áö¿ªÀÇ ½´ÆÛÄÄÇ»ÅÍ ¼¾ÅÍ¿¡ µéÀÌ´ÚÄ£ ÈÄ, ¿©·¯ºÐÀÌ ¹ß°ßÇÑ »õ·Î¿î Áö½ÄÀ¸·Î ¾öû³­ ±Ô¸ðÀÇ º´·Ä ÄÄÇ»ÆÃÀ» Çغ¼ ¼ö ÀÖ°Ô µÉÁö ´©°¡ ¾Ë°Ú´Â°¡?
    ÀÌ Ã¥¿¡ ³ª¿Â ¸ðµç ÄÚµù ¿¹Á¦´Â Á÷Á¢ ÀÛ¼ºÇÑ °ÍÀ̸ç, ÀϺΠ¿¹Á¦´Â °°Àº ºÐ¾ßÀÇ ´Ù¸¥ Ã¥¿¡¼­ ¸¸³¯ ¼ö ÀÖÀ» ¹ýÇÑ Á¾·ùÀÇ ¿¹Á¦¿Í °ãÄ¡Áö ¾Ê°Ô ¼±ÅÃÇß´Ù. ¿ì¸®´Â Æò¹üÇÑ °Í°ú ´Ù¼Ò ´Ù¸¥ ¹«¾ð°¡·Î µ¶ÀÚ ¿©·¯ºÐÀ» »ç·ÎÀâÀ» ¼ö ÀÖ°Ô ¿¹Á¦µéÀ» ¼±ÅÃÇß´Ù. ¿ì¸®´Â ¿©·¯ºÐÀÌ ÀÌÁ¦ ¸· ½ÃÀÛÇÏ´Â R¿¡¼­ÀÇ º´·Ä ÇÁ·Î±×·¡¹Ö ¿Ï¼º °úÁ¤À» Áñ±â±â¸¦ ±â´ëÇÑ´Ù.
    ¡Ú ¿Å±äÀÌÀÇ ¸»¡Ú
    21¼¼±â µé¾î IT¾÷°è¿¡¼­ °¡Àå Àαâ ÀÖ´Â È­µÎ Áß Çϳª´Â ¹Ù·Î 'µ¥ÀÌÅÍ¡¯°¡ ¾Æ´Ò±î ÇÑ´Ù. ¼ÒÇÁÆ®¿þ¾î ¾øÀÌ Áö¼Ó °¡´ÉÇÑ »ê¾÷ÀÌ Àü¹«ÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Â Áö±Ý ºñ´Ü IT»Ó¸¸ ¾Æ´Ï¶ó ¸ðµç ¾÷°è¿¡¼­ µ¥ÀÌÅÍÀÇ Á߿伺À» ¿ÜÄ¡°í ÀÖ´Ù. Àú¼ºÀåÀ¸·Î ÀÎÇØ ¾çÀû ÆØâÀÌ ¾î·Á¿öÁö¸é¼­ µ¥ÀÌÅÍ´Â ¸ðµç ºÐ¾ß¿¡¼­ »ý»ê¼ºÀ» Á¶±ÝÀÌ¶óµµ Å°¿ì±â À§ÇÑ ÇÙ½ÉÀûÀÎ ¼ö´Ü

    ÀúÀÚ ¼Ò°³

    »çÀÌ¸Õ Ã¤ÇÃ, ¿¡Àϸ® Æ®·ì, Å丣½ºÅÙ Æ÷½ºÅÍ ¿Ü

    ÀúÀÚ »çÀÌ¸Õ Ã¤ÇÃ(Simon R. Chapple)Àº °íµµ·Î ¼÷·ÃµÈ ¼Ö·ç¼Ç ¾ÆÅ°ÅØÆ®ÀÌÀÚ ¼±ÀÓ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î´Ù. µ¥ÀÌÅÍ ºÐ¼®°ú ÇコÄɾî Á¤º¸Çп¡ ´ëÇÑ Çõ½ÅÀûÀÎ ¼Ö·ç¼Ç ¹× ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ 25³âÀÌ ³Ñ´Â °æ·ÂÀ» ½×¾Ò´Ù. ¶ÇÇÑ ½´ÆÛÄÄÇ»ÅÍ HPC(High Performance Computing)¿Í ºòµ¥ÀÌÅÍ ÇÁ·Î¼¼½Ì Àü¹®°¡´Ù.
    µ¥ÀÌÅ͸®Æ½½º Å×Å©³î·ÎÁö »ç(Datalytics Technology Ltd)ÀÇ CTOÀÌÀÚ °æ¿µ ÆÄÆ®³Ê´Ù. ±âÁ¸ IT ¿î¿µ ȯ°æ¿¡¼­ ½±°Ô ¹èÆ÷ÇÒ ¼ö ÀÖ°Ô Ä¸½¶È­µÈ Â÷¼¼´ëÀÇ ´ë±Ô¸ð µ¥ÀÌÅÍ ºÐ¼® Ç÷§Æû °³¹ßÀ» À§ÇÑ ÆÀ ±¸¼ºÀ» À̲ø°í ÀÖ´Ù. ÀÌ Ç÷§ÆûÀº Ä¿½ºÅ͸¶ÀÌ¡ÀÌ °¡´ÉÇÑ °í¼º´É µµ±¸, ÇÁ·¹ÀÓ¿öÅ©, ½Ã½ºÅÛÀ¸·Î ±¸¼ºµÅ ÀÖÀ¸¸ç, µ¥ÀÌÅÍ ¼öÁý°ú ºÐ¼®, ½Ã°¢È­¿¡ À̸£±â±îÁö ½Ç½Ã°£ ºÐ¼®À» À§ÇÑ µ¥ÀÌÅÍ ºÐ¼®ÀÇ Àüü »ý¸íÁֱ⸦ °¡´ÉÄÉ ÇÑ´Ù.
    ¾Æ¸®µð¾Æ ÀÎÆ÷¸Åƽ½º(Aridhria Informatics)ÀÇ Á¦Ç° Çõ½Å À̻翴À¸¸ç, ½ºÄÚƲ·£µåÀÇ ÀÇ·á °ø±ÞÀÚ¸¦ À§ÇÑ ´Ù¼öÀÇ µ¶Ã¢ÀûÀÎ ½Ã½ºÅÛÀ» ±¸ÃàÇß´Ù. ±×°¡ ±¸ÃàÇÑ ÅëÇÕ È¯ÀÚ ÃßÀû °æ·Î ½Ã½ºÅÛÀº 18ÁÖ(ñÎ) À§Å¹ Áø·á¿Í ¾Ï ȯÀÚ °ü¸® ¸ðµÎ¸¦ À§ÇÑ 10°³ÀÇ °³º° µ¥ÀÌÅÍ ½Ã½ºÅÛ ÅëÇÕ¿¡ ¾²¿´À¸¸ç, ½ºÄÚƲ·£µåÀÇ ÀÇ·á °ø±ÞÀÚ°¡ ȯÀÚ ´ë±â ½Ã°£À» ÃÖ´ëÇÑ ³·Ãâ ¼ö ÀÖ°Ô Çß´Ù. ¶ÇÇÑ È£ÁÖ¿¡¼­ ÀÓ»ó½ÇÇèÀ¸·Î ÁøÇàµÈ È­ÇÐ ¿ä¹ý ȯÀÚ¸¦ À§ÇÑ °ø°ø Ŭ¶ó¿ìµå·Î È£½ºÆõǴ µ¶Æ¯ÇÑ ¸ð¹ÙÀÏ ±â¹Ý ½Ç½Ã°£ ¸ð´ÏÅ͸µ ½Ã½ºÅÛÀ» ±¸ÃàÇß´Ù. ÀÌ ½Ã½ºÅÛÀº °£È£»ç¿Í ȯÀڷκÎÅÍ ¡°¸¶Ä¡ °Å½Ç¿¡ °£È£»ç°¡ ÀÖ´Â °Í °°´Ù. ¾ðÁ¨°£ ¸ðµç È­ÇÐ ¿ä¹ý ȯÀÚ°¡ ¾ÈÀüÀº ¹°·Ð 24½Ã°£ ³»³» ÀڽŸ¸ÀÇ Ãµ»ç°¡ ÇÔ²² ÇÏ´Â Æí¾ÈÇÔÀ» ¾Ë°Ô µÇ±æ ¹Ù¶õ´Ù.¡±¶ó´Â Âù»ç¸¦ ¹Þ¾Ò´Ù.
    ¶ÇÇÑ ¿ÀǼҽº ÆÐÅ°ÁöÀÎ ROpenCLÀÇ °øµ¿ ÀÛ¼ºÀÚ´Ù. ÀÌ ÆÐÅ°Áö´Â R·Î ÀÛ¼ºµÈ Åë°è ÇÁ·Î±×·¥ÀÌ ±×·¡ÇÈ °¡¼Ó ĨÀ¸·Î º´·Ä °è»êÀ» ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.

    ¿ªÀÚ ¼Ò°³

    ÀÌÆÇÈ£

    º¸Çè»ç, Áõ±Ç»ç, ±ÝÀ¶ Àü¹® ±âÀÚ¸¦ °ÅÃÄ µÚ´Ê°Ô ÇÁ·Î±×·¡¹Ö ¼¼°è¿¡ ÀÔ¹®Çß´Ù. ´ëÇп¡¼­ Åë°èÇÐÀ» Àü°øÇϸç RÀ» óÀ½ Á¢Çß´Ù. µ¥ÀÌÅÍ ºÐ¼®¿¡ ±Ù°ÅÇÑ ÀÚ»ê¿î¿ë ¹× À̸¦ À§ÇÑ ÇÁ·Î±×·¥ °³¹ß¿¡ °ü½ÉÀÌ ¸¹´Ù. ÇöÀç´Â ±ÝÀ¶ Á¤º¸ ÄÁ¼³Æà ȸ»ç¿¡ ÀçÁ÷ ÁßÀÌ´Ù.

    ¸ñÂ÷

    ¸ñÂ÷
    1Àå. R¿¡¼­ÀÇ °£´ÜÇÑ º´·ÄÈ­
    __¾Æ¸®½ºÅäÅÚ·¹½ºÀÇ ¼ýÀÚ ÆÛÁñ
    ____Çؼ®±â ±¸Çö
    ____Çؼ®±â °³¼±
    ______½ÇÇà ½Ã°£ ÃøÁ¤
    ____¹®Á¦¸¦ ¿©·¯ °úÁ¦·Î ºÐÇÒ
    ______lapply()·Î º¹¼öÀÇ °úÁ¦ ½ÇÇà
    __R º´·Ä ÆÐÅ°Áö
    ____mclapply() »ç¿ë
    ______mclapply() ¿É¼Ç
    ____parLapply() »ç¿ë
    ____º´·Ä ·Îµå¹ë·±½Ì
    __segue ÆÐÅ°Áö
    ____segue ¼³Ä¡
    ____AWS °èÁ¤ ¼³Á¤ Çϱâ
    ____segue ½ÇÇà
    ______createCluster() ¿É¼Ç
    ______AWS ÄÜ¼Ö È­¸é
    ____¾Æ¸®½ºÅäÅÚ·¹½ºÀÇ ¼ýÀÚ ÆÛÁñ Ç®±â
    ______°á°ú ºÐ¼®
    __¿ä¾à
    2Àå. ¸Þ½ÃÁö Àü´Þ ¼Ò°³
    __MPI¸¦ À§ÇÑ ½Ã½ºÅÛ È¯°æ ¼³Á¤
    ____MPI¸¦ À§ÇÑ R ÆÐÅ°Áö ¼±ÅÃ
    ____MPI ¼­ºê½Ã½ºÅÛ ¼±ÅÃ
    ____OpenMPI ¼³Ä¡
    __MPI Ç¥ÁØ
    ____MPI À¯´Ï¹ö½º
    ____Rmpi ¼³Ä¡
    ____pbdMPI ¼³Ä¡
    __MPI API
    ____ÁöÁ¡ °£ Â÷´Ü Åë½Å
    ______MPI ³»ºÎÅë½Å±â
    ____ÁöÁ¡ °£ ºñÂ÷´Ü Åë½Å
    ____Áý´Ü Åë½Å
    __¿ä¾à
    3Àå. °í±Þ ¸Þ½ÃÁö Àü´Þ
    __±×¸®µå º´·ÄÈ­
    ____±×¸®µå Ŭ·¯½ºÅÍ ¸¸µé±â
    ____°æ°è µ¥ÀÌÅÍ ±³È¯
    ____Áß¾Ó°ª ÇÊÅÍ
    ____À̹ÌÁö¸¦ Á¶°¢À¸·Î ºÐ»ê
    ____Áß¾Ó°ª ÇÊÅÍ ±×¸®µå ÇÁ·Î±×·¥
    ______¼º´É
    __Åë½Å °Ë»ç¿Í °ü¸®
    __lapply() º¯Çü
    ____Rmpi¿¡¼­ÀÇ parLapply()
    __¿ä¾à
    4Àå. ½´ÆÛÄÄÇ»ÅÍ¿ë MPI ±â¹Ý R ÆÐÅ°Áö: SPRINT °³¹ß
    __ARHCER
    __R¿¡¼­ MPI ÄÚµå È£Ãâ
    ____MPI Çï·Î ¿ùµå
    ____R¿¡¼­ C È£Ãâ
    ______R¿¡¼­ È£Ãâ °¡´ÉÇÏ°ÔCÄÚµå ¼öÁ¤
    ______MPI Äڵ带 R °øÀ¯ °´Ã¼·Î ÄÄÆÄÀÏ
    ______R¿¡¼­ MPI Hello World ¿¹Á¦ È£Ãâ
    __MPI R ÆÐÅ°Áö ºôµå: SPRINT
    ____°£´ÜÇÑ º´·Ä R ÀÎÅÍÆäÀ̽º(SPRINT) ÆÐÅ°Áö
    ______R½ºÅ©¸³Æ®¿¡¼­ »çÀü ±¸ÃàµÈSPRINT ·çƾ »ç¿ë
    ____SPRINT ÆÐÅ°ÁöÀÇ ¾ÆÅ°ÅØó
    __SPRINT ÆÐÅ°Áö¿¡ »õ·Î¿î ÇÔ¼ö Ãß°¡
    ____SPRINT ¼Ò½ºÄÚµå ´Ù¿î·Îµå
    ____R¿¡¼­ ½ºÅÓ ¸¸µé±â: phello.R
    ____ÀÎÅÍÆäÀ̽º ÇÔ¼ö Ãß°¡: phello.c
    ____±¸Çö ÇÔ¼ö Ãß°¡: hello.c
    ____½ºÅÓ, ÀÎÅÍÆäÀ̽º, ±¸Çö ¿¬°á
    ______functions.h
    ______functions.c
    ______³×ÀÓ½ºÆäÀ̽º
    ______Makefile
    ____SPRINT ÄÚµå ÄÄÆÄÀÏ°ú ½ÇÇà
    __À¯ÀüüÇÐ ºÐ¼® »ç·Ê ¿¬±¸
    ____À¯ÀüüÇÐ
    ____À¯ÀüüÀû µ¥ÀÌÅÍ
    __½´ÆÛÄÄÇ»ÅÍ¿Í ÇÔ²²ÇÏ´Â À¯ÀüüÇÐ
    ____¸ñÇ¥
    ____ARCHER ½´ÆÛÄÄÇ»ÅÍ
    ____·£´ý Æ÷·¹½ºÆ®
    ____À¯ÀüüÇÐ ºÐ¼® »ç·Ê ¿¬±¸¸¦ À§ÇÑ µ¥ÀÌÅÍ
    ____ARCHER¿¡¼­ÀÇ ·£´ý Æ÷·¹½ºÆ® ¼º´É
    ____·©Å© ÇÁ·Î´öÆ®
    ____ARCHER¿¡¼­ÀÇ ·©Å© ÇÁ·Î´öÆ® ¼º´É
    ____°á·Ð
    __¿ä¾à
    5Àå. ³ëÆ®ºÏ ¾ÈÀÇ ½´ÆÛÄÄÇ»ÅÍ
    __OpenCL
    ____½Ã½ºÅÛ¿¡¼­ OpenCL ´É·Â Äõ¸®
    __ROpenCL ÆÐÅ°Áö
    ____ROpenCL ÇÁ·Î±×·¡¹Ö ¸ðµ¨
    ______°£´ÜÇÑ º¤ÅÍ µ¡¼À ¿¹Á¦
    ______Ä¿³Î ÇÔ¼ö
    ____°Å¸® Çà·Ä ¿¹Á¦
    ______´ÙÁß ºó°ï Áö¼ö
    ______GPU ÄÚ¾î ¿ÜºÎ ¸Þ¸ð¸® ó¸®
    __¿ä¾à
    6Àå. º´·Ä ÇÁ·Î±×·¡¹ÖÀÇ ¿¹¼ú
    __º´·Ä È¿À²¼º ÀÌÇØ
    ____°¡¼Ó°è¼ö
    ____¾Ï´ÞÀÇ ¹ýÄ¢
    ____º´·ÄÈ­ÇÒ °ÍÀΰ¡ ÇÏÁö ¾ÊÀ» °ÍÀΰ¡
    ______äÇÃÀÇ ¹ýÄ¢
    __¼öÄ¡Àû ±Ù»ç
    __³­¼ö
    __µ¥µå¶ô
    µ¥µå¶ô ÇÇÇϱâ
    __º´·Ä ¿À¹öÇìµå ÁÙÀ̱â
    __ÀûÀÀÀûÀÎ ·Îµå¹ë·±½Ì
    ____°úÁ¦ ³óÀå
    ____È¿À²ÀûÀÎ ±×¸®µå ó¸®
    ____¼º°øÀûÀÎ º´·ÄÈ­¸¦ À§ÇÑ ¼¼ °¡Áö ´Ü°è
    ____¹«¾ùÀÌ ¹Ì·¡¸¦ Ç°°í Àִ°¡
    ____ÇÏÀ̺긮µå º´·ÄÈ­
    __¿ä¾à

    ¸Ó¸®¸»

    ¡Ú ÁöÀºÀÌÀÇ ¸» ¡Ú

    ¿ì¸®´Â ÇöÀç Æø¹ßÀûÀ¸·Î ±ÞÁõÇÏ°í ÀÖ´Â Á¤º¸ÀÇ ÇÑ°¡¿îµ¥ ÀÖ´Ù. ¿ì¸® »îÀÇ ¸ðµç °ÍÀº ÀÚ½ÅÀÇ »ý¸í È°µ¿¿¡¼­ ¼¼°è ȯ°æ¿¡ À̸£±â±îÁö »ç¹° ÀÎÅͳÝ(IoT, Internet of Things)À» ÅëÇØ ½Ç½Ã°£À¸·Î ÃøÁ¤µÇ¸ç ¿¬°áµÅ ÀÖ´Ù. ÀϺΠÁöÇ¥¿¡ µû¸£¸é 2020³â¿¡´Â ¼¼°èÀÇ Á¤º¸·®ÀÌ ¿À´Ã³¯·ÎºÎÅÍ 10¹è Áõ°¡ÇØ ¹Ï±â ¾î·Á¿î ±Ô¸ðÀÎ 44Á¦Å¸ ¹ÙÀÌÆ®(1Á¦Å¸ ¹ÙÀÌÆ®´Â 2,500¾ï °³ DVD¿Í °°Àº ±Ô¸ð´Ù)¿¡ À̸¦ °ÍÀ¸·Î Àü¸ÁµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ±Ô¸ð¿Í ¼ÓµµÀÇ ºòµ¥ÀÌÅ͸¦ ó¸®Çϱâ À§ÇØ ¸·´ëÇÑ ±Ô¸ðÀÇ °è»ê·Â, ¸Þ¸ð¸®, µð½ºÅ© ÀÚ¿øÀÌ ÇÊ¿äÇϸç, À̸¦ À§Çؼ­´Â º´·ÄÈ­°¡ ÇÊ¿äÇÏ´Ù.
    ¿ÀǼҽº Åë°è ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÎ RÀº ¸¸µé¾îÁø ÇÞ¼ö¿¡µµ ºÒ±¸ÇÏ°í µ¥ÀÌÅÍ ºÐ¼®¿¡ ÁÖÃåµ¹°ú °°Àº ±â¼ú Áß Çϳª·Î Àα⸦ ¾ò°í ÀÖ´Ù. ±×¸®°í °è¼Ó È®ÀåµÇ°í ÀÖ´Â Ä¿¹Â´ÏƼÀ̸鼭 Àå´ãÇÏ°Ç´ë ÇöÀç Àαâ ÀÖ´Â ¸íĪÀÎ ¡®µ¥ÀÌÅÍ °úÇÐÀÚ¡¯¿¡ ÀÇÇØ ¾²ÀÌ°í ÀÖ´Ù.
    ¹°·Ð µ¥ÀÌÅÍ °úÇÐÀÚ°¡ ºòµ¥ÀÌÅͶó´Â ¾ß¼ö¸¦ ±æµéÀ̱â À§ÇØ µµÀÔÇÒ ¼ö ÀÖ´Â µµ±¸´Â ¿©·¯ °¡Áö°¡ ÀÖ´Ù. ¾î¼¸é ¿©·¯ºÐÀº ÆÄÀ̽ã(Python), SAS, SPSS ¾Æ´Ï¸é MATLABÀÇ °í¼öÀÏ ¼öµµ ÀÖ´Ù. ±×·¯³ª 1997³â ÀÌÈÄ·Î ±â³ª±ä ¿ÀǼҽºÀÇ À¯»ê°ú ÇÔ²²ÇÑ RÀº ±×»çÀÌ 20³â µ¿¾È °³¹ßµÅ ¿Â CRAN È£½ºÆÃÀÇ ¸Å¿ì ´Ù¾çÇÑ Ç÷¯±×ÀÎ ¶óÀ̺귯¸® ÆÐÅ°Áö¿Í ÇÔ²² ³Î¸® º¸±ÞµÇ°í ÀÖÀ¸¸ç, ÀÛÀº ¼ýÀÚ Çà·Ä¿¡¼­ºÎÅÍ »ýü ºÐÀÚ DNA¿Í °°Àº ±ØÈ÷ ´ë±Ô¸ðÀÇ ±âÈ£·Î µÈ µ¥ÀÌÅͼ¿¡ À̸£±â±îÁö ´ëºÎºÐÀÇ µ¥ÀÌÅÍ ÇüŸ¦ ´Ù·ê ¼ö ÀÖ´Ù. ¹°·Ð ¿ì¸®´Â RÀÌ ¸Å¿ì ´Ù¾çÇÑ ÇüÅÂÀÇ µ¥ÀÌÅÍ¿¡ °ü·ÃµÈ »ó´çÈ÷ º¹ÀâÇÑ ºÐ¼® °úÁ¤À» Á¶À²ÇÒ ¼ö ÀÖ´Â, »ç½Ç»ó µ¥ÀÌÅÍ °úÇÐ ½ºÅ©¸³Æà ¾ð¾î·Î ÀÚ¸®¸Å±èÇÏ°í ÀÖ´Ù´Â °ÍÀ» Á¦½ÃÇϱâ À§ÇØ °¡´ÉÇÑ ÇÑ ±í°Ô µé¾î°¡°íÀÚ ÇÑ´Ù.
    R ÀÚü´Â Ç×»ó ½Ì±Û ½º·¹µå(single thread)·Î ±¸ÇöµÆÀ¸¸ç, ¾ð¾î ±Ùº» ÀÚü ³»¿¡¼­ º´·ÄÈ­¸¦ »ç¿ëÇÏÁö ¾Êµµ·Ï µðÀÚÀεƴÙ. ´ë½Å ƯÁ¤ °¡¼ÓÈ­µÈ ÇÔ¼ö¸¦ À§ÇÑ º´·ÄÈ­ ¼ö¸³°ú º´·Ä ó¸® ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ·Á°í Ưº°È÷ ±¸ÇöµÈ ¿ÜºÎ ÆÐÅ°Áö ¶óÀ̺귯¸®¿¡ ÀÇÁ¸ÇÑ´Ù. ´Ù¾çÇÑ ±â¼ú ºÐ¾ß¿¡¼­ º´·Ä ¾Ë°í¸®ÁòÀ» °³¹ßÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °¡Àå ÁÁÀº ´ëÇ¥Àû ±¸Çö ¹æ¹ýÀ» ¸î °¡Áö »ìÆ캻´Ù.
    ÀÌ Ã¥¿¡¼­´Â RÀÇ ÀÚü ¸ÖƼÄÚ¾î ´É·ÂÀ» È°¿ëÇÏ´Â parallel ÆÐÅ°Áö¿Í ¸Þ½ÃÁö Àü´Þ ÀÎÅÍÆäÀ̽º(MPI, Message Passing Interface) Ç¥ÁØÀ» »ç¿ëÇÏ´Â ¸Þ½ÃÁö Àü´Þ¹ý, OpenCLÀ» ÅëÇÑ ¹ü¿ë ¸ñÀûÀÇ GPU(GPGPU) ±â¹Ý º´·ÄÈ­¸¦ ºñ·ÔÇØ ´ÜÀÏ ÇÁ·Î±×·¥ º¹¼ö µ¥ÀÌÅÍ(SPMD, Single Program Multiple Data)¿¡¼­ ´ÜÀÏ ¸í·É º¹¼ö µ¥ÀÌÅÍ(SIMD, Single Instruction Multiple Data)¿¡ À̸£±â±îÁö º´·ÄÈ­ÀÇ ¿©·¯ ´Ù¸¥ ¸éÀ» »ìÆ캻´Ù. ¶ÇÇÑ °úÁ¦ ÆĹÖ(farming)À» ÅëÇÑ ·Îµå¹ë·±½Ì¿¡¼­ ±×¸®µå¸¦ ÅëÇÑ °ø°£ 󸮿¡ À̸£±â±îÁö ÇÁ·¹ÀÓ¿öÅ© º´·ÄÈ­ Á¢±Ù ¹æ¹ýÀÇ Â÷ÀÌÁ¡À» »ìÆ캻´Ù. ±×¸®°í Ŭ¶ó¿ìµå¿¡¼­ ÇϵÓÀ» ÅëÇÑ ÀϹÝÀûÀÎ ¸ñÀûÀÇ ¹èÄ¡ µ¥ÀÌÅÍ(batch-data) ó¸®, ±×¸®°í º¸³Ê½º·Î Ŭ·¯½ºÅÍ ÄÄÇ»Æÿ¡¼­ ÃÖ±Ù Àαâ ÀÖ´Â »õ·Î¿î ±â¼úÀ̸鼭 ´ë±Ô¸ðÀÇ ½Ç½Ã°£ µ¥ÀÌÅÍ Ã³¸®¿¡ ´õ ÀûÇÕÇÑ ¾ÆÆÄÄ¡ ½ºÆÄÅ©¿¡ ´ëÇØ °£´ÜÈ÷ ¾ð±ÞÇÑ´Ù. °Ô´Ù°¡ ¼ö¹é¸¸ ÆÄ¿îµåÂ¥¸® ½´ÆÛÄÄÇ»ÅÍÀÇ »ç¿ë¹ýÀ» »ìÆ캻´Ù. À̸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö, ¾î´À Á¤µµÀÇ ¼º´ÉÀ» ´Þ¼ºÇÒ ¼ö ÀÖ´ÂÁö º¸µµ·Ï ÇÑ´Ù. ¿©·¯ºÐÀÌ »ç´Â Áö¿ªÀÇ ½´ÆÛÄÄÇ»ÅÍ ¼¾ÅÍ¿¡ µéÀÌ´ÚÄ£ ÈÄ, ¿©·¯ºÐÀÌ ¹ß°ßÇÑ »õ·Î¿î Áö½ÄÀ¸·Î ¾öû³­ ±Ô¸ðÀÇ º´·Ä ÄÄÇ»ÆÃÀ» Çغ¼ ¼ö ÀÖ°Ô µÉÁö ´©°¡ ¾Ë°Ú´Â°¡?
    ÀÌ Ã¥¿¡ ³ª¿Â ¸ðµç ÄÚµù ¿¹Á¦´Â Á÷Á¢ ÀÛ¼ºÇÑ °ÍÀ̸ç, ÀϺΠ¿¹Á¦´Â °°Àº ºÐ¾ßÀÇ ´Ù¸¥ Ã¥¿¡¼­ ¸¸³¯ ¼ö ÀÖÀ» ¹ýÇÑ Á¾·ùÀÇ ¿¹Á¦¿Í °ãÄ¡Áö ¾Ê°Ô ¼±ÅÃÇß´Ù. ¿ì¸®´Â Æò¹üÇÑ °Í°ú ´Ù¼Ò ´Ù¸¥ ¹«¾ð°¡·Î µ¶ÀÚ ¿©·¯ºÐÀ» »ç·ÎÀâÀ» ¼ö ÀÖ°Ô ¿¹Á¦µéÀ» ¼±ÅÃÇß´Ù. ¿ì¸®´Â ¿©·¯ºÐÀÌ ÀÌÁ¦ ¸· ½ÃÀÛÇÏ´Â R¿¡¼­ÀÇ º´·Ä ÇÁ·Î±×·¡¹Ö ¿Ï¼º °úÁ¤À» Áñ±â±â¸¦ ±â´ëÇÑ´Ù.

    ¡Ú ¿Å±äÀÌÀÇ ¸»¡Ú

    21¼¼±â µé¾î IT¾÷°è¿¡¼­ °¡Àå Àαâ ÀÖ´Â È­µÎ Áß Çϳª´Â ¹Ù·Î 'µ¥ÀÌÅÍ¡¯°¡ ¾Æ´Ò±î ÇÑ´Ù. ¼ÒÇÁÆ®¿þ¾î ¾øÀÌ Áö¼Ó °¡´ÉÇÑ »ê¾÷ÀÌ Àü¹«ÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Â Áö±Ý ºñ´Ü IT»Ó¸¸ ¾Æ´Ï¶ó ¸ðµç ¾÷°è¿¡¼­ µ¥ÀÌÅÍÀÇ Á߿伺À» ¿ÜÄ¡°í ÀÖ´Ù. Àú¼ºÀåÀ¸·Î ÀÎÇØ ¾çÀû ÆØâÀÌ ¾î·Á¿öÁö¸é¼­ µ¥ÀÌÅÍ´Â ¸ðµç ºÐ¾ß¿¡¼­ »ý»ê¼ºÀ» Á¶±ÝÀÌ¶óµµ Å°¿ì±â À§ÇÑ ÇÙ½ÉÀûÀÎ ¼ö´ÜÀÌ µÇ°í ÀÖ´Ù.
    µ¥ÀÌÅÍ ºÐ¼®¿¡¼­ ÆÄÀ̽ã(Python)ÀÌ ºñ±³Àû ÃÖ±Ù¿¡ ÁÖ¸ñÀ» ¹Þ°í ÀÖ´Ù¸é RÀº dzºÎÇÑ ¶óÀ̺귯¸® »ýÅ°踦 ±â¹ÝÀ¸·Î ÇÑ ÀüÅëÀÇ °­ÀÚ¶ó ÇÒ ¼ö ÀÖ´Ù. Åë°èÇÐ, »ý¹°ÇÐ, ÀÇÇÐ, »çȸ°úÇÐ µî Æø³ÐÀº ºÐ¾ßÀÇ ¿¬±¸ÀÚ°¡ R¿¡¼­ ¾µ ¼ö ÀÖ´Â ´Ù¾çÇÑ ¶óÀ̺귯¸®¸¦ °³¹ßÇسõÀº ´öºÐ¿¡ µ¥ÀÌÅÍ ºÐ¼®°¡´Â ÀÚ½ÅÀÌ Á÷Á¢ ºÐ¼® µµ±¸¸¦ °³¹ßÇÒ ÇÊ¿ä ¾øÀÌ ±âÁ¸ ¶óÀ̺귯¸®¸¦ ½±°Ô °¡Á®´Ù ¾µ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ °³¹æ¼ºÀÌ RÀ» Àαâ ÀÖ´Â µ¥ÀÌÅÍ ºÐ¼® ¾ð¾î·Î ¸¸µé¾î ÁØ °¡Àå Áß¿äÇÑ ¿øµ¿·ÂÀ̶ó ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
    ¸ðµç ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ Çϵå¿þ¾î°¡ ¹ßÀüÇϸ鼭 CPU, GPUÀÇ ¸ÖƼÄھ Àß È°¿ëÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ ´õ¿í Áß¿äÇØÁö°í ÀÖ´Ù. Rµµ ¿¹¿Ü°¡ µÉ ¼ö´Â ¾ø´Ù. R ÀÚü´Â ½Ì±Û ½º·¹µå·Î ±¸ÇöµÅ ÀÖÀ¸¹Ç·Î º´·Ä ¿¬»êÀ» À§Çؼ­´Â º°µµÀÇ ¶óÀ̺귯¸®¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ Ã¥¿¡¼­ ÀÌ·¯ÇÑ ¶óÀ̺귯¸®¸¦ ÀÌÇØÇÏ°í ´Ù·ç´Â ¹æ¹ýÀ» ü°èÀûÀ¸·Î ¹è¿ï ¼ö ÀÖ´Ù.
    ÀÌ Ã¥Àº R º´·Ä 󸮸¦ À§ÇÑ ÇÙ½É ÆÐÅ°ÁöÀÎ parallel¿¡¼­ ½ÃÀÛÇØ Å¬¶ó¿ìµå ±â¹Ý ¶óÀ̺귯¸®, °í±Þ MPI, ±×¸®µå º´·ÄÈ­, OpenCLÀ» ÀÌ¿ëÇÑ GPU ±â¹Ý º´·ÄÈ­ µî ±â¼úÀûÀ¸·Î ±íÀº ³»¿ë±îÁö ´Ù·é´Ù. ¶ÇÇÑ R¿¡¼­ È¿À²ÀûÀÎ º´·Ä Äڵ带 ÀÛ¼ºÇÏ´Â ¹æ¹ý ¹× ÇÇÇØ¾ß ÇÒ ¹®Á¦¿¡ ´ëÇØ ÀÚ¼¼È÷ ¹è¿ï ¼ö ÀÖ´Ù. ¸¶À½ ±ÞÇϽŠºÐµéÀº 2À常 Àо ÈÄ, ±âÁ¸¿¡ °³¹ßÇسõÀº RÄڵ忡 º´·ÄÈ­¸¦ Àû¿ëÇÑ´Ù¸é ºü¸£°Ô ½ÇÇà ½Ã°£À» ´ÜÃàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ Ã¥ÀÌ R¿¡¼­ÀÇ º´·ÄÈ­¿¡ ´ëÇÑ ±âÃÊ´Â ¹°·Ð °í±Þ ±â¼úÀ» Á¢ÇÏ´Â µ¥ ÁÁÀº µðµõµ¹ÀÌ µÉ ¼ö Àֱ⸦ ±â´ëÇÑ´Ù.

    ¹è¼Û ½Ã À¯ÀÇ»çÇ×

    - ¹Ýµð¾Ø·ç´Ï½º¿¡¼­ ±¸¸ÅÇϽŠµµ¼­´Â ¹°·ù ´ëÇà À§Å¹¾÷ü ¿õÁø ºÏ¼¾À» ÅëÇØ ¹è¼ÛµË´Ï´Ù.
     (¹è¼Û Æ÷Àå¿¡ "¿õÁø ºÏ¼¾"À¸·Î Ç¥±âµÉ ¼ö ÀÖ½À´Ï´Ù.)

    - ±¸¸ÅÇÑ »óÇ°ÀÇ Ç°Áú°ú ¹è¼Û °ü·Ã ¹®ÀÇ´Â ¹Ýµð¾Ø·ç´Ï½º·Î ¹®ÀÇ ¹Ù¶ø´Ï´Ù.

    - õÀçÁöº¯ ¹× Åùè»çÀÇ »çÁ¤¿¡ µû¶ó ¹è¼ÛÀÌ Áö¿¬µÉ ¼ö ÀÖ½À´Ï´Ù.

    - °áÁ¦(ÀÔ±Ý) ¿Ï·á ÈÄ ÃâÆÇ»ç ¹× À¯Åë»çÀÇ »çÁ¤À¸·Î Ç°Àý ¶Ç´Â ÀýÆÇ µÇ¾î »óÇ° ±¸ÀÔÀÌ ¾î·Á¿ï ¼ö ÀÖ½À´Ï´Ù. (º°µµ ¾È³» ¿¹Á¤)

    - µµ¼­»ê°£Áö¿ªÀÇ °æ¿ì Ãß°¡ ¹è¼Ûºñ°¡ ¹ß»ýµÉ ¼ö ÀÖ½À´Ï´Ù.

    ¹ÝÇ°/±³È¯

    »óÇ° ¼³¸í¿¡ ¹ÝÇ°/ ±³È¯ °ü·ÃÇÑ ¾È³»°¡ ÀÖ´Â °æ¿ì ±× ³»¿ëÀ» ¿ì¼±À¸·Î ÇÕ´Ï´Ù. (¾÷ü »çÁ¤¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ½À´Ï´Ù)

    ¹ÝÇ°/±³È¯

    ¹ÝÇ°/±³È¯
    ¹ÝÇ°/±³È¯ ¹æ¹ý Ȩ > °í°´¼¾ÅÍ > ÀÚÁÖã´ÂÁú¹® ¡°¹ÝÇ°/±³È¯/ȯºÒ¡± ¾È³» Âü°í ¶Ç´Â 1:1»ó´ã°Ô½ÃÆÇ
    ¹ÝÇ°/±³È¯ °¡´É ±â°£ ¹ÝÇ°,±³È¯Àº ¹è¼Û¿Ï·á ÈÄ 7ÀÏ À̳», »óÇ°ÀÇ °áÇÔ ¹× °è¾à³»¿ë°ú ´Ù¸¦ °æ¿ì ¹®Á¦¹ß°ß ÈÄ 30ÀÏ À̳»¿¡ ½Åû°¡´É
    ¹ÝÇ°/±³È¯ ºñ¿ë º¯½É ȤÀº ±¸¸ÅÂø¿ÀÀÇ °æ¿ì¿¡¸¸ ¹Ý¼Û·á °í°´ ºÎ´ã(º°µµ ÁöÁ¤ Åùè»ç ¾øÀ½)
    ¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯
    • ¼ÒºñÀÚÀÇ Ã¥ÀÓ »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
    • ¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    • º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì : ¿¹)¸¸È­Ã¥, ÀâÁö, È­º¸Áý µî
    • ½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    • ÀüÀÚ»ó°Å·¡µî¿¡¼­ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì
    • ÇØ¿ÜÁÖ¹® »óÇ°(ÇØ¿Ü ¿ø¼­)ÀÇ °æ¿ì(Æĺ»/ÈѼÕ/¿À¹ß¼Û »óÇ°À» Á¦¿Ü)
    ¼ÒºñÀÚ ÇÇÇغ¸»ó
    ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó
    • »óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ¹ÝÇ°, ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº
      ¼ÒºñÀÚ ºÐÀïÇØ°á ±âÁØ(°øÁ¤°Å·¡À§¿øȸ°í½Ã)¿¡ ÁØÇÏ¿© 󸮵Ê
    • ´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ
      ¼ÒºñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ
    ¹ÝÇ°/±³È¯ ÁÖ¼Ò °æ±âµµ ÆÄÁֽà ¹®¹ß·Î 77, ¿õÁøºÏ¼¾(¹Ýµð¾Ø·ç´Ï½º)
    • ȸ»ç¸í : (ÁÖ)¼­¿ï¹®°í
    • ´ëÇ¥ÀÌ»ç : ±èÈ«±¸
    • °³ÀÎÁ¤º¸ º¸È£Ã¥ÀÓÀÚ : ±èÈ«±¸
    • E-mail : bandi_cs@bnl.co.kr
    • ¼ÒÀçÁö : (06168) ¼­¿ï °­³²±¸ »ï¼º·Î 96±æ 6
    • »ç¾÷ÀÚ µî·Ï¹øÈ£ : 120-81-02543
    • Åë½ÅÆǸž÷ ½Å°í¹øÈ£ : Á¦2023-¼­¿ï°­³²-03728È£
    • ¹°·ù¼¾ÅÍ : (10881) °æ±âµµ ÆÄÁֽà ¹®¹ß·Î 77 ¹Ýµð¾Ø·ç´Ï½º
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved