2013-09-02 2 views
1

클러스터에서 내 프로그램을 사용하려고합니다. 이제 작은 작업을 생성하고 이것을 bash 스크립트로 특정 노드에 제출합니다. 이러한 작업은 큰 파일을 노드에 복사하고이 파일에서 5 개의 다른 프로그램을 실행하고 결국 작업은 파일을 다시 복사하여 노드에서 삭제합니다.python sge api 특정 노드에 제출

작업을 제출하는이 bash 스크립트는 주어진 디렉토리에서 얼마나 많은 hdd가 사용 가능한지 확인하고,이 노드에서 실행할 수있는 작업의 최대 수를 계산하고이 특정 수의 작업을이 특정 노드로 보냅니다. 이 방법의 단점은 모든 작업이 완료된 후에이 bash 스크립트를 여러 번 실행해야한다는 것입니다.

이제 drmaa api로 파이썬에서이 작업을 수행하려고합니다. 하지만 지금은이 API를 노드 제어 할 수 있는지 궁금합니다. drmaa API를 사용하여 특정 노드에 제출할 수 있습니까?

qqub 명령을 실행하고 qstat 명령의 출력을 구문 분석하여 노드 당 작업 수를 얻으려면 Popen을 사용하여 해결 방법을 작성해야합니까?

답변

2

필자는 Python 용 drmaa api에 익숙하지 않지만 제한을 지정할 수있는 방법이있는 경우 제한을 사용하여 작업을 실행할 호스트를 제한 할 수 있습니다. 아마도 -l hostname=whatever을 전달하기 위해 nativeSpecification과 같은 것을 사용했을 것입니다.

DRMAA 표준에 의해 정의되지 않은 작업 제출 매개 변수를 설정 http://www.gridengine.eu/programming-apis

보기 쉽습니다 : 그들은() 작업 템플릿이 이동에 SetNativeSpecification 인 DRMAA 표준화 된 기본 사양을 사용하여 설정할 수 있습니다 방법.

관련 문제