사전 및 사후 실행 처리 정보
사전 실행 및 사후 실행 처리 기능은 두 가지 유형으로 구성됩니다.
- 순차 작업을 위한 작업 기반 사전 및 사후 실행 처리이며 첫 번째 실행 호스트에서만 실행됩니다.
- 병렬 작업을 위한 호스트 기반 사전 실행 및 사후 실행 처리이며 모든 실행 호스트에서 실행됩니다.
- LSF에서 직접 구성할 수 없는 테이프 드라이브 및 기타 장치와 같은 자원 예약
- LSF에서 직접 지원하는 것 외에 작업 시작 결정
- 작업에 대한 스크래치 디렉토리 작성 및 삭제
- 사전 실행 명령의 종료 코드를 기반으로 스케줄링 사용자 정의
- 소프트웨어 라이센스의 가용성 확인
- SMP 시스템의 특정 프로세서에서 실행할 작업 지정
- 작업 실행에 필요한 데이터 파일 전송
- 작업 실행 전후에 시스템 구성 파일 수정
- 사후 실행 명령을 사용하여 사전 실행 명령 또는 작업에 의해 남겨진 상태 정리
실행 가능한 명령행은 사전 실행 또는 사후 실행 명령으로 사용할 수 있습니다. 기본적으로 명령은 작업과 동일한 사용자 계정, 환경, 홈 디렉토리 및 작업 디렉토리에서 실행됩니다.
JOB_INCLUDE_POSTPROC 가 애플리케이션 프로파일 또는 lsb.params에 정의된 경우, 작업이 실행 후 스테이지 (일반 작업의 경우 DONE 상태) 에 있는 동안 작업은 RUN 상태로 간주됩니다.
작업 기반 사전 및 사후 실행 처리
작업 기반 사전 실행 및 사후 실행 명령은 큐, 애플리케이션 및 작업 레벨에서 정의할 수 있습니다.
명령 경로에는 최대 4094자 (UNIX및 Linux의 경우) 또는 최대 255자 (Windows의 경우) (%J (job_ID) 및 %I (index_ID) 에 대한 디렉토리, 파일 이름 및 확장 값 포함) 가 포함될 수 있습니다.
작업의 크기를 조정할 수 있으면 작업 증가 요청이 무시됩니다. 그러나 작업 축소 요청은 처리할 수 있습니다. 어느 경우에도 LSF는 작업 크기 조정 알림 명령을 호출하지 않습니다.
다음 그림은 작업 기반 사전 및 사후 실행 처리의 기본 동작 (기능이 사용으로 설정되지 않음) 을 표시합니다.


아래 표는 작업 기반 사전 및 사후 실행 처리의 범위를 제공합니다.
| 적용성 | 세부사항 |
|---|---|
| 운영 체제 |
|
| 종속성 |
|
| 제한사항 |
|
호스트 기반 사전 및 사후 실행 처리
호스트 기반 사전 실행 및 사후 실행 처리는 병렬 작업을 위한 것이며 (순차 작업에도 이 기능을 사용할 수 있음) 첫 번째 실행 호스트와는 반대로 모든 실행 호스트에서 실행된다는 점에서 작업 기반 사전 실행 및 사후 실행 처리와 다릅니다. 이 작업의 목적은 모든 작업 기반 사전 실행 및 호스트 기반 준비에 의존하는 기타 사전 처리 전에 실행 호스트를 설정하고 작업 기반 사후 실행 및 기타 사후 처리 후에 실행 호스트를 정리하는 것입니다.
이 기능은 여러 가지 방법으로 사용할 수 있습니다. 예를 들어,
- HPC 사이트에는 호스트 또는 노드 상태 확인, 키 파일 시스템 마운트, infiniband 작동, 필수 디렉토리, 파일, 환경 및 올바른 사용자 권한 설정 등과 같은 작업을 실제로 실행하기 전에 시스템 상태를 확인하는 여러 가지 방법이 있을 수 있습니다.)
- 관리자는 호스트 기반 사전 및 사후 실행 처리를 실행하여 컴퓨터 노드에 대한 ssh 액세스를 설정하도록 사이트 특정 정책을 구성할 수 있습니다. 기본적으로 ssh는 사용 안함으로 설정되어 있습니다. 그러나 호스트 기반 사전 및 사후 실행 처리를 사용하여 작업에 할당된 노드에 대한 ssh 액세스를 작업 수명 주기 동안 사용할 수 있습니다. 이는 첫 번째가 아닌 실행 호스트에서 병렬 작업을 디버깅하는 데 필요하며 전체 클러스터 보안 정책에 영향을 주지 않습니다.
- 관리자는 각 호스트에서 임시 작업 디렉토리를 작성하고 나중에 제거하도록 호스트 기반 사전 실행 및 사후 실행 처리를 구성할 수 있습니다.
애플리케이션 레벨 및 큐 레벨에서 호스트 기반 사전 및 사후 실행 처리를 정의할 수 있습니다. 장애 처리도 지원됩니다.
작업에 대해 호스트 기반 사전 및 사후 실행 처리를 사용 가능하게 하는 두 가지 방법이 있습니다.
- lsb.queues에서 HOST_PRE_EXEC 및 HOST_POST_EXEC 를 구성하십시오.
- lsb.applications에서 HOST_PRE_EXEC 및 HOST_POST_EXEC 를 구성하십시오.
호스트 기반 사전 및 사후 실행 처리를 구성할 때 다음에 유의하십시오.
- 호스트 기반 사전 실행 및 사후 실행 처리는 UNIX에서만 지원됩니다.
- 호스트 기반 사전 실행 및 사후 실행 처리는 출력에서 일부 환경 변수의 리턴 및 작업에 대한 해당 환경 변수의 설정을 지원하지 않습니다.
- 작업이 호스트 기반 사전 실행 처리 단계에 있는 경우, sbatchd 는 종료 신호가 아닌 모든 신호를 거부하고 신호가 다시 전송되도록 요청합니다. 작업이 호스트 기반 사후 실행 처리 단계에 있는 경우 JOB_INCLUDE_POSTPROC 가 정의된 방법에 관계없이 작업 신호가 거부되거나 무시됩니다.
- 호스트 기반 사전 및 사후 실행 처리를 위해 JOB_PREPROC_TIMEOUT 또는 JOB_POSTPROC_TIMEOUT 에 기본값을 사용할 수 없습니다. 호스트 기반 사전 및 사후 실행 처리를 실행하는 데 걸리는 시간에 따라 값을 구성하십시오.
- 호스트 기반 사전 실행 처리가 완료될 때까지 체크포인트를 수행할 수 없습니다. 이 시간 동안 sbatchd 는 재시도 오류를 리턴합니다.
- LSF 릴리스 9.1.2부터 자동 크기 조정으로 작업이 확장된 할당된 호스트에서 호스트 기반 사전 실행 및 사후 실행 처리가 실행되지 않습니다.
- 호스트 기반 사전 실행 및 사후 실행 처리는 로컬 호스트와 동일하게 임대인 호스트를 처리합니다.
- 호스트 기반 사전 실행 또는 사후 실행 처리가 있는 작업이 Windows 호스트에 디스패치되면 작업이 실패하고 보류 중인 이유가 표시됩니다.
- 호스트 기반 실행 전/후 처리는 작업 수준에서 정의되지 않으므로 MultiCluster 전달된 작업은 로컬 큐 및 애플리케이션 호스트 기반 실행 전/후 처리 정보를 사용하지 않고 대신 원격 큐 및 애플리케이션 구성을 따릅니다.
- 호스트 기반 사전 실행 및 사후 실행 처리 기능은 LSF 9.1.2 및 향후 버전에서만 지원됩니다.