Tiempo máximo de ejecución para cargas de trabajo de Qiskit Runtime
Para garantizar la equidad, existe un tiempo máximo de ejecución calculado por el servicio para cada trabajo de Qiskit Runtime. Si un trabajo supera este límite de tiempo, se cancela forzosamente y se lanza una excepción RuntimeJobMaxTimeoutError. También puedes establecer un tiempo máximo de ejecución en tus trabajos para ayudar a controlar los costos.
La sesión o el batch se terminan inmediatamente cuando se alcanza el límite de costo.
Establecer un tiempo máximo de ejecución
El tiempo máximo de ejecución para un trabajo es el menor de estos valores:
- El valor establecido para
max_execution_time - El valor de tiempo de espera del trabajo determinado por el servicio
El valor de max_execution_time se basa en el tiempo cuántico, no en el tiempo de reloj. El tiempo cuántico es la cantidad de tiempo que la QPU dedica a procesar tu trabajo.
Establece el tiempo máximo de ejecución (en segundos) en las opciones del trabajo, como se muestra en el siguiente ejemplo. Consulta Especificar opciones para obtener información sobre cómo configurar opciones.
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
También puedes averiguar cuánto tiempo cuántico han utilizado los trabajos completados recuperando las métricas del trabajo de la siguiente manera:
# Find quantum time used by the job
print(f"Quantum time used by job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")
Tiempo máximo de ejecución calculado por el servicio
El servicio calcula un valor de tiempo de espera apropiado para el trabajo según los circuitos de entrada y las opciones. Este tiempo de espera calculado por el servicio tiene un límite máximo de 3 horas para garantizar un uso equitativo del dispositivo. Si también se especifica un max_execution_time para el trabajo, se utiliza el menor de los dos valores.
Por ejemplo, si especificas max_execution_time=5000 (aproximadamente 83 minutos), pero el servicio determina que no debería tardar más de 5 minutos (300 segundos) en ejecutar el trabajo, entonces el trabajo se cancela después de 5 minutos.
Tiempo máximo de ejecución del batch
Cuando se inicia un batch, se le asigna un valor de tiempo de vida máximo (TTL máximo). Una vez alcanzado este TTL, el batch se termina, los trabajos que ya están en ejecución continúan ejecutándose y los trabajos en cola que permanecen en el batch pasan a un estado de error.
Los batches también tienen un valor de tiempo de vida interactivo (TTL interactivo) entre trabajos que no puede configurarse. Si no cierras explícitamente un batch, se desactiva una vez que expira el TTL interactivo y puede reactivarse en cualquier momento hasta que alcance su TTL máximo.
Para obtener instrucciones sobre cómo trabajar con estos valores, consulta Ejecutar trabajos en un batch.
Tiempo máximo de ejecución de la sesión
Cuando se inicia una sesión, se le asigna un valor de TTL máximo que determina cuánto tiempo puede ejecutarse. Una vez alcanzado este TTL, la sesión se termina, los trabajos que ya están en ejecución continúan ejecutándose y los trabajos en cola que permanecen en la sesión pasan a un estado de error.
También existe un valor de TTL interactivo que no puede configurarse. Si no se ponen en cola trabajos de la sesión dentro de esa ventana de tiempo, la sesión se desactiva temporalmente.
Para obtener instrucciones sobre cómo trabajar con estos valores, consulta Ejecutar trabajos en una sesión.
Otras limitaciones
- Las entradas a los trabajos no pueden superar los 50 MB de tamaño.
- Los usuarios del Plan Open pueden utilizar hasta 10 minutos de tiempo cuántico por ventana continua de 28 días. El tiempo cuántico es la cantidad de tiempo que la QPU dedica a procesar tu trabajo. Puedes ver el uso de una instancia en la página Instancias.
Próximos pasos
- Uso de cargas de trabajo.
- Revisa estos consejos: Minimizar el tiempo de ejecución del trabajo.