사전 및 사후 실행 처리 정보

사전 실행 및 사후 실행 처리 기능은 두 가지 유형으로 구성됩니다.

  • 순차 작업을 위한 작업 기반 사전 및 사후 실행 처리이며 첫 번째 실행 호스트에서만 실행됩니다.
  • 병렬 작업을 위한 호스트 기반 사전 실행 및 사후 실행 처리이며 모든 실행 호스트에서 실행됩니다.
일괄처리 작업이 시작되기 전이나 완료된 후에 사전 실행 및 사후 실행 처리를 사용하여 명령을 실행할 수 있습니다. 이 기능의 일반적인 사용은 다음과 같습니다.
  • LSF에서 직접 구성할 수 없는 테이프 드라이브 및 기타 장치와 같은 자원 예약
  • LSF에서 직접 지원하는 것 외에 작업 시작 결정
  • 작업에 대한 스크래치 디렉토리 작성 및 삭제
  • 사전 실행 명령의 종료 코드를 기반으로 스케줄링 사용자 정의
  • 소프트웨어 라이센스의 가용성 확인
  • SMP 시스템의 특정 프로세서에서 실행할 작업 지정
  • 작업 실행에 필요한 데이터 파일 전송
  • 작업 실행 전후에 시스템 구성 파일 수정
  • 사후 실행 명령을 사용하여 사전 실행 명령 또는 작업에 의해 남겨진 상태 정리

실행 가능한 명령행은 사전 실행 또는 사후 실행 명령으로 사용할 수 있습니다. 기본적으로 명령은 작업과 동일한 사용자 계정, 환경, 홈 디렉토리 및 작업 디렉토리에서 실행됩니다.

JOB_INCLUDE_POSTPROC 가 애플리케이션 프로파일 또는 lsb.params에 정의된 경우, 작업이 실행 후 스테이지 (일반 작업의 경우 DONE 상태) 에 있는 동안 작업은 RUN 상태로 간주됩니다.

작업 기반 사전 및 사후 실행 처리

작업 기반 사전 실행 및 사후 실행 명령은 큐, 애플리케이션 및 작업 레벨에서 정의할 수 있습니다.

명령 경로에는 최대 4094자 (UNIX및 Linux의 경우) 또는 최대 255자 (Windows의 경우) (%J (job_ID) 및 %I (index_ID) 에 대한 디렉토리, 파일 이름 및 확장 값 포함) 가 포함될 수 있습니다.

작업의 크기를 조정할 수 있으면 작업 증가 요청이 무시됩니다. 그러나 작업 축소 요청은 처리할 수 있습니다. 어느 경우에도 LSF는 작업 크기 조정 알림 명령을 호출하지 않습니다.

다음 그림은 작업 기반 사전 및 사후 실행 처리의 기본 동작 (기능이 사용으로 설정되지 않음) 을 표시합니다.

다음 예제는 작업 실행 전에 환경을 설정하고 작업 실행 후에 결과 파일을 전송하기 위해 큐 또는 애플리케이션 레벨에서 작업 기반 사전 실행 및 사후 실행 처리가 작동하는 방법을 보여줍니다.

아래 표는 작업 기반 사전 및 사후 실행 처리의 범위를 제공합니다.


적용성 세부사항
운영 체제
  • UNIX
  • <
  • UNIX및 Windows 호스트 혼합
종속성
  • UNIX및 Windows 사용자 계정은 클러스터의 모든 호스트에서 유효해야 하며 작업을 성공적으로 실행하려면 올바른 권한이 있어야 합니다.
  • Windows Server 2003, x64 Edition 플랫폼에서는 사용자에게 cmd.exe에 대한 읽기 및 실행 권한이 있어야 합니다.
제한사항
  • 일괄처리 작업에만 적용됩니다 ( bsub 명령을 사용하여 제출된 작업).

호스트 기반 사전 및 사후 실행 처리

호스트 기반 사전 실행 및 사후 실행 처리는 병렬 작업을 위한 것이며 (순차 작업에도 이 기능을 사용할 수 있음) 첫 번째 실행 호스트와는 반대로 모든 실행 호스트에서 실행된다는 점에서 작업 기반 사전 실행 및 사후 실행 처리와 다릅니다. 이 작업의 목적은 모든 작업 기반 사전 실행 및 호스트 기반 준비에 의존하는 기타 사전 처리 전에 실행 호스트를 설정하고 작업 기반 사후 실행 및 기타 사후 처리 후에 실행 호스트를 정리하는 것입니다.

이 기능은 여러 가지 방법으로 사용할 수 있습니다. 예를 들어,

  • HPC 사이트에는 호스트 또는 노드 상태 확인, 키 파일 시스템 마운트, infiniband 작동, 필수 디렉토리, 파일, 환경 및 올바른 사용자 권한 설정 등과 같은 작업을 실제로 실행하기 전에 시스템 상태를 확인하는 여러 가지 방법이 있을 수 있습니다.)
  • 관리자는 호스트 기반 사전 및 사후 실행 처리를 실행하여 컴퓨터 노드에 대한 ssh 액세스를 설정하도록 사이트 특정 정책을 구성할 수 있습니다. 기본적으로 ssh는 사용 안함으로 설정되어 있습니다. 그러나 호스트 기반 사전 및 사후 실행 처리를 사용하여 작업에 할당된 노드에 대한 ssh 액세스를 작업 수명 주기 동안 사용할 수 있습니다. 이는 첫 번째가 아닌 실행 호스트에서 병렬 작업을 디버깅하는 데 필요하며 전체 클러스터 보안 정책에 영향을 주지 않습니다.
  • 관리자는 각 호스트에서 임시 작업 디렉토리를 작성하고 나중에 제거하도록 호스트 기반 사전 실행 및 사후 실행 처리를 구성할 수 있습니다.

애플리케이션 레벨 및 큐 레벨에서 호스트 기반 사전 및 사후 실행 처리를 정의할 수 있습니다. 장애 처리도 지원됩니다.

작업에 대해 호스트 기반 사전 및 사후 실행 처리를 사용 가능하게 하는 두 가지 방법이 있습니다.

  • lsb.queues에서 HOST_PRE_EXECHOST_POST_EXEC 를 구성하십시오.
  • lsb.applications에서 HOST_PRE_EXECHOST_POST_EXEC 를 구성하십시오.

호스트 기반 사전 및 사후 실행 처리를 구성할 때 다음에 유의하십시오.

  • 호스트 기반 사전 실행 및 사후 실행 처리는 UNIX에서만 지원됩니다.
  • 호스트 기반 사전 실행 및 사후 실행 처리는 출력에서 일부 환경 변수의 리턴 및 작업에 대한 해당 환경 변수의 설정을 지원하지 않습니다.
  • 작업이 호스트 기반 사전 실행 처리 단계에 있는 경우, sbatchd 는 종료 신호가 아닌 모든 신호를 거부하고 신호가 다시 전송되도록 요청합니다. 작업이 호스트 기반 사후 실행 처리 단계에 있는 경우 JOB_INCLUDE_POSTPROC 가 정의된 방법에 관계없이 작업 신호가 거부되거나 무시됩니다.
  • 호스트 기반 사전 및 사후 실행 처리를 위해 JOB_PREPROC_TIMEOUT 또는 JOB_POSTPROC_TIMEOUT 에 기본값을 사용할 수 없습니다. 호스트 기반 사전 및 사후 실행 처리를 실행하는 데 걸리는 시간에 따라 값을 구성하십시오.
  • 호스트 기반 사전 실행 처리가 완료될 때까지 체크포인트를 수행할 수 없습니다. 이 시간 동안 sbatchd 는 재시도 오류를 리턴합니다.
  • LSF 릴리스 9.1.2부터 자동 크기 조정으로 작업이 확장된 할당된 호스트에서 호스트 기반 사전 실행 및 사후 실행 처리가 실행되지 않습니다.
  • 호스트 기반 사전 실행 및 사후 실행 처리는 로컬 호스트와 동일하게 임대인 호스트를 처리합니다.
  • 호스트 기반 사전 실행 또는 사후 실행 처리가 있는 작업이 Windows 호스트에 디스패치되면 작업이 실패하고 보류 중인 이유가 표시됩니다.
  • 호스트 기반 실행 전/후 처리는 작업 수준에서 정의되지 않으므로 MultiCluster 전달된 작업은 로컬 큐 및 애플리케이션 호스트 기반 실행 전/후 처리 정보를 사용하지 않고 대신 원격 큐 및 애플리케이션 구성을 따릅니다.
  • 호스트 기반 사전 실행 및 사후 실행 처리 기능은 LSF 9.1.2 및 향후 버전에서만 지원됩니다.