2014-03-03 7 views
5

일부 얀/hadoop 벤치 마크를 실행하기 위해 slurm이 관리하는 클러스터를 사용하고 있습니다. 이를 위해 slurm이 할당 한 노드에서 hadoop 서버를 시작한 다음 벤치 마크를 실행합니다. 나는 이것이 production hadoop 클러스터를 실행하기위한 의도 된 방법이 아니라는 것을 알고 있지만 필요가있다.Slurm : salloc vs srun에서 실행되는 코드의 차이점은 무엇입니까

이렇게하려면 먼저 srun과 함께 실행되는 스크립트 (예 : srun -N 4 setup.sh)를 작성해야합니다. 이 스크립트는 구성 파일을 기록하고 할당 된 노드에서 서버를 시작하며 번호가 가장 낮은 시스템이 마스터로 작동합니다. 이 모든 것이 작동하며 응용 프로그램을 실행할 수 있습니다.

그러나 서버를 한 번 시작한 다음 처음부터 다시 시작하거나 인코딩하지 않고 여러 응용 프로그램을 시작하려면 salloc을 사용하고 싶습니다. 나는 이것이 salloc -N 4을 실행 한 다음 srun setup.sh을 실행하는 간단한 경우라고 생각했습니다. 불행히도 다른 서버가 서로 통신 할 수 없기 때문에 이것은 작동하지 않습니다. 운영 환경의 차이점이 srun을 사용하고 salloc을 사용하는 경우 srun을 사용하는 사이에 어떤 점이 나에게 설명 될 수 있습니까? SRUN 그 자원에서 병렬 작업을 시작하면서

많은 감사

다니엘은

답변

1

sbatch 및 salloc는 작업에 자원을 할당 할 수 있습니다. 작업 할당 내에서 호출 될 때 srun은 할당 된 자원의 일부 또는 전체에 대해 병렬 작업을 시작합니다. 이 경우 srun은 기본적으로 실행되는 sbatch 또는 salloc의 관련 옵션을 상속받습니다. 그런 다음 srun에 기본적으로받는 것을 덮어 쓰는 다른 옵션을 제공 할 수 있습니다 (일반적으로). 한 작업 내에서 srun을 호출 할 때마다 작업 단계라고합니다.

작업 할당 외부에서 srun을 호출 할 수도 있습니다. 이 경우 srun은 리소스를 요청하고 해당 리소스가 부여되면 이러한 리소스를 통해 작업을 단일 작업 및 작업 단계로 시작합니다.

+0

설명해 주셔서 감사합니다. Daniel. –

+9

원본 소스 https://groups.google.com/forum/#!topic/slurm-devel/wKaUEOzuQq4에도 크레딧을 제공해야합니다. –