Crea una instancia de VM lista para HPC

Introducción

Las cargas de trabajo de computación de alto rendimiento vinculadas de forma estrecha (HPC) a menudo usan la interfaz de transmisión de mensajes (MPI) para comunicarse entre procesos y, además, instancias de máquina virtual (VM). Sin embargo, para compilar tu propia imagen de VM que se ajuste a un rendimiento de MPI óptimo, se requiere experiencia en sistemas, conocimiento de Google Cloud y tiempo adicional para el mantenimiento. Puedes crear instancias de VM con rapidez para tus cargas de trabajo de HPC, puedes usar la imagen de VM de HP.

La imagen de VM de HPC es una imagen de VM basada en CentOS 7 optimizada para cargas de trabajo HPC estrechamente acopladas. Incluye los parámetros de ajuste de red y kernel preconfigurados para crear instancias de VM que alcancen un rendimiento MPI óptimo en Google Cloud.

Ventajas

La imagen de la VM de HPC proporciona los siguientes beneficios:

  1. VM listas para la HPC lista para usar: No es necesario ajustar el rendimiento de forma manual, administrar los reinicios de VM o mantenerse al día con las actualizaciones más recientes de Google Cloud para Cargas de trabajo de HPC estrechamente acopladas.
  2. Optimizaciones de red para cargas de trabajo estrechamente vinculadas: Se incluyen optimizaciones que reducen la latencia de mensajes pequeños, lo que beneficia a las aplicaciones que dependen en gran medida de comunicaciones punto a punto y colectiva.
  3. Optimizaciones para las cargas de trabajo de HPC: Se incluyen optimizaciones que reducen el jitter del sistema, lo que hace que sea más predecible el rendimiento de un solo nodo.
  4. Rendimiento coherente y reproducible: La estandarización de imágenes de VM te brinda un rendimiento a nivel de aplicación coherente y reproducible.

Características

Google recomienda las siguientes optimizaciones para las VM listas para la HPC. La imagen de VM de HPC ya incluye estas optimizaciones, por lo que no tienes que configurarlas por tu cuenta:

La imagen de VM de HPC también incluye los ajustes colectivos de Intel MPI que se realizan en instancias c2-standard-60 mediante políticas de colocación compacta.

Guías de inicio rápido

Puedes crear una VM lista para HPC con la herramienta de línea de comandos de gcloud o Google Cloud Console. En Console, la imagen está disponible a través de Cloud Marketplace.

Antes de comenzar

  1. Si deseas usar la herramienta de línea de comandos de gcloud para esta guía de inicio rápido, primero debes instalar y, luego, inicializar el SDK de Cloud:
  2. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

Crea una instancia de VM de HPC

Crea la VM

Console

  1. En Google Cloud Console, ve a la página de Cloud Marketplace de VM de HPC. Ir a la página de Cloud Marketplace de HPC

  2. Haz clic en Iniciar.

  3. En la página de implementación de la VM de HPC, ingresa el Nombre de la implementación. Este nombre se convierte en la raíz del nombre de tu VM. Compute Engine agrega -vm al nombre cuando se le asigna un nombre a la instancia.

  4. Elige una Zona y un Tipo de máquina. Para esta guía de inicio rápido, puedes dejar toda la configuración como está o cambiarla. Recomendamos elegir un tipo de máquina C2. Para aprender por qué, lee Usa instancias optimizadas para procesamiento.

  5. Deja el Tipo de disco de arranque, el Tamaño de disco de arranque y la Interfaz de red en su configuración predeterminada.

  6. Haz clic en Implementar.

Una vez completada la creación de la instancia de VM, se abre Cloud Deployment Manager, en el que puedes administrar tu VM de HPC y otras implementaciones.

gcloud

Crea una VM de HPC con el comando instances create. Te recomendamos que crees VM de HPC con políticas de posición compactas para lograr una latencia de red baja.

gcloud compute instances create INSTANCE_NAME \
        --zone=ZONE \
        --image-family=hpc-centos-7 \
        --image-project=cloud-hpc-image-public \
        --maintenance-policy=TERMINATE \
        --machine-type=MACHINE_TYPE

Reemplaza lo siguiente:

Después de un tiempo, finaliza la creación de la instancia de VM. Para verificar la instancia y ver su estado, ejecuta el siguiente comando:

gcloud compute instances describe INSTANCE_NAME

Accede a la VM

Console

Una vez que se crea la instancia de VM de HPC, se inicia de forma automática. Para acceder a ella, haz lo siguiente:

  1. En Google Cloud Console, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Haz clic en el nombre de la instancia de VM.

  3. En la sección Acceso remoto, haz clic en la primera lista desplegable y elige cómo deseas acceder a la instancia.

Compute Engine propaga tus Llaves SSH y crea tu usuario. Para obtener más información, consulta Conéctate a VM de Linux.

gcloud

Una vez que se crea la instancia de VM de HPC, se inicia de forma automática. Para acceder a ella mediante SSH, usa el comando compute ssh:

gcloud compute ssh INSTANCE_NAME

Compute Engine propaga tus Llaves SSH y crea tu usuario. Para obtener más información, consulta Conéctate a instancias de Windows.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en esta guía de inicio rápido, borra la instancia de VM de HPC que creaste.

Console

  1. En Google Cloud Console, ve a la página Cuotas.

    Ir a Implementaciones

  2. Selecciona la casilla de verificación junto a la implementación de la VM de HPC.

  3. Haz clic en Borrar.

gcloud

Usa el comando instances delete:

gcloud compute instances delete INSTANCE_NAME

Uso de ajustes colectivos de Intel MPI para tus aplicaciones

Las implementaciones de la MPI, como Intel MPI y OpenMPI, tienen muchos parámetros de configuración internos que pueden afectar el rendimiento de la comunicación. Estos parámetros son relevantes en especial para la comunicación colectiva de la MPI, que te permite especificar algoritmos y parámetros de configuración que pueden tener un rendimiento muy diferente en el entorno de Google Cloud.

Te recomendamos ajustar los parámetros de configuración en función de las características de tus aplicaciones. También te recomendamos que habilites las políticas de posición de VM cuando generes y uses los archivos de configuración de ajuste.

Ajusta las configuraciones incluidas con la imagen de VM de HPC

La imagen de VM de HPC incluye ajustes de salida de los ajustes colectivos de MPI de Intel que se realizan en instancias c2-standard-60 con políticas de posición compacta. Estos archivos de ajuste están disponibles en el siguiente directorio:

/usr/share/google-hpc-compute/mpitune-configs/intelmpi-2018

La imagen de HPC contiene varias configuraciones de ajuste para admitir las siguientes situaciones:

  • Cantidad de VM: de 1 a 22
  • Cantidad de clasificaciones FNI (procesos) por VM: 1, 2, 6, 10 y 30

Para usar estas configuraciones de ajuste, haz lo siguiente:

  1. Instala la biblioteca Intel MPI 2018.

  2. Ejecute la siguiente secuencia de comandos Bash para configurar el entorno:

    source MPI_INSTALL_DIR/mpivars.sh
    

    Reemplaza MPI_INSTALL_DIR por la ruta de acceso al directorio en el que instalaste la biblioteca de MPI de Intel.

  3. Instala los ajustes incluidos en la imagen de VM de HPC con el siguiente comando. Usa la opción --sudo cuando necesites acceso raíz al directorio:

    google_install_mpitune
    

Cómo generar configuraciones de ajustes personalizados con mpitune

Puedes usar mpitune a fin de especificar de forma manual los algoritmos y los parámetros de configuración para la comunicación colectiva de MPI y generar archivos de configuración.

Por ejemplo, para ajustar a 22 VM y 30 procesos por VM, genera la secuencia de comandos mpivars.sh a fin de configurar el entorno adecuado y, luego, ejecuta el siguiente comando. Debes tener acceso de escritura al directorio o ejecutar el comando con permisos de administrador.

mpitune -hf hostfile -fl 'shm:tcp' -pr 30:30 -hr 22:22

Esto genera un archivo de configuración en el directorio Intel MPI, que puedes usar para ejecutar aplicaciones. Para usar la configuración del ajuste de una aplicación, agrega la opción -tune al siguiente comando:

mpirun -tune -hostfile hostfile -genv I_MPI_FABRICS 'shm:tcp' -np 660 -ppn 30 ./app

Desactivar las mitigaciones de Meltdown y Spectre

La imagen de la VM de HPC habilita las mitigaciones de Meltend y Spectre de forma predeterminada. En algunos casos, estas mitigaciones pueden provocar una degradación del rendimiento específica de la carga de trabajo. Para inhabilitar estas mitigaciones y incurrir en los riesgos de seguridad asociados, haz lo siguiente:

  1. Crea una instancia de VM de HPC.
  2. En otra instancia de VM, ejecuta el siguiente comando.

    sudo google_mpi_tuning --nomitigation
    
  3. Reinicia la VM.

Precios

La imagen de la VM de HPC está disponible sin costo adicional. Debido a que la imagen de VM de HPC se ejecuta en Compute Engine, es posible que generes cargos por los recursos de Compute Engine, como las CPU virtuales y la memoria C2. Para obtener más información, consulta los precios de Compute Engine.

Limitaciones

Los beneficios de la adaptación varían de una aplicación a otra. En algunos casos, un ajuste particular puede tener un efecto negativo en el rendimiento. Considera la posibilidad de comparar tus aplicaciones para encontrar la configuración más eficiente o rentable.

¿Qué sigue?