몇 가지 종속성이있는 일련의 SGE 그리드 작업을 능률화하는 딜레마가 있지만 -hold_jid
을 지정하는 올바른 방법을 찾지 못했습니다.SGE 그리드 작업 종속성
생각에는 우리 같은 직업을 가지고 :
job1: qsub -N job1 ...
job2: qsub -N job2 -hold_jid job1
job3: qsub -N job3 -hold_jid job2
다음 실행 순서가 job1-> job2-> job3이 보장된다. 이 경우
job2a: qsub -N job2a.${timestamp_of_submission}
, 내가 job2a 완료 후 확인 job3 실행을 만들 수있는 방법을 생각하지 않은 :
그러나, 복잡한 작업 2 내 가정, 임베디드 SGE 작업이, job2a 말.
attempt1 :
qsub -N job3 -hold_jid job2 ...
그리고 반드시 job3 대기 작업 2 완료는, 그러나, job3은 내가 원하는 것을 인 job2a 후에 실행된다는 보장이 없을 때까지.
attempt2 :
qsub -N job3 -hold_jid job2a* ...
는 job3는 작업 2가 실행 시작할 때까지 job2a이 작업 배열에 표시되지 않기 때문에 바로 실행 것으로 보인다. 참고 submit의 타임 스탬프가 미리 추측하기 어렵 기 때문에 job2a의 정확한 이름을 지정하지 않으려면 위의 *
을 사용했습니다.
누구나 job1-> job2-> job2a-> job3으로 종속성 체인을 달성 할 수있는 방법을 알고 있습니까? 감사합니다. 또한 작동합니다 작업 ID를 캡처, 또는
qsub -N job2
qsub -N job2a
qsub -N job3 -hold_jid job2,job2a.${timestamp_of_submission}
:
감사하지만 나를 위해 작동하지 않았다 : 내 경우, 나는, -hold_jid 작업 2를 시도 job2a * 참 job2a 여러 하위 작업이 있기 때문에 , 모두 같은 접두사 'job2a'. 런타임에 job3은 job2가 완료되기를 기다렸지 만 어떤 job2a * 작업도 완료 될 때까지 기다리지 않았습니다. – galactica
명확히하기 위해 모든 job2a 작업 ID를'-hold_jid' 옵션에 추가 했습니까, 아니면 와일드 카드 ('*')를 사용 했습니까? – Vince
모든 작업 이름을 즉석에서 열거 할 수 없기 때문에 와일드 카드를 사용했습니다. 즉, 제출 타임 스탬프 목록 – galactica