Cluster

Estado
HTCondor Online
OpenMPI Online
Hadoop & HDFS Online
Spark Offline
GlusterFS Online

Suporte

Suporte por email está disponível através de cluster@rnl.tecnico.ulisboa.pt.

Acesso

Para obter acesso aos serviços do Cluster é necessário contactar a administração com o pedido por email para cluster@rnl.tecnico.ulisboa.pt.

Após contacto, o acesso é feito por SSH para a máquina cluster.rnl.tecnico.ulisboa.pt com o ID do Técnico.

Esta máquina está limitada por utilizador a 512MB de RAM não deve ser usada para mais do que a submissão dos jobs, que devem ser submetidos para o Cluster através do HTCondor, OpenMPI ou Hadoop.

Descrição do serviço

O Cluster da RNL é fornecido pelos computadores dos laboratórios, com arquitetura x86_64, que utilizam a distribuição OpenSUSE 42.1.

Dependendo das horas do dia e da atividade dos laboratórios, estão disponíveis entre 40 a 360 cores, com cerca de 2GB de RAM por core.

De momento, existem as seguintes plataformas de computação:

  • HTCondor – High Throughput Computing
  • OpenMPI – High Performance Message Passing Library
  • Hadoop – MapReduce

Para armazenamento temporário existem os seguintes sistemas de ficheiros:

O software instalado encontra-se na lista de software dos laboratórios. Necessidades de software específicas podem requisitadas por email para rnl@tecnico.ulisboa.pt.

Além da área AFS mantida pela DSI, é também disponibilizado o sistema de ficheiros distribuídos do GlusterFS, que pode ser utilizado para armazenamento temporário.

HTCondor

Submissão de Jobs

A submissão de jobs no condor deve ser feita através do comando condor_submit na máquina de acesso. Quaisquer ficheiros que precisem de ser acedidos pela tarefa submetida podem ser colocados na home de utilizador do GlusterFS.

Estão disponíveis na página do HTCondor exemplos de ficheiros de submissão.

Hardware disponibilizado

Cada slot encontra-se configurada com Dynamic Provisioning:

  • cada slot disponibiliza 3 ou 4 cpus (consoante pertença a um nó com DFS ou não)
  • cada slot desdobra-se em sub-slots associadas aos cpus (cores)
  • no gráfico do condor não há distinção entre slot e sub-slot, motivo pelo qual irá haver flutuação do número total de slots
  • número de slots disponíveis, quando não há nenhuma claimed, corresponde ao número de nós SMP
  • enquanto houver recursos disponíveis permanece sempre a slot principal como unclaimed
  • detalhes sobre a memória disponível em cada slot pode ser consultado com o comando condor_status
  • pode-se requisitar para um processo whole machine slots, desde que o requisito de memória seja igual ou superior a 3500 (pode ser útil para submissões com multithreading, como por exemplo jobs que usem o OpenMP)

NOTA: Não se encontra activa a preempção e checkpointing de jobs

OpenMPI

O lançamento de trabalhos MPI deve ser feito utilizando o HTCondor (condor_submit). O comando mpirun não deve ser utilizado para a submissão de jobs.

Como alternativa, é fornecido o comando condor_mpi, que submete o job de OpenMPI utilizando o HTCondor, com a sintaxe:

condor_mpi -n <número de nodes> <caminho completo para o executável> [argumentos]

Outra opção é submeter um job de HTCondor preparado para executar jobs de MPI:

universe      = parallel
executable    = /usr/local/bin/condor-mpi-helper
arguments     = /mnt/cirrus/users/X/Y/cluster1234XY/<mpi-executable> <arg1> ... <argN>
log           = /mnt/cirrus/users/X/Y/cluster1234XY/exec.log
output        = /mnt/cirrus/users/X/Y/cluster1234XY/exec.out
error         = /mnt/cirrus/users/X/Y/cluster1234XY/exec.err
machine_count = <number of machines>
queue

ATENÇÃO: Todos os ficheiros referidos no ficheiro de submissão necessitam de ter o seu caminho completo. Na submissão também devem indicar o caminho completo do ficheiro de submissão.

Exemplo (para o utilizador ist123456):

ist123456@borg:~$ condor_submit /mnt/cirrus/users/5/6/cluster123456/mpi.submit

O software na máquina de acesso ao Cluster difere do software no Cluster em si, pelo que software compilado neste pode não funcionar quando submetido. Por isso aconselha-se que os projetos sejam compilados presencialmente nos postos de trabalhos nos laboratórios ou máquinas com a mesma distribuição e versão instalada. O uso de máquinas que não as descritas para compilar os projetos não são suportadas e não são dadas garantias do correto funcionamento dos mesmos neste caso.

Mais informações sobre a utilização do MPI podem ser obtidas nas páginas seguintes:

Hadoop

O Hadoop encontra-se a disponível nos 90 nós do Cluster.
Ao todo existe um máximo possível de 360 slots distribuídos com o mesmo peso para Map e Reduce.

No caso de falta de bibliotecas não presentes para execução de jobs no hadoop deve contactar a administração por email.

GlusterFS

No Cluster é disponibilizado o sistema de ficheiros GlusterFS que se encontra montado em:

/mnt/cirrus

A sua área pessoal pode ser acedida em:

/mnt/cirrus/users/y/z/clusterxxxxyz

O acesso remoto aos dados do GlusterFS pode ser feito por SSH/SCP ou SFTP para cluster.rnl.tecnico.ulisboa.pt com o seu ID do Técnico, na pasta acima mencionada. Exemplos de ferramentas que permitem este tipo de acesso remoto são o FileZilla (SFTP), WinSCP (SFTP e SCP) e PuTTY (SSH/SCP).

Para facilitar o acesso à home do Cluster a partir da área de AFS aconselha-se a criação de um symlink para a mesma da seguinte forma:

ln -s /mnt/cirrus/users/y/z/clusterxxxxyz ~/cluster-home

Dados para processamento com o HTCondor ou OpenMPI devem devem ser sempre colocados no GlusterFS.

HDFS

A transferência de ficheiros para o HDFS deve ser efetuada através dos comandos do Hadoop.

A pasta /tmp tem permissões no HDFS para transferir os dados para processamento. Aconselha-se a criação de uma pasta com o IST ID do utilizador para evitar colisões. No jar submetido deve ser utilizado o full path /tmp/... para indicar o caminho para os dados a processar.

O Hadoop cria automaticamente a pasta /users/istxxxxyz onde guarda os dados de processamento. Caso não se indique explicitamente outro local para o output a pasta out aparecerá nesse local.