2014-10-17 4 views
0

저는 클러스터 tecnology에서 새로 왔으며 회사의 MPICH2 클러스터 솔루션을 테스트 중입니다.단일 프로세스의 MPI

우리는 실제로이 방식으로 행동 교류 프로그램이 있습니다

  • 준비를 데이터베이스 광고에 데이터
  • 마스터 과정을 다른 명령 줄 인수 일부 자식 프로세스를 생성을 연결하는 하나 개의 마스터 과정 (가를 슬레이브 프로세스는 fork() 명령으로 생성됩니다.)

수정없이 MPICH2 클러스터에서이 프로세스를 실행할 수 있습니까? 그렇지 않으면 클러스터에서이 프로그램을 실행하기 위해 어떤 수정이 필요합니까? 그들은 같은 일이 아니에요 때문에 모든

답변

0

덕분에 (MPI를 통해) 단일 시스템 및 분산 프로세스를 병렬 프로세스 사이에 혼동하지 마십시오. 오늘 또 다른 질문이 있는데 같은 문제가 있었기 때문에 그 대답을 참조하겠습니다 : https://stackoverflow.com/a/26428033/491687.

fork()을 호출하면 마스터 프로세스와 동일한 시스템에서 더 많은 프로세스 만 생성됩니다. 공유 메모리와 몇 개의 프로세스 만 사용한다면 괜찮습니다. 그러나 많은 프로세스 (프로세스 수> 코어 수)를 사용하여 많은 양의 데이터를 처리해야하는 경우 MPI는 여러 시스템을 함께 연결하고 그 사이에 데이터를 전달할 수 있기 때문에 유용 할 수 있습니다.

짧은 대답은 : 아니오, 수정없이 MPI를 사용할 수 없습니다. 포크/조인 프로그램을 MPI 프로그램으로 변환하려면 많은 수정이 필요합니다. 그건 의도적으로입니다. 그들은 같은 문제를 해결하려고 노력하지 않습니다.

+0

감사합니다. 귀하의 답변은 매우 유용합니다. – bdn02

관련 문제