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 adjunta con capacidad de visualización. 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 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 una instancia de Cloud Shell lanzada desde la consola de Google Cloud. 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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Enable the 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 HP 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 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 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 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 básicas

La imagen predeterminada de Google Cloud 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 gcc del controlador de 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 Google Cloud solo con los 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 Google Cloud Storage.

  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 la estación de trabajo virtual como una estación de trabajo gráfica. En este instructivo, instalarás el escritorio 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á el 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.

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 VM_NAME

Borra todos los componentes

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

Borra el proyecto

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

¿Qué sigue?