리눅스 멀티코어 서버에서 모든 코어 다 사용하기.
글쓴이: wodnrrns / 작성시간: 수, 2012/11/21 - 4:31오후
멀티코어를 가진 리눅스 서버에서 아마도 파싱 작어버을 할 것 같은데요.
코어가 여러개인데 생각해보니 하나로짜면 라이브러리(OpenMP 등) 안스면 그냥 코어 하나만 점유할것 같네요.
간단히 생각하면 포크 코어 개수만큼 해서 돌리면 될 것 같긴한데,
이렇게 하면 될까요?
이전 스레드 찾아보니 이렇게 해도 100% 쓰지는 않는다는 것 같다는 글들이 몇가지 보여 질문 드립니다.
ps - 사족으로 위와같은 방법으로 가능하다면, OpenMP 같은 라이브러리 사용했을때의 장점은 뭔가요?
( 단순히 포크 안하고 써도 된다는 장점 빼고 뭐가 있을까요? )
Forums:
openmp를 사용해도 좋고, 다른 방법으로 fork
openmp를 사용해도 좋고, 다른 방법으로 fork 또는 multi-thread로 만드시고, cpuset , taskset 및 이와 관련된 system call을 조사해 보세요.
어떤 방법론을 택해도 자원을 100% 적절히(?) 사용하는 것은 말처럼 쉬운 일은 아니지요.
openmp는 병렬프로그램을 보다 쉽게 하도록 만들어진 것입니다. 결국, fork 또는 멀티쓰레드 프로그래밍을 '쉽게' 또는 '표준화된 형태로' 하기 위한 도구라고 보면 되겠습니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
댓글 달기