Computación de Altas Prestacións (HPC)
Acceso ao clúster e copia de arquivos
O acceso faise a través dunha máquina que actúa coma frontend a través de ssh. Para máis información, consulta como acceder ao clúster e copiar ficheiros.
Antes de acceder por primeira vez, le atentamente a sección de introdución que segue para entender como funciona o sistema. Tamén atoparás información que servirache de referencia máis adiante.
Introdución
Funcionamento básico dun clúster de computación
O Clúster de Computación de Altas Prestacións (HPC, High Performance Computing) proporciona aos investigadores una unha infraestrutura compartida que serve como plataforma axeitada á execución de procesos computacionalmente custosos.
Un clúster de computación componse dun conxunto de nodos interconectados mediante unha rede dedicada que pode actuar como un único elemento computacional. Isto proporciona unha grande potencia, permitindo a execución de traballos paralelos moi grandes ou moitas execucións pequenas de forma concorrente.
Un sistema de xestión de colas (SGC) é un software que planifica a execución dos traballos que se atopa habitualmente nos sistemas deste tipo, xa que permite unha xestión eficiente dos recursos con múltiples usuarios. Neste clúster está instalado o sistema PBS/TORQUE.
A dinámica de funcionamento dun sistema deste tipo é a seguinte:
- O usuario solicita a execución dunha tarefa1) cuns recursos determinados.
- En función da prioridade da cola de sistema (a menores recursos precisos, maior prioridade) e da dispoñibilidade dos recursos no sistema, a tarefa enviarase a un ou varios dos nodos computacionais. Ao rematar a execución, devolverase a saída xerada.
O habitual é que a execución teña que agardar na cola até que os recursos estean dispoñibles e preparados. Ademais, resulta imposible realizar así execucións de maneira interactiva4).
Descrición do hardware
O clúster ctcomp2 é un clúster heteroxéneo, formado por 8 nodos computacionais HP Proliant BL685c G7, 5 nodos Dell PowerEdge M910 e 5 nodos Dell PowerEdge M620.
Nome do nodo | Modelo | Núcleos por nodo (NUMAs, Sockets, Cores/socket, Threads/core) | Memoria RAM |
---|---|---|---|
node1-7 | HP Proliant BL685c G7 - Procesadores AMD | 64 (8, 4, 8, 2) | 256GB5) |
inode11-15 | Dell PowerEdge M910 - Procesadores Intel Xeon L | 32 (4, 4, 8, 1) | 64GB |
inode16-20 | Dell PowerEdge M620 - Procesadores Intel Xeon E5 | 32 (2, 2, 8, 2) | 64GB |
Internamente os nodos computacionais están conectados entre si a través de varias redes 10 GbE dedicadas. A conexión dende o exterior é de 1Gb.
Case todos os nodos, fóra de node1 e inode20 apáganse cando non se están empregando durante un intre, o que podería causar atrasos de varios minutos na cola aínda que o clúster aparentemente estea desocupado.
Descrición do software
O sistema operativo é Debian GNU/Linux 8.6 (jessie).
O sistema de colas que xestiona os traballos é PBS/Torque, apoiado por CLUES para mellorar a xestión de enerxía.
O sistema permite compilar e executar código en C++, Java, Python, R, Octave… O uso de determinado software pode requirir a súa carga a través do sistema Modules. Podes consultar o catálogo completo de software dispoñible na seguinte ligazón: Información do software dispoñible
Sistema de colas
O sistema de colas ten catro colas de entrada e oito colas do sistema. Un usuario envía un traballo a unha cola de entrada e, en función dos recursos solicitados, envíanse a unha ou outra cola de sistema.
Para enviar un traballo ao sistema de colas, utilízase o comando qsub
. Por defecto envíase á cola de entrada batch. Se o clúster atópase moi saturado, pode ser interesante especificar a cola short ou bigmem.
Cola | Nº máx. de traballos6) | Características | Exemplo |
---|---|---|---|
batch | 256 | É a cola por defecto. | qsub traballo.sh |
short | 256 | Cola especial con maior prioridade para traballos de como máximo 12 horas, 16 procesos, 5 nodos e 32GB | qsub -q short traballo.sh |
bigmem | 8 | Outra cola especial con maior prioridade para traballos de, especificamente, 64 procesos e un nodo. É obrigatorio especificar eses recursos (nodes=1:ppn=64 ). | qsub -q bigmem -l nodes=1:ppn=64 traballo.sh |
interactive | 1 | Cola especial para traballar de forma interactiva. Debe chamarse de forma especial. | qsub -q interactive -I |
Os recursos que se poden solicitar e que determinarán a cola do sistema utilizada son:
- O número de nodos
- O número de núcleos por nodo
- O tempo de execución
A memoria máxima asignada depende da cola do sistema que se empregue finalmente, así que estará determinada polo resto de parámetros.
Os recursos poden solicitarse de dúas formas: como comentarios ao comezo do script, ou co parámetro -l
(que ten precedencia). Podes ver exemplos de traballos para ver como se especifican estes recursos.
Comproba os límites existentes nas colas do sistema, para determinar a mellor elección de recursos posible7):
Límites | ||||||
---|---|---|---|---|---|---|
Cola | Núcleos8) | Nodos9) | Memoria (GB)10) | Traballos/usuario11) | Tempo máximo (horas) | Prioridade12) |
np1 | 1 | 1 | 1,99 | 300 | 672 | 6 |
np2 | 2 | 2 | 3,75 | 150 | 500 | 5 |
np4 | 4 | 4 | 7,5 | 90 | 500 | 4 |
np8 | 8 | 5 | 15 | 40 | 192 | 4 |
np16 | 16 | 5 | 31 | 20 | 192 | 3 |
np32 | 32 | 5 | 63 | 10 | 288 | 2 |
np64 | 64 | 5 | 127 | 5 | 384 | 1 |
parallel | 32-160 | 5 | 64 | 15 | 192 | 3 |
Podes ler máis sobre como preparar os traballos para o seu envío ao xestor de colas e como enviar e xestionar traballos unha vez enviados.
ppn
nodes