작업 템플릿에 대한 작업 청킹 - 기한 클라우드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

작업 템플릿에 대한 작업 청킹

작업 청킹을 사용하면 여러 작업을 청크라는 단일 작업 단위로 그룹화할 수 있습니다. 예를 들어 렌더링 작업에서 Deadline Cloud는 명령 호출당 하나의 프레임 대신 여러 프레임을 함께 디스패치할 수 있습니다. 이렇게 하면 각 작업에 대한 애플리케이션 시작 오버헤드가 줄어들고 총 작업 런타임이 단축됩니다. 자세한 내용은 OpenJD Wiki에서 한 번에 여러 프레임 실행을 참조하세요.

OpenJD는 작업 템플릿에 선택적 기능을 추가하는 확장을 지원합니다. 작업 청킹은 TASK_CHUNKING 확장을 추가하여 활성화됩니다. 청킹을 사용하려면 작업 템플릿에 확장을 추가하고 CHUNK[INT] 작업 파라미터 유형을 사용합니다. 동일한 deadline bundle submit 명령을 사용하여 청크 작업을 제출합니다. 예를 들어 다음 작업 템플릿은 프레임을 10 청크로 렌더링합니다.

specificationVersion: 'jobtemplate-2023-09' extensions: - TASK_CHUNKING name: Blender Render with Contiguous Chunking parameterDefinitions: - name: BlenderSceneFile type: PATH objectType: FILE dataFlow: IN - name: Frames type: STRING default: "1-100" - name: OutputDir type: PATH objectType: DIRECTORY dataFlow: OUT default: "./output" steps: - name: RenderBlender parameterSpace: taskParameterDefinitions: - name: Frame type: CHUNK[INT] range: "{{Param.Frames}}" chunks: defaultTaskCount: 10 rangeConstraint: CONTIGUOUS script: actions: onRun: command: bash args: ["{{Task.File.Run}}"] embeddedFiles: - name: Run type: TEXT data: | set -xeuo pipefail mkdir -p '{{Param.OutputDir}}' # Parse the chunk range (e.g., "1-10") into start and end frames START_FRAME="$(echo '{{Task.Param.Frame}}' | cut -d- -f1)" END_FRAME="$(echo '{{Task.Param.Frame}}' | cut -d- -f2)" blender --background '{{Param.BlenderSceneFile}}' \ --render-output '{{Param.OutputDir}}/output_####' \ --render-format PNG \ --use-extension 1 \ -s "$START_FRAME" \ -e "$END_FRAME" \ --render-anim

이 예제에서 Deadline Cloud는 100프레임을 1-10, 11-20등과 같은 청크로 나눕니다. {{Task.Param.Frame}} 변수는와 같은 범위 표현식으로 확장됩니다1-10. rangeConstraint는 로 설정되므로 CONTIGUOUS범위는 항상 start-end 형식입니다. 스크립트는이 범위를 구문 분석하고와 함께 -s-e 옵션을 사용하여 시작 및 종료 프레임을 Blender에 전달합니다--render-anim.

chunks 속성은 다음 필드를 지원합니다.

  • defaultTaskCount – (필수) 단일 청크로 결합할 작업 수입니다. 최대값은 150입니다.

  • rangeConstraint – (필수) CONTIGUOUS인 경우 청크는 항상와 같은 연속 범위입니다1-10. NONCONTIGUOUS인 경우 청크는와 같은 임의의 집합일 수 있습니다1,3,7-10.

  • targetRuntimeSeconds – (선택 사항) 각 청크에 대한 초 단위의 대상 런타임입니다. Deadline Cloud는 일부 청크가 완료되면이 대상에 접근하도록 청크 크기를 동적으로 조정할 수 있습니다.

연속 청크와 비연속 청크가 모두 있는 기본 및 Blender 예제를 포함한 추가 태스크 청킹 예제는 GitHub의 Deadline Cloud 샘플 리포지토리에서 태스크 청킹 샘플을 참조하세요.

고객 관리형 플릿 요구 사항

작업 청킹에는 호환되는 작업자 에이전트 버전이 필요합니다. 고객 관리형 플릿을 사용하는 경우 청킹으로 작업을 제출하기 전에 작업자 에이전트가 업데이트되었는지 확인합니다. 서비스 관리형 플릿은 항상 호환되는 작업자 에이전트 버전을 사용합니다.

청크 작업에 대한 출력 다운로드

청크 작업에서 단일 작업에 대한 출력을 다운로드하면 Deadline Cloud는 전체 청크에 대한 출력을 다운로드합니다. 예를 들어 프레임 1~10이 함께 처리된 경우 프레임 3에 대한 출력을 다운로드하면 모든 프레임 1~10이 포함됩니다. 이 기능을 사용하려면 deadline-cloud 버전 0.53.3 이상이 필요합니다.