어디에 글을 올려야 할지 몰라 자유게시판에 올립니다.
병렬처리관련해서 궁금한게 있는데 물어볼곳이 없어 생각난곳이 여기라 질문글 올립니다.
하고자 하는것은 C로 개발된 exe파일이 있습니다.
하는일은 특정 파일 읽어서 모형돌고 결과파일에 결과적고 끝을 내는 일반적인 형태입니다.
그냥 수행을 했을경우 구동시간이 조금 많이 걸립니다.
현재 구동PC 는 E5-2623V3 CPU가 장착된 워크스테이션입니다.
그런데 CPU상태를 보면 한 2~3개만 10%정도 이용하고 나머지 놀고 있습니다.
CPU전체를 이용하면 조금더 빨리 돌릴수 있지 않을까 하는 생각이 들어 글 올립니다.
실제 구현 프로그램은 C#을 이용하고 있으며 C#으로 위 실행파일을 실행시키는 방식을
이용하고 있습니다.
조언 부탁드립니다.~
좋은 하루 되세요.
2. Multi-processing system ¿¡¼ ¿©·¯°³ÀÇ ÇÁ·Î±×·¥À» ´ÙÁß CPU »ó¿¡¼ ½ÇÇàÇÏ´Â °ÍÀº Multi-processing À» Áö¿øÇÏ´Â OS ¸¸ ÀÖ´Ù¸é °¡´ÉÇÕ´Ï´Ù.
ÇϳªÀÇ ÇÁ·Î±×·¥À» µ¹¸®¸é¼ ÇϳªÀÇ Core ¸¸ ¹Ù»Ú°í ³ª¸ÓÁö´Â ¿Ö ³î°í ÀÖÁö¶ó°í »ý°¢ÇÏ´Â °ÍÀº ±× ÇÁ·Î±×·¥ÀÌ multi-threading ¶óÀ̺귯¸®¸ª ÀÌ¿ëÇؼ parallel programming À¸·Î ÀÛ¼ºµÈ °ÍÀÎÁö ¾Ë¾Æ¾ß ÇÒ Çʿ伺ÀÌ ÀÖ½À´Ï´Ù. ±×·¸°Ô ÀÛ¼ºµÇÁö ¾ÊÀº ÇÁ·Î±×·¥Àº ÇϳªÀÇ ÇÁ·Î±×·¥ ³»¿¡¼ multi-threading, multi-processing À» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
ÀÌ°É »ç¿ëÇÏÁö ¾ÊÀ¸¼ÌÀ¸¸é Äھ 100°³¶óµµ 1°³¸¸ »ç¿ëÇÕ´Ï´Ù.
±×¿Ü¿¡´Â Á¦¿¬´Ô ¸»¾¸Ã³·³ °¡»óÄÄÀ» ÀÌ¿ëÇÏ½Ç ¼öµµ ÀÖ±¸¿ä
»ó´çÈ÷ ¼Óµµ°¡ »¡¶óÁú °Ì´Ï´Ù.
ÀÎÅڸӽſ¡´Â ÀÎÅÚ ¶óÀ̺귯¸®¸¦ ½á¾ß ÆÅÆÅ µ¹¾Æ°©´Ï´Ù..
MPI ¶ó°í ÇÏ´Â Æз¯·¼ ÄÄÇ»Æà ¶óÀ̺귯¸®¸¦ ½á¼ CPU ¿©·¯°³¸¦ ÇѲ¨¹ø¿¡ »ç¿ëÇϵµ·Ï ÇÁ·Î±×·¥À» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
https://en.wikipedia.org/wiki/Open_MPI
test1.exe, test2.exe
ÀÌ·¸°Ô Çؼ µÎ°³¸¦ µ¿½Ã¿¡ ½ÇÇà½ÃÄѼ °á°ú°¡ µû·Î Àß ³ª¿À´Âµ¥ ¹®Á¦°¡ ¾ø´Ù¸é
½ÇÇàÆÄÀϸíÀ» ¿©·¯°³·Î ¸¸µé°í c# ¿¡¼ °¢°¢ µ¿½Ã¿¡ ½ÇÇà½ÃÄѺ¸´Â °ÍÀº ¾î¶²Áö¿ä?
¾Æ.. ÀÌ·¸°Ô ÇÏ·Á¸é ÇؾßÇÒ ÀϵéÀ» ¹Ì¸® ³ª´²Áà¾ßÇÕ´Ï´Ù.
ÇϳªÀÇ ¼Ò½º µ¥ÀÌÅ͸¦ ¿©·¯°³ÀÇ ½ÇÇà ÆÄÀÏ·Î ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó
¿©·¯°³ÀÇ ¼Ò½º µ¥ÀÌÅ͸¦ ¿©·¯°³ÀÇ ½ÇÇà ÆÄÀÏ·Î Çϵµ·Ï.
¾²°í³ª¼ º¸´Ï ±èÁ¦¿¬´ÔÀÌ ¸»ÇÑ ³»¿ëÀ̳׿ä ^^
°¡²û¾¿ exeÆÄÀÏÀ» ¿©·¯°³ ½ÇÇà½Ãų °æ¿ì ½ÇÇà ȯ°æ»óÀÇ Ãæµ¹ÀÌ ¹ß»ýÇÒ ¼ö Àִµ¥, (°¡·É tmpÆÄÀÏÀÌ °ãÄ£´Ù°Å³ª) ÀÌ·± °æ¿ì docker¿¡¼ µ¹µµ·Ï ½ºÅ©¸³Æ®¸¦ Àß Â¥½Ã¸é ¼·Î Ãæµ¹ ¾È ³ª°Ô ¸î½Ê°³ÀÇ instance¸¦ µ¿½Ã¿¡ µ¹¸± ¼öµµ ÀÖ½À´Ï´Ù.