문제

노드에서 프로세스를 시작하지 않고 다른 노드에서 스레드를 만들 수있는 방법이 있는지 알고 싶습니다. 예를 들면 다음과 같습니다 .- 5 개의 노드 클러스터가 있다고 가정 해 봅시다. Node1에서 응용 프로그램을 실행 중입니다. 5 개의 스레드가 생성됩니다. 나는 동일한 시스템에서 스레드를 생성하지 않기를 원하지만 클러스터를 가로 질러 1 노드 1 스레드 유형이라고합니다. 이 작업을 수행 할 수있는 방법이 있습니까? 아니면로드 스케줄러에 더 의존하고 OpenMP가 그런 일을합니까?

질문에 모호성이 있다면 plz가 명확히하겠습니다.

도움이 되었습니까?

해결책

짧은 대답 - 단순히 아닙니다. 스레드는 프로세스의 주소 공간을 공유하므로 클러스터 노드에서이를 재배치하기가 매우 어렵습니다. 그리고 가능하다면 (이를 지원하는 시스템이 존재 함) 일관된 상태를 유지하도록하는 것은 성능에 영향을 미치는 많은 동기화 및 통신 오버 헤드를 소개합니다.

요컨대, 클러스터에 응용 프로그램을 배포하는 경우 여러 프로세스를 사용하고 적절한 통신 메커니즘을 선택하십시오.

다른 팁

일반적으로 비활성 잠금 장치를 피하기 위해 vm 또는 엔진으로 나사산을 남겨두고, 앱 또는 전송에 초점을 맞추고, 시간을 만듭니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top