문제

최대 688개의 작업을 지원하는 SGE(Sun Grid Engine) 클러스터에서 qsub 작업을 실행하려고 합니다.현재 클러스터 로드에 따라 작업을 제출할 수 있도록 현재 클러스터에서 실행 중인 총 작업 수를 알아낼 수 있는 방법이 있는지 알고 싶습니다.

나는 다음과 같은 일을 할 계획이다:1분 동안 대기한 후 클러스터의 작업 수가 688개 미만인지 다시 확인한 후 추가로 작업을 제출합니다.

그리고 내 질문을 명확히 하기 위해 현재 제출한 작업뿐만 아니라 클러스터에 제출된 총 작업 수를 아는 것과 관련이 있습니다.

미리 감사드립니다.

도움이 되었습니까?

해결책

qstat를 사용하여 모든 사용자의 작업을 나열 할 수 있습니다. awkwc가있는이를 사용하여 클러스터의 총 작업 수를 찾을 수 있습니다.

qstat -u "*" | awk '{if ($5 == "r" || $5 == "qw") print $0;}' | wc -l
.

위의 명령은 대기열 및 계산 노드에서 예약되기를 기다리는 작업을 고려합니다.

그러나 클러스터 sysadmins는 사용자가 사용자가 속하지 않는 작업을 확인할 수 없게됩니다. 실행하여 다른 사용자의 작업을 볼 수 있는지 확인할 수 있습니다.

qstat -u "*"
.

다른 사용자가 작업을 실행 중이며 위의 명령을 실행하는 동안 볼 수 없으므로 SYS 관리자가 해당 옵션을 사용하지 않도록 설정할 가능성이 가장 큽니다.

Afterthought : 내 이해에서, 당신은 정기적 인 클러스터 사용자입니다. 왜 당신은 이런 식으로 일자리를 제출하기 위해 괴롭히는 이유는 무엇입니까? 왜 원하는 모든 작업을 제출하고 클러스터가 작업을 예약 할 수없는 경우 qw 상태로 만들고 SGE 느낌이 가장 적절한 시간이라는 일정을 예약합니다.

다른 팁

클러스터 구성 방법에 따라 작업 배열(-t 옵션 qsub) 이 제한을 피할 수 있습니다.

단일 사용자가 제출할 수 있는 최대 작업 수에 대해 비슷한 제한이 설정되어 있습니다.이 제한은 다음의 개별 인스턴스에 적용됩니다. qsub 단일 작업 배열 제출이 아니라 잠재적으로 많은 작업이 제출됩니다(해당 제한은 다른 구성 변수를 통해 설정됨). max_aj_tasks).

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