View a markdown version of this page

Uso de la caché de ejecución - AWS HealthOmics

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la caché de ejecución

De forma predeterminada, las ejecuciones no utilizan una caché de ejecución. Para usar una caché para la ejecución, debe especificar la caché de ejecución y el comportamiento de la caché de ejecución al iniciar la ejecución.

Una vez completada una ejecución, puedes usar la consola, los CloudWatch registros o las operaciones de la API para realizar un seguimiento de las visitas a la caché o solucionar los problemas de la caché. Para más detalles, consulte Seguimiento de la información de almacenamiento en caché de las llamadas y Solución de problemas de almacenamiento en caché de llamadas.

Si una o más tareas de una ejecución generan resultados no deterministas, te recomendamos encarecidamente que no utilices el almacenamiento en caché de llamadas durante la ejecución o que excluyas estas tareas específicas del almacenamiento en caché. Para obtener más información, consulte Modelo de responsabilidad compartida.

nota

Al iniciar una ejecución, proporciona una función de servicio de IAM. Para utilizar el almacenamiento en caché de llamadas, el rol de servicio necesita permiso para acceder a la ubicación Amazon S3 de la caché de ejecución. Para obtener más información, consulte Funciones de servicio para AWS HealthOmics.

Puede utilizar la CLI de Kiro para analizar y gestionar los datos de la caché de ejecución. Para obtener más información, consulte Ejemplos de instrucciones para la CLI de Kiro y el tutorial sobre IA generativa de HealthOmics Agentic en. GitHub

Configuración de una ejecución con caché de ejecución mediante la consola

Desde la consola, se configura la caché de ejecución de una ejecución al iniciarla.

  1. Abra la consola de HealthOmics .

  2. Si es necesario, abre el panel de navegación izquierdo (≡). Elija Ejecuciones.

  3. En la página Ejecuciones, seleccione la ejecución que desee iniciar.

  4. Seleccione Iniciar ejecución y complete los pasos 1 y 2 de Iniciar ejecución tal y como se describe enIniciar una ejecución mediante la consola.

  5. En el paso 3 de Iniciar ejecución, elija Seleccionar una caché de ejecución existente.

  6. Seleccione la caché en la lista desplegable del ID de caché de ejecución.

  7. Para anular el comportamiento predeterminado de la caché de ejecución, elija el comportamiento de la caché de la ejecución. Para obtener más información, consulte Ejecute el comportamiento de la caché.

  8. Continúe con el paso 4 de Iniciar la ejecución.

Configuración de una ejecución con caché de ejecución mediante la CLI

Para iniciar una ejecución que utilice una caché de ejecución, añada el parámetro cache-id al comando CLI start-run. Si lo desea, utilice el cache-behavior parámetro para anular el comportamiento predeterminado que configuró para la caché de ejecución. El siguiente ejemplo muestra solo los campos de caché del comando:

aws omics start-run \ ... --cache-id "xxxxxx" \ --cache-behavior CACHE_ALWAYS

Si la operación se realiza correctamente, recibirá una respuesta sin campos de datos.

Casos de error en las cachés de ejecución

En los siguientes escenarios, es HealthOmics posible que no se almacenen en caché los resultados de las tareas, ni siquiera en una ejecución con el comportamiento de caché establecido en Almacenar siempre en caché.

  • Si la ejecución detecta un error antes de que la primera tarea se complete correctamente, no habrá ningún resultado de caché que exportar.

  • Si se produce un error en el proceso de exportación, HealthOmics no guarda los resultados de la tarea en la ubicación de caché de Amazon S3.

  • Si la ejecución falla debido a un filesystem out of space error, el almacenamiento en caché de llamadas no guarda ningún resultado de la tarea.

  • Si se agota el tiempo de espera de la ejecución, el almacenamiento en caché de las llamadas no guarda ningún resultado de la tarea, incluso si se ha configurado la ejecución para que utilice la memoria caché en caso de error.

El almacenamiento en caché en las ejecuciones canceladas

Al cancelar un flujo de trabajo en ejecución que utiliza una caché de ejecución, HealthOmics exporta las entradas de la caché de las tareas que se completaron correctamente antes de la cancelación. Estas entradas de caché siguen el mismo comportamiento de coincidencia y reutilización que las entradas de caché de las ejecuciones finalizadas. HealthOmics no exporta las salidas a nivel de flujo de trabajo para las ejecuciones canceladas.

Este comportamiento se aplica a los comportamientos de caché permanente y caché en caso de error, y es compatible con todos los motores de flujo de trabajo (WDL, CWL y Nextflow).

Seguimiento de la información de almacenamiento en caché de las llamadas

Puede realizar un seguimiento de los eventos de almacenamiento en caché de llamadas (como las visitas a la caché de ejecución) mediante la consola, la CLI o CloudWatch los registros.

Realice un seguimiento de las visitas a la caché mediante la consola

En la página de detalles de una ejecución, la tabla Ejecutar tareas muestra la información sobre los aciertos de caché de cada tarea. La tabla también incluye un enlace a la entrada de caché asociada. Utilice el siguiente procedimiento para ver la información de aciertos de la caché de una ejecución.

  1. Abra la consola de HealthOmics .

  2. Si es necesario, abra el panel de navegación izquierdo (≡). Elija Ejecuciones.

  3. En la página Ejecuciones, elija la ejecución que desee inspeccionar.

  4. En la página de detalles de la ejecución, seleccione la pestaña Ejecutar tareas para ver la tabla de tareas.

  5. Si una tarea tiene un acceso de caché, la columna de aciertos de caché contiene un enlace a la ubicación de entrada de la caché de ejecución en Amazon S3.

  6. Elija el enlace para inspeccionar la entrada de la caché de ejecución.

Realice un seguimiento del almacenamiento en caché de llamadas mediante la CLI

Utilice el comando CLI get-run para confirmar si la ejecución utilizó una caché de llamadas.

aws omics get-run --id 1234567

En la respuesta, si el cacheId campo está establecido, la ejecución utiliza esa caché.

Utilice el comando CLI list-run-tasks para recuperar la ubicación de los datos de caché de cada tarea almacenada en caché de la ejecución.

aws omics list-run-tasks --id 1234567

En la respuesta, si el campo cacheHit de una tarea es verdadero, el campo Caches3uri proporciona la ubicación de los datos de la caché de esa tarea.

También puede usar el comando CLI get-run-task para recuperar la ubicación de los datos de la caché para una tarea específica:

aws omics get-run-task --id 1234567 --task-id <task_id>

Realice un seguimiento del almacenamiento en caché de llamadas mediante registros CloudWatch

HealthOmics crea registros de actividad en caché en el grupo de /aws/omics/WorkflowLog CloudWatch registros. <cache_id><cache_uuid>Hay un flujo de registro para cada caché de ejecución: RunCache//.

Para las ejecuciones que utilizan el almacenamiento en caché de llamadas, HealthOmics genera entradas de CloudWatch registro para los siguientes eventos:

  • crear una entrada de caché (CACHE_ENTRY_CREATED)

  • hacer coincidir una entrada de caché (CACHE_HIT)

  • no coincide con una entrada de caché (CACHE_MISS)

Para obtener más información sobre estos registros, consulte. Inicia sesión CloudWatch

Utilice la siguiente consulta de CloudWatch Insights en el grupo de /aws/omics/WorkflowLog registros para obtener el número de visitas a la caché por ejecución de esta caché:

filter @logStream like 'runCache/<CACHE_ID>/' fields @timestamp, @message filter logMessage like 'CACHE_HIT' parse "run: *," as run stats count(*) as cacheHits by run

Utilice la siguiente consulta para devolver el número de entradas de caché creadas por cada ejecución:

filter @logStream like 'runCache/<CACHE_ID>/' fields @timestamp, @message filter logMessage like 'CACHE_ENTRY_CREATED' parse "run: *," as run stats count(*) as cacheEntries by run