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 Ubuntu 22.04 con una GPU con capacidad de visualización conectada.Cloud de Confiance by S3NS ofrece cuatro GPUs 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.

Arquitectura

En el siguiente diagrama, se muestran los componentes usados 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, almacenamiento compartido y de objetos, 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 G2 de 8 CPU virtuales, que está muy por debajo de un 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 VM_NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=ACCELERATOR,count=NUM-GPUS \
        --maintenance-policy="TERMINATE" \
        --image-project=ubuntu-os-cloud \
        --image-family=ubuntu-2204-lts \
        --boot-disk-size=SIZE \
        --boot-disk-type=TYPE \
        --network=NETWORK
    

    Reemplaza lo siguiente:

    • VM_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-l4-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=ubuntu-os-cloud \
        --image-family=ubuntu-2204-lts \
        --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 con la consola.Cloud de Confiance

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 VM_NAME
  2. Establece la contraseña de tu cuenta. Para acceder a una estación de trabajo virtual con el cliente de software PCoIP, se 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 HP Anyware.

Instala las bibliotecas base

La imagen predeterminada de Cloud de Confiance Ubuntu 22.04 es una instalación mínima de Ubuntu. El siguiente paso es instalar las bibliotecas necesarias para ejecutar tu estación de trabajo virtual como una estación de trabajo gráfica.

  1. Actualiza los repositorios de software:

    sudo apt update
  2. Instala los componentes básicos:

    sudo apt install -y build-essential
    sudo apt install -y libvulkan1
    
  3. Actualiza la versión de gcc para el controlador NVIDIA:

    sudo apt install -y gcc-12
    sudo apt install -y linux-headers-$(uname -r)
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
    sudo update-alternatives --config gcc
    

Instala el controlador de NVIDIA

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

  1. Para instalar el controlador de estación de trabajo virtual NVIDIA RTX más reciente, sigue las instrucciones (solo los pasos 3 y 4).

  2. Reinicia la estación de trabajo:

    sudo reboot

Instala el entorno de escritorio

Se necesita un entorno de escritorio para ejecutar tu estación de trabajo virtual como una estación de trabajo gráfica. Para este instructivo, debes instalar el escritorio de KDE Plasma.

  1. Instala el entorno de escritorio:

    sudo apt update
    sudo apt -y install kubuntu-desktop
    sudo apt -y install dialog
    
  2. 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 VM_NAME
  2. Agrega el repositorio de software de Teradici:

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

    Reemplaza lo siguiente:

  3. Actualiza los repositorios de software:

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

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

    sudo apt -y install pcoip-agent-graphics

Registra el agente de gráficos de Anyware

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

  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.

  • En Cloud Shell (no en la estación de trabajo virtual), crea una regla de firewall que abra los puertos necesarios:

    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, aparecerá tu escritorio de 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.