{
  "cells": [
    {
      "cell_type": "markdown",
      "id": "175ff1e8-9d71-4396-9936-37304fa5df1c",
      "metadata": {},
      "source": [
        "---\n",
        "title: \"Tempo massimo di esecuzione per i carichi di lavoro del servizio di elaborazione \\\" IBM Quantum \\\"\"\n",
        "description: \"Descrive la durata massima di esecuzione di un processo del servizio Compute di IBM Quantum, indipendentemente dalla modalità di esecuzione utilizzata.\"\n",
        "---\n",
        "\n",
        "<span id=\"maximum-execution-time-for-ibm-quantum-compute-service-workloads\" />\n",
        "\n",
        "# Tempo massimo di esecuzione per i carichi di lavoro del servizio di elaborazione \" IBM Quantum \"\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "653b0c37-be57-49af-b8fe-d60e3bbdc939",
      "metadata": {
        "tags": [
          "version-info"
        ]
      },
      "source": [
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "id": "a0d6acc5-754c-4955-8cf0-5e3e12b9dd1f",
      "metadata": {},
      "source": [
        "Per garantire l'equità, [il servizio](#max-QPU) impone un limite massimo di tempo per l'esecuzione di ogni processo. Se un'operazione supera tale limite di tempo, viene annullata forzatamente e viene generata un'eccezione `RuntimeJobMaxTimeoutError` . È inoltre possibile [impostare un tempo massimo di esecuzione](#max-job) per i propri lavori, al fine di contenere i costi.\n",
        "\n",
        "<Admonition>\n",
        "  La sessione o il batch vengono immediatamente interrotti al raggiungimento del limite di costo. I processi attualmente in esecuzione in quella sessione o in quel batch verranno portati a termine, mentre quelli in sospeso verranno annullati.\n",
        "</Admonition>\n",
        "\n",
        "<span id=\"max-job\" />\n",
        "\n",
        "<span id=\"set-a-maximum-execution-time\" />\n",
        "\n",
        "## Imposta un tempo massimo di esecuzione\n",
        "\n",
        "Il tempo massimo di esecuzione di un lavoro è il più piccolo di questi valori:\n",
        "\n",
        "* Il valore impostato per `max_execution_time`\n",
        "* Il valore massimo del timeout del servizio (tre ore)\n",
        "\n",
        "Il valore `max_execution_time` si basa sull *'utilizzo* della QPU (esclusivamente l'utilizzo quantistico), non sul tempo trascorso in termini di orologio.\n",
        "\n",
        "Impostare il tempo massimo di esecuzione (in secondi) nelle opzioni del processo, come illustrato nell'esempio seguente.  Per informazioni sulla configurazione [delle](/docs/guides/executor-options) opzioni, consultare le guide [relative](/docs/guides/sampler-options) [alle opzioni di Estimator](/docs/guides/estimator-options), Sampler o Executor.\n",
        "\n",
        "```python\n",
        "from qiskit_ibm_runtime import QiskitRuntimeService\n",
        "from qiskit_ibm_runtime import EstimatorV2 as Estimator\n",
        "\n",
        "service = QiskitRuntimeService()\n",
        "backend = service.least_busy(operational=True, simulator=False)\n",
        "\n",
        "estimator = Estimator(mode=backend)\n",
        "\n",
        "estimator.options.max_execution_time = 2500\n",
        "```\n",
        "\n",
        "È inoltre possibile verificare la quantità di risorse consumate dai lavori completati recuperando le metriche dei lavori come segue:\n",
        "\n",
        "```python\n",
        "# Find QPU usage of a specific job\n",
        "print(f\"QPU usage of job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds\")\n",
        "```\n",
        "\n",
        "<span id=\"max-QPU\" />\n",
        "\n",
        "<span id=\"service-enforced-maximum-execution-time\" />\n",
        "\n",
        "## Tempo massimo di esecuzione imposto dal servizio\n",
        "\n",
        "Il servizio impone un limite massimo di tre ore per l'esecuzione, al fine di garantire un utilizzo equo dei dispositivi. Se per il lavoro `max_execution_time` viene specificato anche un valore a, viene utilizzato il minore dei due valori.\n",
        "\n",
        "Ad esempio, se si specifica `max_execution_time=5000` (circa 83 minuti), il processo verrà annullato dopo circa 83 minuti, anche se il servizio potrebbe consentirne l'esecuzione per tre ore.\n",
        "\n",
        "<span id=\"batch-max-time\" />\n",
        "\n",
        "<span id=\"batch-maximum-execution-time\" />\n",
        "\n",
        "## Tempo massimo di esecuzione del batch\n",
        "\n",
        "Quando un batch viene avviato, gli viene assegnato un valore massimo di tempo di vita (TTL massimo). Dopo il raggiungimento di questo TTL, il batch viene terminato, i lavori già in esecuzione continuano ad essere eseguiti e i lavori in coda che rimangono nel batch vengono messi in stato di fallimento.\n",
        "\n",
        "I batch hanno anche un valore di tempo di vita interattivo (interactive TTL) tra i lavori che non può essere configurato. Se non si chiude esplicitamente un batch, questo viene disattivato dopo la scadenza del TTL interattivo e può essere riattivato in qualsiasi momento finché non raggiunge il TTL massimo.\n",
        "\n",
        "Per istruzioni su come utilizzare questi valori, vedere [Eseguire lavori in batch](/docs/guides/run-jobs-batch).\n",
        "\n",
        "<span id=\"session-max-time\" />\n",
        "\n",
        "<span id=\"session-maximum-execution-time\" />\n",
        "\n",
        "## Tempo massimo di esecuzione della sessione\n",
        "\n",
        "Quando una sessione viene avviata, le viene assegnato un valore TTL massimo che determina la durata della sessione. Dopo il raggiungimento di questo TTL, la sessione viene terminata, i lavori già in esecuzione continuano ad essere eseguiti e i lavori in coda che rimangono nella sessione vengono messi in stato di fallimento.\n",
        "\n",
        "Esiste anche un valore TTL interattivo che non può essere configurato.  Se non vengono accodati lavori di sessione entro tale finestra, la sessione viene temporaneamente disattivata.\n",
        "\n",
        "Per istruzioni su come utilizzare questi valori, vedere [Eseguire lavori in una sessione](/docs/guides/run-jobs-session).\n",
        "\n",
        "<span id=\"other-limitations\" />\n",
        "\n",
        "## Altre limitazioni\n",
        "\n",
        "Con il piano Open Plan, puoi utilizzare fino a 10 minuti su una QPU ogni 28 giorni. È possibile visualizzare l'utilizzo di un'istanza nella pagina \" [Istanze](/instances) \".\n",
        "\n",
        "<span id=\"next-steps\" />\n",
        "\n",
        "## Passi successivi\n",
        "\n",
        "<Admonition type=\"tip\" title=\"Suggerimenti\">\n",
        "  * [Utilizzo del carico di lavoro](/docs/guides/estimate-job-run-time).\n",
        "  * Tieni presente questi consigli: [riduci al minimo la durata dell'elaborazione](/docs/guides/minimize-time).\n",
        "</Admonition>\n",
        "\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "id": "a1b8767d",
      "source": "© IBM Corp., 2017-2026"
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 4
}