Qiskit Runtime 워크로드의 최대 실행 시간
공정성을 보장하기 위해, 각 Qiskit Runtime 작업이 실행될 수 있는 서비스 산출 최대 시간이 정해져 있습니다. 작업이 이 시간 제한을 초과하면 강제로 취소되고 RuntimeJobMaxTimeoutError 예외가 발생합니다. 비용을 관리하는 데 도움이 되도록 작업에 최대 실행 시간을 직접 설정할 수도 있습니다.
비용 한도에 도달하면 세션 또는 배치가 즉시 종료됩니다. 해당 세션 또는 배치에서 현재 실행 중인 작업은 완료될 때까지 실행되지만, 대기 중인 작업은 취소됩니다.
최대 실행 시간 설정
작업의 최대 실행 시간은 다음 값 중 더 작은 값으로 결정됩니다:
max_execution_time에 설정된 값- 서비스가 결정한 작업 타임아웃 값
max_execution_time 값은 벽시계 시간이 아닌 QPU 사용량을 기준으로 합니다.
다음 예시와 같이 작업 옵션에서 최대 실행 시간(초 단위)을 설정하세요. 옵션 설정에 대한 자세한 내용은 Estimator 옵션, Sampler 옵션, 또는 Executor 옵션 가이드를 참조하세요.
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
estimator = Estimator(mode=backend)
estimator.options.max_execution_time = 2500
다음과 같이 작업 메트릭을 반환하여 완료된 작업이 소비한 사용량을 확인할 수도 있습니다:
# Find QPU usage of a specific job
print(f"QPU usage of job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")
서비스 산출 최대 실행 시간
서비스는 입력된 Circuit과 옵션을 기반으로 적절한 작업 타임아웃 값을 계산합니다. 이 서비스 산출 타임아웃은 공정한 장치 사용을 보장하기 위해 최대 3시간으로 제한됩니다. 작업에 max_execution_time도 지정된 경우, 두 값 중 더 작은 값이 사용됩니다.
예를 들어, max_execution_time=5000(약 83분)을 지정했지만 서비스가 작업 실행에 5분(300초) 이상 걸리지 않는다고 판단하면, 해당 작업은 5분 후에 취소됩니다.
배치 최대 실행 시간
배치가 시작되면 최대 유효 시간(최대 TTL) 값이 할당됩니다. 이 TTL에 도달하면 배치가 종료되고, 이미 실행 중인 작업은 계속 실행되며, 배치에 남아 있는 대기 중인 작업은 실패 상태로 전환됩니다.
배치에는 구성할 수 없는 작업 간 대화형 유효 시간(interactive TTL) 값도 있습니다. 배치를 명시적으로 닫지 않으면 대화형 TTL이 만료된 후 비활성화되며, 최대 TTL에 도달할 때까지 언제든지 다시 활성화할 수 있습니다.
이러한 값들을 다루는 방법은 배치에서 작업 실행을 참조하세요.
세션 최대 실행 시간
세션이 시작되면 세션이 실행될 수 있는 기간을 결정하는 최대 TTL 값이 할당됩니다. 이 TTL에 도달하면 세션이 종료되고, 이미 실행 중인 작업은 계속 실행되며, 세션에 남아 있는 대기 중인 작업은 실패 상태로 전환됩니다.
구성할 수 없는 대화형 TTL 값도 있습니다. 해당 기간 내에 세션 작업이 대기열에 추가되지 않으면 세션이 일시적으로 비활성화됩니다.
이러한 값들을 다루는 방법은 세션에서 작업 실행을 참조하세요.
기타 제한 사항
- 작업에 대한 입력은 크기가 50MB를 초과할 수 없습니다.
- Open Plan에서는 28일 롤링 윈도우당 QPU에서 최대 10분을 사용할 수 있습니다. 인스턴스 페이지에서 인스턴스의 사용량을 확인할 수 있습니다.
다음 단계
- 워크로드 사용량.
- 다음 팁을 검토하세요: 작업 실행 시간 최소화.