Qiskit Runtime 워크로드의 최대 실행 시간
공정성을 보장하기 위해, 각 Qiskit Runtime 작업이 실행될 수 있는 서비스 산출 최대 시간이 정해져 있습니다. 작업이 이 시간 제한을 초과하면 강제로 취소되고 RuntimeJobMaxTimeoutError 예외가 발생합니다. 비용을 관리하는 데 도움이 되도록 작업에 최대 실행 시간을 직접 설정할 수도 있습니다.
비용 한도에 도달하면 세션 또는 배치가 즉시 종료됩니다.
최대 실행 시간 설정
작업의 최대 실행 시간은 다음 값 중 더 작은 값으로 결정됩니다:
max_execution_time에 설정된 값- 서비스가 결정한 작업 타임아웃 값
max_execution_time 값은 벽시계 시간이 아닌 양자 시간(quantum time) 을 기준으로 합니다. 양자 시간은 QPU가 작업 처리에 전용으로 사용되는 시간입니다.
다음 예시와 같이 작업 옵션에서 최대 실행 시간(초 단위)을 설정하세요. 옵션 설정에 대한 자세한 내용은 옵션 지정을 참조하세요.
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 quantum time used by the job
print(f"Quantum time used by 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일 롤링 윈도우당 최대 10분의 양자 시간을 사용할 수 있습니다. 양자 시간은 QPU가 작업 처리에 전용으로 사용되는 시간입니다. 인스턴스 페이지에서 인스턴스의 사용량을 확인할 수 있습니다.
다음 단계
- 워크로드 사용량.
- 다음 팁을 검토하세요: 작업 실행 시간 최소화.