From 9c55c005cfb4759872e42082695e932729f5a0ea Mon Sep 17 00:00:00 2001 From: Rebecca Dimock Date: Mon, 25 Sep 2023 13:36:54 -0500 Subject: [PATCH 01/13] Initial edits --- docs/faqs/max_execution_time.rst | 24 +++++++++++++----------- docs/sessions.rst | 8 +++++++- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 6b2cab1123..6c505a1c99 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -13,12 +13,11 @@ a job exceeds this time limit, it is forcibly cancelled and a ``RuntimeJobMaxTim exception is raised. .. note:: - As of August 7, 2023, the ``max_execution_time`` value is based on quantum - time instead of wall clock time. Quantum time represents the time that the QPU + As of August 7, 2023, the ``max_execution_time`` value is based on usage, which is the time that the QPU complex (including control software, control electronics, QPU, and so on) is engaged in - processing the job. + processing the job instead of wall clock time. - Simulator jobs continue to use wall clock time because they do not have quantum time. + Simulator jobs continue to use wall clock time. You can set the maximum execution time (in seconds) on the job options by using one of the following methods: @@ -32,12 +31,12 @@ You can set the maximum execution time (in seconds) on the job options by using # Create the options object with attributes and values options = {"max_execution_time": 360} -You can also find quantum time used by previously completed jobs by using: +You can also find the usage for previously completed jobs by using: .. code-block:: python - # Find quantum time used by the job - print(f"Quantum time used by job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds") + # Find the job usage + print(f"Job {job.job_id()} usage was {job.metrics()['usage']['quantum_seconds']} seconds") In addition, the system calculates an appropriate job timeout value based on the input circuits and options. This system-calculated timeout is currently capped @@ -68,16 +67,16 @@ If you don't specify a session ``max_time``, the system defaults are used: +==============+==================+==============+===========+ | Premium User | Open User | Premium User | Open User | +--------------+------------------+--------------+-----------+ -| 8h | 4h | 8h | N/A | +| 8h | 15m | 8h | N/A | +--------------+------------------+--------------+-----------+ Note that a *premium user* here means a user who has access to backends in providers other than ``ibm-q/open/main``. .. note:: - Session ``max_time`` is based on wall clock time, not quantum time. + Session ``max_time`` is based on wall clock time. -Additionally, there is a 5 minute *interactive* timeout value. If there are no session jobs queued within that window, the session is temporarily deactivated and normal job selection resumes. During job selection, if the job scheduler gets a new job from the session and its maximum timeout value has not been reached, the session is reactivated until its maximum timeout value is reached. +Additionally, there is an *interactive* timeout value. If there are no session jobs queued within that window, the session is temporarily deactivated and normal job selection resumes. During job selection, if the job scheduler gets a new job from the session and its maximum timeout value has not been reached, the session is reactivated until its maximum timeout value is reached. The interactive timeout value is five minutes for premium users and two seconds for open users. .. note:: The timer for the session's ``max_time`` is not paused during any temporary deactivation periods. @@ -86,4 +85,7 @@ Other limitations *************************** - Programs cannot exceed 750KB in size. -- Inputs to jobs cannot exceed 64MB in size. \ No newline at end of file +- Inputs to jobs cannot exceed 64MB in size. +- Open users are limited to 10 minutes of usage per month. This is the time that the QPU + complex (including control software, control electronics, QPU, and so on) is engaged in + processing the job. \ No newline at end of file diff --git a/docs/sessions.rst b/docs/sessions.rst index bf4ed150d6..8b09890f38 100644 --- a/docs/sessions.rst +++ b/docs/sessions.rst @@ -73,6 +73,9 @@ How long a session stays active The length of time a session is active is controlled by the *maximum session timeout* (``max_time``) value and the *interactive* timeout value (TTL). The ``max_time`` timer starts when the session becomes active. That is, when the first job runs, not when it is queued. It does not stop if a session becomes inactive. The TTL timer starts each time a session job finishes. +.. note:: + When running jobs through the Open Plan, the maximum session timeout is 15 minutes. + Maximum session timeout ++++++++++++++++++++++++++++ @@ -93,7 +96,10 @@ Interactive timeout value Every session has an *interactive timeout value*, or time to live (TTL), of five minutes, which cannot be changed. If there are no session jobs queued within the TTL window, the session is temporarily deactivated and normal job selection resumes. A deactivated session can be resumed if it has not reached its maximum timeout value. The session is resumed when a subsequent session job starts. Once a session is deactivated, its next job waits in the queue like other jobs. -After a session is deactivated, the next job in the queue is selected to run. This newly selected job (which can belong to a different user) can run as a singleton, but it can also start a different session. In other words, a deactivated session does not block the creation of other sessions. Jobs from this new session would then take priority until it is deactivated or closed, at which point normal job selection resumes. +After a session is deactivated, the next job in the queue is selected to run. This newly selected job (which can belong to a different user) can run as a singleton, but it can also start a different session. In other words, a deactivated session does not block the creation of other sessions. Jobs from this new session would then take priority until it is deactivated or closed, at which point normal job selection resumes. + +.. note:: + When running jobs through the Open Plan, the interactive timeout value is two seconds. .. _ends: From 64006ce62b58e80f875a260283b7e45adafdbeaa Mon Sep 17 00:00:00 2001 From: Rebecca Dimock Date: Mon, 25 Sep 2023 13:56:41 -0500 Subject: [PATCH 02/13] edit --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 6c505a1c99..15e3fc2985 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -15,7 +15,7 @@ exception is raised. .. note:: As of August 7, 2023, the ``max_execution_time`` value is based on usage, which is the time that the QPU complex (including control software, control electronics, QPU, and so on) is engaged in - processing the job instead of wall clock time. + processing the job, instead of wall clock time. Simulator jobs continue to use wall clock time. From 1a19ce56e5f66a2db2b2af60ec22b1da74604728 Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:18:07 -0500 Subject: [PATCH 03/13] Update docs/faqs/max_execution_time.rst --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 15e3fc2985..509b23e4a9 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -13,7 +13,7 @@ a job exceeds this time limit, it is forcibly cancelled and a ``RuntimeJobMaxTim exception is raised. .. note:: - As of August 7, 2023, the ``max_execution_time`` value is based on usage, which is the time that the QPU + As of August 7, 2023, the ``max_execution_time`` value is based on job execution time, which is the time that the QPU complex (including control software, control electronics, QPU, and so on) is engaged in processing the job, instead of wall clock time. From 1c958c9e3bae2d8a69ee61786b4803fb1d516904 Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:18:19 -0500 Subject: [PATCH 04/13] Update docs/faqs/max_execution_time.rst --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 509b23e4a9..3da550cb78 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -31,7 +31,7 @@ You can set the maximum execution time (in seconds) on the job options by using # Create the options object with attributes and values options = {"max_execution_time": 360} -You can also find the usage for previously completed jobs by using: +You can also find the job execution time for previously completed jobs by using: .. code-block:: python From 178228c83080ff4daf44b8f0c68e0f34d22dd92b Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:18:26 -0500 Subject: [PATCH 05/13] Update docs/faqs/max_execution_time.rst --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 3da550cb78..c63bf1bb4e 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -35,7 +35,7 @@ You can also find the job execution time for previously completed jobs by using: .. code-block:: python - # Find the job usage + # Find the job execution time print(f"Job {job.job_id()} usage was {job.metrics()['usage']['quantum_seconds']} seconds") In addition, the system calculates an appropriate job timeout value based on the From 7fff6a33a5e1d098275fffa3132eff3927dffc2d Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:18:34 -0500 Subject: [PATCH 06/13] Update docs/faqs/max_execution_time.rst --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index c63bf1bb4e..b241117c4b 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -36,7 +36,7 @@ You can also find the job execution time for previously completed jobs by using: .. code-block:: python # Find the job execution time - print(f"Job {job.job_id()} usage was {job.metrics()['usage']['quantum_seconds']} seconds") + print(f"Job {job.job_id()} job execution time was {job.metrics()['usage']['quantum_seconds']} seconds") In addition, the system calculates an appropriate job timeout value based on the input circuits and options. This system-calculated timeout is currently capped From af9fb7c5b9618635fdd73818af9af8e6eb4ba58b Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:18:44 -0500 Subject: [PATCH 07/13] Update docs/faqs/max_execution_time.rst --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index b241117c4b..2f23be36e5 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -86,6 +86,6 @@ Other limitations - Programs cannot exceed 750KB in size. - Inputs to jobs cannot exceed 64MB in size. -- Open users are limited to 10 minutes of usage per month. This is the time that the QPU +- Open users are limited to 10 minutes of job execution time per month. This is the time that the QPU complex (including control software, control electronics, QPU, and so on) is engaged in processing the job. \ No newline at end of file From e4f267218cbdcc2e6b106dc35158cf35179a0c2a Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Mon, 25 Sep 2023 15:31:28 -0500 Subject: [PATCH 08/13] Update docs/faqs/max_execution_time.rst Co-authored-by: Jessie Yu --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 2f23be36e5..e9e5cb0c73 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -36,7 +36,7 @@ You can also find the job execution time for previously completed jobs by using: .. code-block:: python # Find the job execution time - print(f"Job {job.job_id()} job execution time was {job.metrics()['usage']['quantum_seconds']} seconds") + print(f"Job {job.job_id()} job execution time was {job.metrics()['usage']['seconds']} seconds") In addition, the system calculates an appropriate job timeout value based on the input circuits and options. This system-calculated timeout is currently capped From 76568fe9d4703d14d8f3c949036e961b59ab8fb6 Mon Sep 17 00:00:00 2001 From: Rebecca Dimock Date: Mon, 25 Sep 2023 16:11:44 -0500 Subject: [PATCH 09/13] Jessie comments --- docs/faqs/max_execution_time.rst | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index e9e5cb0c73..123603ad41 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -60,27 +60,27 @@ You can set the maximum session timeout value using the ``max_time`` parameter: with Session(max_time="1h"): ... -If you don't specify a session ``max_time``, the system defaults are used: +If you don't specify a session ``max_time``, the system defaults are used. -+--------------+------------------+--------------+-----------+ -| Primitive programs | Private programs | -+==============+==================+==============+===========+ -| Premium User | Open User | Premium User | Open User | -+--------------+------------------+--------------+-----------+ -| 8h | 15m | 8h | N/A | -+--------------+------------------+--------------+-----------+ +Additionally, there is an *interactive* timeout value. If there are no session jobs queued within that window, the session is temporarily deactivated and normal job selection resumes. During job selection, if the job scheduler gets a new job from the session and its maximum timeout value has not been reached, the session is reactivated until its maximum timeout value is reached. The interactive timeout value is five minutes for premium users and two seconds for open users. + +.. note:: The timer for the session's ``max_time`` is not paused during any temporary deactivation periods. + ++---------------------+--------------------------+--------------------------+ +| | Primitive programs | Private programs | ++=====================+==============+===========+==============+===========+ +| | Premium user | Open user | Premium user | Open user | ++---------------------+--------------+-----------+--------------+-----------+ +| Max time defaults | 8h | 15m | 8h | N/A | ++---------------------+--------------+-----------+--------------+-----------+ +| Interactive timeout | 5m | 2s | 5m | N/A | ++---------------------+--------------+-----------+--------------+-----------+ Note that a *premium user* here means a user who has access to backends in providers other than ``ibm-q/open/main``. .. note:: Session ``max_time`` is based on wall clock time. - -Additionally, there is an *interactive* timeout value. If there are no session jobs queued within that window, the session is temporarily deactivated and normal job selection resumes. During job selection, if the job scheduler gets a new job from the session and its maximum timeout value has not been reached, the session is reactivated until its maximum timeout value is reached. The interactive timeout value is five minutes for premium users and two seconds for open users. - -.. note:: The timer for the session's ``max_time`` is not paused during any temporary deactivation periods. - - Other limitations *************************** @@ -88,4 +88,4 @@ Other limitations - Inputs to jobs cannot exceed 64MB in size. - Open users are limited to 10 minutes of job execution time per month. This is the time that the QPU complex (including control software, control electronics, QPU, and so on) is engaged in - processing the job. \ No newline at end of file + processing the job. Open plan users can track current progress toward the limit on the `Platform dashboard, `__ `Jobs, `__ and `Account, `__ pages. \ No newline at end of file From 4c8edb77eeebfb4324c2d5401149a9159421ff77 Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Tue, 26 Sep 2023 08:50:54 -0500 Subject: [PATCH 10/13] Update docs/faqs/max_execution_time.rst Co-authored-by: Jessie Yu --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 123603ad41..7c41b89312 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -60,7 +60,7 @@ You can set the maximum session timeout value using the ``max_time`` parameter: with Session(max_time="1h"): ... -If you don't specify a session ``max_time``, the system defaults are used. +If you don't specify a session ``max_time``, the system defaults are used (see table below). Additionally, there is an *interactive* timeout value. If there are no session jobs queued within that window, the session is temporarily deactivated and normal job selection resumes. During job selection, if the job scheduler gets a new job from the session and its maximum timeout value has not been reached, the session is reactivated until its maximum timeout value is reached. The interactive timeout value is five minutes for premium users and two seconds for open users. From 17858ae1ddde515af901d2ba76398e7bffbc2243 Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Tue, 26 Sep 2023 08:51:07 -0500 Subject: [PATCH 11/13] Update docs/faqs/max_execution_time.rst Co-authored-by: Jessie Yu --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 7c41b89312..77b68c3601 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -62,7 +62,7 @@ You can set the maximum session timeout value using the ``max_time`` parameter: If you don't specify a session ``max_time``, the system defaults are used (see table below). -Additionally, there is an *interactive* timeout value. If there are no session jobs queued within that window, the session is temporarily deactivated and normal job selection resumes. During job selection, if the job scheduler gets a new job from the session and its maximum timeout value has not been reached, the session is reactivated until its maximum timeout value is reached. The interactive timeout value is five minutes for premium users and two seconds for open users. +Additionally, there is an *interactive* timeout value. If there are no session jobs queued within that window, the session is temporarily deactivated and normal job selection resumes. During job selection, if the job scheduler gets a new job from the session and its maximum timeout value has not been reached, the session is reactivated until its maximum timeout value is reached. The interactive timeout value is based on the plan type: .. note:: The timer for the session's ``max_time`` is not paused during any temporary deactivation periods. From 25a566b834c3ba59b0aee9f365222ec056a15acb Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Tue, 26 Sep 2023 08:52:07 -0500 Subject: [PATCH 12/13] Update docs/sessions.rst --- docs/sessions.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sessions.rst b/docs/sessions.rst index 8b09890f38..cd4803c457 100644 --- a/docs/sessions.rst +++ b/docs/sessions.rst @@ -74,7 +74,7 @@ How long a session stays active The length of time a session is active is controlled by the *maximum session timeout* (``max_time``) value and the *interactive* timeout value (TTL). The ``max_time`` timer starts when the session becomes active. That is, when the first job runs, not when it is queued. It does not stop if a session becomes inactive. The TTL timer starts each time a session job finishes. .. note:: - When running jobs through the Open Plan, the maximum session timeout is 15 minutes. + For an Open plan user, the maximum session timeout is 15 minutes. Maximum session timeout ++++++++++++++++++++++++++++ From c196a03e69b53e423fc9b858684f122fa81e7560 Mon Sep 17 00:00:00 2001 From: Rebecca Dimock <66339736+beckykd@users.noreply.github.com> Date: Tue, 26 Sep 2023 08:52:39 -0500 Subject: [PATCH 13/13] Update docs/faqs/max_execution_time.rst --- docs/faqs/max_execution_time.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faqs/max_execution_time.rst b/docs/faqs/max_execution_time.rst index 77b68c3601..5f69a4e472 100644 --- a/docs/faqs/max_execution_time.rst +++ b/docs/faqs/max_execution_time.rst @@ -86,6 +86,6 @@ Other limitations - Programs cannot exceed 750KB in size. - Inputs to jobs cannot exceed 64MB in size. -- Open users are limited to 10 minutes of job execution time per month. This is the time that the QPU +- Open plan users are limited to 10 minutes of job execution time per month. This is the time that the QPU complex (including control software, control electronics, QPU, and so on) is engaged in processing the job. Open plan users can track current progress toward the limit on the `Platform dashboard, `__ `Jobs, `__ and `Account, `__ pages. \ No newline at end of file