Crea una estación de trabajo virtual de Linux acelerada con GPU


En este instructivo, se muestra cómo crear una estación de trabajo virtual de Linux que ejecute CentOS 7 con una GPU con capacidad de visualización conectada. Google Cloud ofrece cuatro GPU con capacidad de visualización: NVIDIA L4, NVIDIA T4, NVIDIA P4 y NVIDIA P100.

(Para crear una estación de trabajo de Windows, consulta el instructivo Crea una estación de trabajo virtual acelerada con GPU en Windows).

Luego de crear la estación de trabajo virtual, aprenderás cómo acceder a ella de forma remota mediante HP Anywhere (antes llamado CAS de Teradici) mediante PC-over-IP (PCoIP®). PCoIP es un protocolo de escritorio remoto con mucho uso en los medios de comunicación y entretenimiento, el desarrollo de juegos, la arquitectura y la ingeniería. PCoIP ofrece características esenciales para estos tipos de cargas de trabajo, como la precisión del color, compatibilidad con varios monitores, visualización sin pérdidas y sensibilidad a la presión de la tablet.

En este instructivo, se supone que estás familiarizado con la línea de comandos de Linux.

Objetivos

  • Crear una instancia de Compute Engine con una GPU. Esta instancia funciona como el cimiento de la estación de trabajo virtual
  • Instalar los controladores de NVIDIA en la estación de trabajo virtual
  • Instalar el software HP Anyware en la estación de trabajo virtual
  • Conectarse a la estación de trabajo virtual mediante un cliente de software PCoIP.

Costos

En este instructivo, se usa el siguiente componente facturable de Google Cloud:

Puedes usar la calculadora de precios para generar una estimación de costos según el uso previsto. A partir de octubre de 2023, el costo aproximado de la configuración de la estación de trabajo que se muestra en este instructivo es de $1.08 por hora.

A continuación, se detallan los recursos que componen la estación de trabajo virtual y los factores que influyen en los costos de este instructivo:

La transferencia de datos de Internet representa los datos que se transmiten desde tu estación de trabajo virtual hacia tu cliente de visualización local y se factura según los costos de transferencia de datos salientes de Internet. Las variables que influyen sobre la salida de datos durante una sesión de PCoIP son el ancho de banda, la resolución de pantalla, la cantidad de monitores de visualización, las aplicaciones que se usan y el tipo de actividad en cada monitor. La Guía de planificación de sesiones de HP Anyware puede ayudarte a comprender los diferentes requisitos de las cargas de trabajo.

Antes de comenzar

En este instructivo, se usa Google Cloud CLI, que puedes ejecutar desde unCloud Shell se inició la instancia desdeGoogle Cloud Console Si deseas usar gcloud CLI en tu estación de trabajo local, instala Google Cloud CLI. En el instructivo, se muestra cómo ejecutar comandos en Cloud Shell. Si usas la gcloud CLI en la estación de trabajo, ajusta las instrucciones según corresponda.

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Habilita la API de Compute Engine.

    Habilita la API

  5. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Habilita la API de Compute Engine.

    Habilita la API

Además, asegúrate de que cuentas con los siguientes elementos:

  • Un proyecto de Google Cloud con cuota para el GPU de estaciones de trabajo virtuales de NVIDIA L4 en la zona seleccionada. Puedes obtener una lista de la disponibilidad de GPU con el comando gcloud compute accelerator-types list.
  • Un navegador de Google Chrome para acceder a la consola de Google Cloud.
  • El software de cliente PCoIP más reciente para Windows, Mac o Linux a fin de acceder a la estación de trabajo virtual.
  • Una cuenta en help.teradici.com para descargar el software HP Anyware. El registro de la cuenta es gratuito.
  • Una licencia de software HP Anyware. Puedes solicitar una licencia de prueba o comunicarte con un representante de Teradici y solicitar un código de registro de prueba para usar con esta estación de trabajo virtual.

Arquitectura

En el siguiente diagrama, se muestran los componentes utilizados en este instructivo para implementar una única estación de trabajo virtual. Entre los componentes opcionales que se muestran en el diagrama, se incluyen diferentes formas de conectarse a la estación de trabajo virtual, a un servicio de almacenamiento compartido, una instancia adicional para entregar licencias de terceros y una infraestructura adicional que representa una granja de procesamiento o renderización.

Arquitectura de la estación de trabajo virtual

Choose a region

Un factor importante para implementar una estación de trabajo virtual es la latencia entre tu ubicación y la instancia creada. Mientras menor sea la latencia, mejor será la experiencia. Por lo tanto, es preferible que trabajes en una zona que se encuentre lo más cerca posible a ti geográficamente. Para obtener más información sobre dónde están disponibles las diferentes GPU, consulta la disponibilidad de regiones y zonas de GPU.

  1. Abra Cloud Shell. (si usas la CLI de gcloud, abre una ventana de terminal en tu computadora).

    Ir a Cloud Shell

  2. Obtén una lista de las zonas en las que las GPU se encuentran disponibles:

    gcloud compute accelerator-types list

    Toma nota de la región y la zona más cercanas a ti físicamente.

  3. Establece la zona con la que quieres trabajar:

    gcloud config set compute/zone ZONE

    Reemplaza ZONE por el nombre de la zona que usas, como us-west1-b.

Elige un tipo de máquina

Las GPU NVIDIA L4 se conectan al tipo de máquina G2. Las máquinas virtuales con una o más GPU tienen una cantidad máxima de CPU virtuales para cada GPU que agregues a la instancia. Por ejemplo, cada GPU NVIDIA L4 te permite tener hasta 32 CPU virtuales y hasta 128 GB de memoria en el tipo de máquina de la instancia. Si deseas ver los rangos de CPU virtuales y memoria disponibles para diferentes configuraciones de GPU, consulta la lista de GPU.

En el ejemplo de este instructivo, se muestra una estación de trabajo virtual de 8 CPU virtuales G2, que está muy por debajo del límite de 32 CPU virtuales para una sola GPU NVIDIA L4.

Crea la estación de trabajo virtual

  1. En Cloud Shell, crea la instancia de estación de trabajo virtual de Compute Engine.

    gcloud compute instances create NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=ACCELERATOR,count=NUM-GPUS \
        --maintenance-policy="TERMINATE" \
        --image-project=centos-cloud \
        --image-family=centos-7 \
        --boot-disk-size=SIZE \
        --boot-disk-type=TYPE \
        --network=NETWORK
    

    Reemplaza lo siguiente:

    • NAME es el nombre de tu estación de trabajo.
    • ZONE es la zona en la que se creará la VM.
    • MACHINE_TYPE es la configuración de máquina predefinida o personalizada.
    • ACCELERATOR es el tipo de GPU que deseas conectar, como nvidia-tesla-t4-vws.
    • NUM-GPUS es la cantidad de GPU que se conectará a la VM.
    • SIZE es el tamaño del disco de inicio en gigabytes.
    • TYPE es el tipo de disco de arranque. Para obtener una lista de los tipos de discos disponibles, ejecuta gcloud compute disk-types list.
    • NETWORK es la red en la que se creará la VM.

    Por ejemplo:

    gcloud compute instances create test-workstation \
        --zone=us-west1-b \
        --machine-type=g2-standard-8 \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --maintenance-policy="TERMINATE" \
        --image-project=centos-cloud \
        --image-family=centos-7 \
        --boot-disk-size=100 \
        --boot-disk-type=pd-ssd \
        --network=default
    

    Luego de crear la estación de trabajo virtual, se mostrará el estado de la máquina. El resultado es similar al siguiente:

    NAME: test-workstation
    ZONE: us-west1-b
    MACHINE_TYPE: g2-standard-8
    PREEMPTIBLE:
    INTERNAL_IP: 10.138.XX.XXX
    EXTERNAL_IP: XX.XXX.XXX.XXX
    STATUS: RUNNING
    

    Anota la dirección IP externa de la estación de trabajo virtual. La usarás más adelante en el instructivo.

    Puedes recuperar la dirección IP externa de la estación de trabajo virtual en cualquier momento mediante la consola de Cloud.

Accede a tu estación de trabajo virtual

Luego de crear tu estación de trabajo virtual, debes acceder a la máquina para poder configurarla.

  1. En Cloud Shell, conéctate a la nueva estación de trabajo virtual:

    gcloud compute ssh NAME
  2. Establece la contraseña de tu cuenta. Teradici PCoIP requiere una contraseña de usuario.

    sudo passwd `whoami`

    Cuando se te solicite, ingresa una contraseña. Usarás esta contraseña más adelante en el instructivo para iniciar sesión en tu estación de trabajo virtual con el cliente PCoIP de Teradici.

Instala bibliotecas gráficas y un administrador de ventanas

La imagen predeterminada de Google Cloud CentOS 7 es una instalación mínima de CentOS 7.x. El siguiente paso es instalar las bibliotecas necesarias para ejecutar tu estación de trabajo virtual como una estación de trabajo gráfica. Para este instructivo, también debes instalar el administrador de ventanas de KDE.

  1. Actualiza los repositorios de software:

    sudo yum -y update
  2. Instala los componentes requeridos:

    sudo yum -y install \
      kernel-devel-$(uname -r) kernel-headers-$(uname -r)
    sudo yum -y groupinstall \
      "KDE desktop" "X Window System" "Fonts" \
      "Development Tools" "Server with GUI"
    
  3. Reinicia la estación de trabajo:

    sudo reboot

    Se cierra tu conexión de Cloud Shell.

Instala el controlador de NVIDIA

Las GPU NVIDIA L4, NVIDIA T4, NVIDIA P4 y NVIDIA P100 funcionan en Google Cloud solo con controladores calificados de NVIDIA RTX Virtual Workstation para las cargas de trabajo de visualización. Estos controladores se pueden descargar desde un bucket público de almacenamiento de Google Cloud.

  1. Cuando la estación de trabajo virtual se reinicia vuelve a conectarte a la estación de trabajo virtual en Cloud Shell:

    gcloud compute ssh NAME
  2. Verifica que el sistema tenga instalados los encabezados de kernel correctos:

    sudo yum -y install kernel-devel-$(uname -r) \
      kernel-headers-$(uname -r)
    
  3. Para instalar el controlador de estación de trabajo virtual NVIDIA RTX más reciente, sigue las instrucciones (solo el pasos 3).

  4. Reinicia la estación de trabajo:

    sudo reboot

Instala HP Anyware software

El software HP Anyware proporciona un agente de gráficos que se ejecuta en tu estación de trabajo virtual y que entrega la computadora de escritorio a tu cliente de hardware o software.

  1. Cuando la estación de trabajo virtual se reinicia vuelve a conectarte a la estación de trabajo virtual en Cloud Shell:

    gcloud compute ssh NAME
  2. Agrega el repositorio de software de Teradici:

    curl -1sLf \
        https://dl.anyware.hp.com/TOKEN/pcoip-agent/cfg/setup/bash.rpm.sh \
        | sudo -E distro=el codename=7 bash
    

    Reemplaza lo siguiente:

  3. Actualiza los repositorios de software:

    sudo yum -y update
  4. Opcional: Instala dependencias USB, si necesitas admitir dispositivos USB que no sean teclados, mouse y dispositivos de puntero.

    sudo yum -y install usb-vhci
  5. Instala el software HP Anyware:

    sudo yum -y install pcoip-agent-graphics
  6. Establece el estado de visualización en graphical:

    sudo systemctl set-default graphical.target
  7. Reinicia la estación de trabajo virtual:

    sudo reboot

Registra el agente de gráficos de Anyware

Para usar el agente de gráficos de Anyware, debes tener una licencia de HP Anwyare.

  1. En Cloud Shell, activa tu licencia de software de HP Anyware:

    pcoip-register-host --registration-code=REGISTRATION-CODE

    Reemplaza REGISTRATION-CODE por el código que te proporcionó HP Teradici con el formato ABCDEFGHIJKL@0123-4567-89AB-CDEF.

  2. Reinicia la estación de trabajo virtual:

    sudo reboot

Crea una regla de firewall

El cliente PCoIP se comunica con tu estación de trabajo virtual a través de varios puertos. Debes configurar reglas de firewall para permitir el tráfico hacia tu estación de trabajo virtual.

  • Desde Cloud Shell en tu computadora local (no en la estación de trabajo virtual), crea una regla de firewall para abrir los puertos requeridos:

    gcloud compute firewall-rules create allow-pcoip \
        --action=ALLOW \
        --rules=tcp:443,tcp:4172,udp:4172 \
        --source-ranges=0.0.0.0/0
    

Accede a la estación de trabajo virtual con el cliente PCoIP

  1. En la computadora local, ve a la sección Clientes PCoIP en la página de asistencia de HP Anyware. Á continuación, descarga e instala. Luego, inicia la aplicación del cliente PCoIP para el sistema operativo.

  2. En el campo Dirección de host o Código de registro, ingresa la dirección IP externa de tu estación de trabajo virtual. Si quieres, puedes ingresar un nombre para la conexión.

  3. Una vez que estés conectado, ingresa el nombre de usuario y la contraseña que creaste para la estación de trabajo virtual a fin de autenticarte.

    Luego de unos segundos, verás tu escritorio con Linux.

Prueba tu estación de trabajo virtual

Luego de implementar tu estación de trabajo virtual, puedes probar el rendimiento y la interactividad a través de varias herramientas:

  • Ejecuta las herramientas comparativas de GPU, como glxgears, glmark2 o UNIGINE, que son programas simples para probar el rendimiento de los gráficos en una estación de trabajo de Linux.
  • Instala Unreal Engine, Unity Editor, Blender o cualquier aplicación de creación de contenido.
  • Ejecuta herramientas comparativas de procesamiento para procesadores populares, como V-Ray, Octane o Maxon.
  • Usa Google Chrome para navegar por tus sitios favoritos o reproducir videos en YouTube.

También puedes obtener más información sobre la optimización del rendimiento de PCoIP según tu carga de trabajo.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Una vez que completaste el instructivo, borra los recursos que creaste en Google Cloud a fin de que no se te cobre por ellos en el futuro.

Detén tu estación de trabajo virtual

Las estaciones de trabajo virtuales detenidas generan costos por el disco persistente, pero pueden reiniciarse en cualquier momento. Para detener tu estación de trabajo virtual, ejecuta el siguiente comando en Cloud Shell:

gcloud compute instances stop test-vws

Borra el proyecto

  1. En la consola de Google Cloud, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Borra todos los componentes

  1. Borra la estación de trabajo virtual.
  2. Borra la regla de firewall.

Pasos siguientes