Selección de los recursos óptimos del servidor para hacer tu trabajo informático de manera responsable#

🔍 RESUMEN

Preguntas

  • ¿Qué pasa en la nube cuando ejecuto un servidor?

  • ¿Cuántos núcleos de CPU y RAM necesito?

  • ¿Cómo puedo restablecer el entorno predeterminado del servidor de un usuario?

  • ¿Cómo puedo tomar el control del servidor de un usuario para solucionar problemas?

Objetivos

  • Seleccionar los recursos del servidor más apropiados para un trabajo computacional

  • Detener y reiniciar el servidor de un usuario

  • Apoyar a un usuario del hub tomando el control de su servidor

Opciones del servidor JupyterHub#

Un hub proporciona computación interactiva en la nube para apoyar los flujos de trabajo de investigación y educación para tu comunidad. Los recursos informáticos, tales como el número de núcleos CPU y RAM, se pueden proporcionar bajo demanda para permitir a los usuarios aumentar o disminuir su trabajo según sea necesario.

Una vez que un usuario inició sesión en el hub, puede lanzar un servidor configurado con un número determinado de núcleos de CPU y RAM.

En este ejemplo, veremos las opciones de servidores disponibles en el Hub de muestra comunitario de 2i2c.

Nota

Las opciones de servidores que presentamos pueden variar en diferentes hubs. Sin embargo, el número de núcleos de CPU y RAM disponibles siempre se indica claramente y los principios para seleccionar los recursos óptimos de un servidor para el trabajo computacional que se describen en esta sección aún pueden aplicarse.

Captura de pantalla donde se muestra una lista de opciones de servidores disponibles en el Hub de muestra comunitario de 2i2c.

Aquí presentamos cuatro opciones de servidores

  • Pequeño compartido: 1-4 CPU, 8-32 GB de RAM

  • Pequeño: 4 CPU, 32 GB de RAM

  • Mediano: 16 CPU, 128 GB de RAM

  • Grande: 64 CPU, 512 GB RAM.

En el próximo episodio exploraremos el menú desplegable Imágenes Administración de imágenes de software.

Ejercicio: Computación local vs. en la nube - ¿Cuál es la diferencia?

¿Cómo se compara el número de CPUs y RAM disponibles en el hub con tu computadora personal? ¿Qué impacto tiene el acceso a estos recursos en la nube en el trabajo de tu usuario?

Uso responsable de los recursos de la nube#

Al seleccionar una opción de servidor, un usuario ejecuta remotamente un servidor que es proporcionado por un proveedor comercial, como Google Cloud, AWS o Microsoft Azure. La selección de un servidor más grande implicara un mayor costo financiero, así como un mayor costo ambiental. Por lo tanto, es importante utilizar los recursos en la nube de forma responsable para maximizar la eficiencia y minimizar las emisiones de carbono.

Las prácticas recomendadas para usar los recursos en la nube de manera responsable incluyen

  • cerrar el servidor en la nube tan pronto como termines tu trabajo

  • seleccionar la opción del servidor que tenga el número mínimo de núcleos de CPU y RAM necesarios para llevar a cabo tu trabajo

  • ejecutar el código de manera eficiente y desarrollar software de investigación sostenible siempre que sea posible, por ejemplo, prueba tu programa primero antes de escalarlo a un trabajo más grande.

Ejercicio: Optimiza los recursos del servidor para tu trabajo

En cada escenario, selecciona la opción que utilice mejor los siguientes recursos del servidor: Pequeño compartido: 1-4 CPU, 8-32 GB RAM, Pequeño: 4 CPU, 32 GB RAM, Mediano: 16 CPU, 128 GB RAM, Grande: 64 CPU, 512 GB RAM.

a. Ejecutar un proceso de software donde cada tarea requiere 2GB de RAM y 60 tareas en total.

b. Crear documentación y editar archivos de texto.

c. Preprocesar un conjunto de datos que consta de 10.000 imágenes, donde cada imagen tiene un tamaño de 16 MB.

Desafío

Sofía quiere ejecutar un nuevo programa pero no conoce los requisitos máximos de la memoria. Trató de compilarlo en una máquina pequeña compartida, donde se compiló inicialmente, pero después se quedó sin memoria y la ejecución falló. ¿Qué configuración debería elegir Sofía en el servidor para tratar de ejecutar nuevamente el programa?

Detención automática del servidor#

Los hubs detienen automáticamente los servidores después de un periodo de inactividad para mejorar la utilización de los recursos y protegerse de los costos excesivos en la nube. Esto ocurre después de que el usuario está inactivo durante 1 hora.

Truco

La ejecución de una parte de código de larga duración con un núcleo en ejecución no es reconocido como actividad del usuario en el servidor y por lo tanto el proceso finaliza después de 1 hora. Este es un caso de uso atípico de la computación interactiva en un hub, pero este límite puede reconfigurarse para un hub en particular si lo solicitas comunicándote con el soporte de 2i2c.

Apagar un servidor como usuario#

Un usuario debería apagar su servidor en el hub una vez que haya terminado su trabajo. Esto se puede hacer manualmente aplicando los siguientes pasos.

  1. (JupyterLab) Ve a File (Archivo) > Hub Control Panel (Panel de control del Hub), o alternativamente (JupyterLab y RStudio) consulta la URL https://<url-de-tu-hub>.2i2c.cloud/hub/home

  2. En el Panel de control del Hub, haz clic en el botón Detener mi servidor(Detener mi servidor)

Captura de pantalla donde se muestra la opción del menú File (Archivo) > Hub Control Panel (Panel de control del Hub) en la interfaz de usuario de JupyterLab.

Administración del servidor de otro usuario como un Campeón o Campeona del Hub#

Los Campeones y Campeonas del Hub tienen acceso a un panel de administración desde el Panel de control del Hub (o la URL https://<url-de-tu-hub>.2i2c.cloud/hub/admin).

Captura de pantalla donde se muestra el panel de administración disponible para los Campeones y Campeonas del Hub.

Prudencia

Un gran poder conlleva una gran responsabilidad.

—El hombre araña

Llevar a cabo acciones administrativas como un Campeón o Campeona del Hub debe hacerse con mucho cuidado. Respeta la privacidad de los demás y piensa antes de actuar.

Detener y reiniciar el servidor de un usuario#

A veces el servidor de un usuario puede dejar de responder, por ejemplo, debido a problemas relacionados con el software que se instaló automáticamente mediante pip y/o conda. Los Campeones y Campeonas del Hub pueden restaurar los servidores del usuario a su entorno predeterminado si detienen y reinician su servidor haciendo clic en ![Start Server](. /media/episodes/server_resources/manage-2.png)(Iniciar el servidor) y después presionando el botón Iniciar servidor(Iniciar el servidor) que se encuentra junto al nombre del usuario en el panel de administración.

Nota

Los paquetes de software que se autoinstalan en el hub son temporales y se eliminan cada vez que un servidor se apaga para mantener el entorno de software limpio de manera predeterminada. El software persiste entre las sesiones mediante Administración de imágenes de software, las cuales se cubrirán en el próximo episodio.

Acceso al servidor de un usuario#

Los Campeones y Campeonas del Hub pueden tomar el control del servidor de un usuario que se está ejecutando haciendo clic en el botón Acceso al servidor(Acceder al servidor) que se encuentra junto al nombre del usuario en el panel de administración.

Desde ahí un Campeón o Campeona del Hub puede navegar en el servidor como si fuera el propio usuario, lo cual es útil para la detección y resolución problemas.

Ejercicio: Administración del servidor del usuario

¿Las siguientes afirmaciones son Verdaderas o Falsas?

a. Cerrar la ventana del navegador es suficiente para detener un servidor.

b. Detener un servidor cuando un usuario termina su trabajo reduce los costos y las emisiones de carbono.

c. Detener y reiniciar un servidor elimina los paquetes pip y conda instalados por el usuario y lo restaura a un estado limpio.

d. El servidor de un usuario seguirá ejecutándose indefinidamente a menos que alguien lo detenga.

🔑 PUNTOS CLAVE

  • Los usuarios pueden lanzar servidores con una gran variedad de recursos disponibles, a saber el número de núcleos del CPU y la RAM.

  • Es importante utilizar los recursos en la nube de manera responsable para maximizar la eficiencia y minimizar las emisiones de carbono.

  • Los Campeones y Campeonas del Hub pueden detener, reiniciar y tomar el control del servidor de un usuario para solucionar problemas.