멀티 프로세서에서 CPU별 노드 분산하는 적절한 방법이 있을까요
글쓴이: compactor / 작성시간: 금, 2005/09/02 - 9:32오후
멀티 프로세서 환경에서 특정 프로세스가 하나의 cpu를 100% 점유한상태입니다.
다른쪽 cpu는 0로 놀고 있습니다.
SMP 에 대한 기본적인 문서를 읽고는 있지만 별다른 해결책이 없습니다.
MPIC를 사용해서 cpu별 프로세스를 분리시키기도 했지만
ROOT 권한으로서는 작동하지 않고 있으며 유저 레벨에서
분산처리하는 방법이 꺼림칙합니다.
커널 옵션이나 커널 패치 방법등으로 적절하게 해결할수 잇는 방법 또는 관련 지식을 알려주셨으면 좋겠습니다.
Forums:
멀티 프로세서 환경을 고려하지 않고 작성된 프로그램을 여러 CPU 에서
멀티 프로세서 환경을 고려하지 않고 작성된 프로그램을 여러 CPU 에서 분산 처리하는 것은 불가능합니다.
(있다 하더라도 인위적인 방법으로서, 프로세스의 수행 속도가 싱글 프로세서 시스템보다도 느리게 될 것입니다;;)
멀티 프로세서 시스템의 목적 자체가 시스템의 동시 처리량을 증가시키기 위한 것이지,
CPU 하나에 걸리는 부담을 덜기 위해서 쓰는 것이 아니기 때문이죠.
Linux 커널 2.6부터 제공되는 sched_setaffinity 를
Linux 커널 2.6부터 제공되는 sched_setaffinity 를 알아보세요.
http://www.die.net/doc/linux/man/man2/sched_setaffinity.2.html
---
http://coolengineer.com
병렬성을 최대한 발휘하는 방법론으로 현재 프로그램을 다시 짜는게 옳습니다
병렬성을 최대한 발휘하는 방법론으로 현재 프로그램을 다시 짜는게 옳습니다.
애초에 그렇게 접근하셔야 한다는...
댓글 달기