Computación de Altas Prestacións (HPC)

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.

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:

  1. O usuario solicita a execución dunha tarefa1) cuns recursos determinados.
  2. O sistema rexistra a solicitude nunha das súas colas de entrada2) e, segundo a cantidade de recursos solicitados, derívaa a unha cola de sistema determinada 3).
  3. 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 64 (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.

Información técnica dos procesadores e opcións de BIOS

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

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úmero máximo de traballos na cola6) Características Exemplo
batch 256 É a cola por defecto.
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 bignmem -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 192 5
np4 4 4 7,5 75 192 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.

1)
Normalmente un script de bash
2)
Tipicamente batch
3)
Chamadas np1, np2, np4
4)
Con todo, existe unha cola interactiva especial para execucións interactivas, orientada a solucionar problemas nas execucións
5)
node1 128GB
6)
Só contan os traballos que non foron aínda enviados a unha cola do sistema, así que isto non quere dicir que só poidas enviar ese número de traballos
7)
Se pides unha situación imposible, por exemplo, 8 núcleos con 200 horas, o traballo permanecerá na cola de entrada e xamais se chegará a executar
8)
parámetro ppn
9)
parámetro nodes
10)
Determinada polo resto de parámetros
11)
Se se alcanza este número de traballos, os traballos restantes permanecerán na cola de entrada mentres non se liberen traballos na cola de sistema
12)
Maior número = maior prioridade