Consideraciones sobre el tráfico del sistema de archivos

Completado

Los números de latencia, rendimiento e IOPS de destino son los valores importantes. Pero para optimizar el rendimiento, también debe determinar cómo interactuarán las cargas de trabajo de HPC con el sistema de archivos. El siguiente paso consiste en cuantificar la escala del tráfico y combinar el sistema de archivos que se debe admitir.

Consideraciones sobre la combinación de tráfico

La combinación de tráfico hace referencia a la composición del tráfico de la carga de trabajo de HPC, en términos de lo siguiente:

  • Proporción entre tráfico de lectura y de escritura (por ejemplo, 100 % de lectura, 50 % de lectura y 50 % de escritura o 100 % de escritura).
  • Operaciones de lectura y escritura aleatorias frente a secuenciales.
  • Puntos de control e instantáneas.
  • Simultaneidad.
  • Cantidad y tamaño de archivos.

En el resto de esta unidad, se verá cómo esta combinación de tipos de tráfico afecta a las opciones de almacenamiento.

Diferencias entre el tráfico de lectura y escritura, y creación o eliminación

Las operaciones de lectura y escritura consumen IOPS por igual. Pero el sistema de archivos que elija puede aplicar alta disponibilidad al tráfico de escritura entrante, lo que se traduce en un rendimiento de escritura más lento, pero resistente.

El rendimiento puede verse afectado si su carga de trabajo HPC realiza un gran número de operaciones con muchos metadatos. Por ejemplo, crear archivos, cambiar el nombre de las estructuras de directorio o eliminar archivos. La creación de un archivo puede consumir varias operaciones (comprobar la existencia del archivo, crear el identificador de archivo, actualizar la entrada de directorio, etc.).

La carga de trabajo de HPC puede centrarse en gran medida en la transformación de datos, por lo que la cantidad de tráfico de escritura puede ser significativa. En ese caso, querrá priorizar la optimización del rendimiento de escritura.

Tráfico aleatorio frente a secuencial

El acceso a las aplicaciones controla el tipo de patrón de tráfico de lectura y escritura que la carga de trabajo puede necesitar.

Las cargas de trabajo de HPC pueden ser muy paralelas, con muchos equipos que solicitan los mismos datos de un sistema de archivos compartido. O bien, pueden ser únicas y serializadas, con patrones de acceso a datos únicos y aleatorios. El rendimiento del tráfico secuencial será mayor que el tráfico aleatorio. Un ejemplo de tráfico secuencial sería la carga de una biblioteca binaria o un archivo de imagen o vídeo grande en uno o varios equipos. Un ejemplo de tráfico aleatorio incluiría solicitudes para diferentes rangos de bytes de uno o varios archivos, en contraposición a la lectura de todo un archivo.

Puntos de control e instantáneas

En las cargas de trabajo se suelen efectuar puntos de control. En los puntos de control, el estado de la aplicación y sus datos se copian en un almacenamiento duradero y después la carga de trabajo continúa. La creación de puntos de control se usa para reanudar las cargas de trabajo de larga ejecución sin necesidad de un reinicio completo del trabajo. Los puntos de control también se pueden usar con instantáneas. Las instantáneas son copias de solo lectura del sistema de archivos que se realizan en un momento dado. Los puntos de control se pueden considerar específicos de la aplicación o dependientes de ella, pero las instantáneas son relevantes a nivel del sistema de archivos.

Tanto los puntos de control como las instantáneas consumen IOPS y almacenamiento. Por lo tanto, afectarán al rendimiento general del sistema de archivos, en función de su frecuencia y de la cantidad de datos involucrados.

Simultaneidad

El número de subprocesos y clientes simultáneos es otro factor que se debe tener en cuenta a la hora de seleccionar el sistema de archivos. Muchas cargas de trabajo de HPC necesitan concurrencia significativa durante las fases de inicio y resultados del trabajo, posiblemente cientos o miles de subprocesos. Por ejemplo, un trabajo se puede inicializar a través de cien máquinas de 16 núcleos, cada una de las cuales opera en uno o dos subprocesos simultáneos. La simultaneidad de subprocesos en ese caso podría ser de 1600 a 3200 subprocesos. Es posible que todos los subprocesos lean archivos binarios (bibliotecas, cadenas, etc.) que son necesarios antes de que el trabajo pueda continuar. Para minimizar el tiempo de ejecución del trabajo, el sistema de almacenamiento subyacente debe ser capaz de proporcionar respuestas rápidas a estas solicitudes de lectura.

El mismo trabajo podría dejar de requerir cualquier acceso simultáneo. O podría requerir el acceso en ráfagas a más datos de archivos, o escribir resultados intermedios para que otros subprocesos del trabajo los lean.

Recuento y tamaño de archivos

Al seleccionar el almacenamiento de archivos, también debe tener en cuenta el número y el tamaño medio de los archivos. Una carga de trabajo que consuma 2 TB de datos tendrá diferentes características de rendimiento si esos 2 TB constan de cien archivos de 20 GB en lugar de diez mil archivos de 200 MB. Especialmente si esos diez mil archivos están anidados en estructuras de directorio profundas.

Se recomienda que identifique el espacio de trabajo de datos más probable. Un espacio de trabajo es el recuento y el tamaño máximo de archivos potencial que se necesita. Intente identificar las definiciones de espacio de trabajo máximo y promedio, y use esos máximos como guía para la planificación.

No siempre es fácil definir un espacio de trabajo, especialmente para un entorno en lugar de una única carga de trabajo de HPC. Por ejemplo, un día podría necesitar crear una pequeña simulación frente a un conjunto estático de datos. Al día siguiente podría necesitar escalar verticalmente para hacer un análisis más grande con salidas intermedias y puntos de control.