Resumen y agenda
Este es un taller introductorio al uso efectivo de los sistemas de computación de alto rendimiento. No podemos cubrir todos los casos ni ofrecer un curso exhaustivo sobre programación paralela en solo dos días de enseñanza. En cambio, este taller está diseñado para proporcionar a los estudiantes una buena introducción y una visión general de las herramientas disponibles y cómo usarlas de manera efectiva.
Prerrequisitos
Se requiere experiencia previa con la línea de comandos para esta lección. Recomendamos a los participantes que revisen shell-novice, si son nuevos en la línea de comandos (también conocida como terminal o shell).
Al final de este taller, los estudiantes sabrán cómo:
- Identificar problemas que un clúster puede ayudar a resolver
- Usar la línea de comandos de UNIX (también conocida como terminal o shell) para conectarse a un clúster.
- Transferir archivos a un clúster.
- Enviar y gestionar trabajos en un clúster utilizando un planificador.
- Observar los beneficios y limitaciones de la ejecución paralela.
Comencemos
Para comenzar, siga las “Instrucciones de configuración para asegurarse de tener una terminal y una aplicación SSH.
Tenga en cuenta que esta es la versión preliminar del taller de HPC Carpentry. Se agradecen los comentarios y sugerencias.
Para instructores
Si va a impartir esta lección en un taller, consulte las Notas para instructores.
| Configuración | Descargar los archivos necesarios para la lección | |
| Duration: 00h 00m | 1. ¿Por qué usar un clúster? |
¿Por qué debería interesarme la Computación de Alto Rendimiento
(HPC)? ¿Qué puedo esperar aprender de este curso? |
| Duration: 00h 20m | 2. Conectándose a un sistema HPC remoto | ¿Cómo inicio sesión en un sistema HPC remoto? |
| Duration: 00h 55m | 3. Trabajando en un sistema HPC remoto |
“¿Qué es un sistema HPC?” “¿Cómo funciona un sistema HPC?” “¿Cómo inicio sesión en un sistema HPC remoto?” ::: |
| Duration: 01h 30m | 4. Fundamentos del Planificador de Trabajos |
¿Qué es un planificador de trabajos y por qué lo necesita un
clúster? ¿Cómo lanzo un programa para que se ejecute en un nodo de cómputo del clúster? ¿Cómo capturo la salida de un programa que se ejecuta en un nodo del clúster? |
| Duration: 02h 45m | 5. Variables de Entorno |
¿Cómo se establecen y acceden las variables en la shell de
Unix? ¿Cómo puedo usar variables para cambiar cómo se ejecuta un programa? |
| Duration: 03h 00m | 6. Acceder a software a través de Módulos | ¿Cómo cargamos y descargamos paquetes de software? |
| Duration: 03h 45m | 7. Transferencia de archivos con computadoras remotas | ¿Cómo transfiero archivos hacia (y desde) el clúster? |
| Duration: 04h 15m | 8. Ejecutar un trabajo paralelo |
¿Cómo ejecutamos una tarea en paralelo? ¿Qué beneficios surgen de la ejecución paralela? ¿Cuáles son los límites de las ganancias de la ejecución en paralelo? |
| Duration: 05h 45m | 9. Usar recursos de forma eficaz |
¿Cómo puedo revisar trabajos pasados? ¿Cómo puedo usar este conocimiento para crear un script de envío más preciso? |
| Duration: 06h 15m | 10. Usar recursos compartidos de manera responsable |
¿Cómo puedo ser un usuario responsable? ¿Cómo puedo proteger mis datos? ¿Cómo puedo sacar de mejor manera grandes cantidades de datos de un sistema HPC? |
| Duration: 06h 35m | Final |
El horario real puede variar ligeramente dependiendo de los temas y ejercicios elegidos por la instructora.
Hay varios programas que deberá instalar antes del taller. Aunque se proporcionará ayuda para la instalación durante el taller, recomendamos que estas herramientas se instalen (o al menos se descarguen) previamente.
Bash y SSH
Esta lección requiere una aplicación de terminal (bash,
zsh u otras) con la capacidad de conectarse de manera
segura a una máquina remota (ssh).
Dónde escribir comandos: Cómo abrir una nueva terminal
La terminal es un programa que nos permite enviar comandos a la computadora y recibir resultados. También se le conoce como línea de comandos o shell.
Algunas computadoras incluyen un programa de shell Unix por defecto. Los pasos a continuación describen algunos métodos para identificar y abrir una shell Unix si ya tiene una instalada. También hay opciones para identificar y descargar un programa de shell Unix, un emulador de Linux/UNIX o un programa para acceder a un shell Unix en un servidor.
Unix Shells en Windows
Las computadoras con sistemas operativos Windows no tienen automáticamente un programa de shell Unix instalado. En esta lección, recomendamos utilizar un emulador incluido en Git para Windows, que le da acceso tanto a los comandos de la shell Bash como a Git. Si ha asistido a una sesión de taller de Software Carpentry, es probable que ya haya recibido instrucciones sobre cómo instalar Git para Windows.
Una vez instalado, puede abrir una terminal ejecutando el programa Git Bash desde el menú de inicio de Windows.
Programas de Shell para Windows
- Git for Windows – Recomendado
- Windows Subsystem for Linux – opción avanzada para Windows 10
Alternativas a Git para Windows
Otras soluciones están disponibles para ejecutar comandos Bash en Windows. Ahora hay una herramienta de línea de comandos de Bash disponible para Windows 10. Además, puede ejecutar comandos Bash en una computadora o servidor remoto que ya tenga un shell Unix, desde su máquina con Windows. Esto generalmente se puede hacer a través de un cliente de Secure Shell (SSH). Un cliente disponible de forma gratuita para computadoras con Windows es PuTTY. Consulte la referencia a continuación para obtener información sobre cómo instalar y usar PuTTY, usar la herramienta de línea de comandos de Windows 10 o instalar y usar un emulador de Unix/Linux.
Para usuarios avanzados, puede elegir una de las siguientes alternativas:
- Instalar el Windows Subsystem for Linux
- Usar el PowerShell de Windows
- Leer sobre Uso de un emulador de Unix/Linux (Cygwin) o cliente de Secure Shell (SSH) (PuTTY)
Advertencia
Los comandos en el Windows Subsystem for Linux (WSL), PowerShell o Cygwin pueden diferir ligeramente de los mostrados en la lección o presentados en el taller. Por favor, pregunte si encuentra tal discrepancia: probablemente no esté solo.
Unix Shell en macOS
En macOS, el shell Unix predeterminado es accesible ejecutando el
programa Terminal desde la carpeta /Application/Utilities
en Finder.
Para abrir Terminal, intente uno o ambos de los siguientes métodos:
- En Finder, seleccione el menú Ir y luego seleccione Utilidades. Localice Terminal en la carpeta de Utilidades y ábralo.
- Use la función de búsqueda de la computadora ‘Spotlight’ de Mac.
Busque:
Terminaly presione Return.
Para una introducción, consulte Cómo usar Terminal en una Mac.
Unix Shell en Linux
En la mayoría de las versiones de Linux, el shell Unix predeterminado es accesible ejecutando el (Gnome) Terminal o (KDE) Konsole o xterm, que se pueden encontrar a través del menú de aplicaciones o la barra de búsqueda.
SSH para Conexiones Seguras
Todos los estudiantes deben tener un cliente SSH instalado. SSH es una herramienta que nos permite conectarnos y usar una computadora remota como si fuera nuestra.
SSH para Windows
Git para Windows viene con SSH preinstalado: no tiene que hacer nada.
Soporte gráfico (GUI) para Windows
Si sabe que el software que ejecutará en el clúster requiere una interfaz gráfica de usuario (una ventana GUI necesita abrirse para que la aplicación se ejecute correctamente), instale MobaXterm Home Edition.
SSH para macOS
macOS viene con SSH preinstalado: no tiene que hacer nada.
Soporte gráfico (GUI) para macOS
Si sabe que el software que ejecutará requiere una interfaz gráfica de usuario, instale XQuartz.