User Tools

Site Tools


servicos:processamento

Servidores de processamento

Existem diversos grupos de pesquisa que dispõem de recurso próprio para processamento. O objetivo deste artigo não é descrever completamente a infraestrutura de processamento do IME, mas descrever a infraestrutura de processamento disponível para toda a comunidade do IME.

Contamos com quatro servidores de processamento: brucutu, brucutuiv, brucutuv e brucutuvi. Todos os servidores operam com o sistema Debian GNU/Linux na versão estável contando com diversos pacotes possibilitando a compilação de programas em C, bem como a execução de scripts em Python, R etc. O acesso a tais servidores é remoto se dá a partir do protocolo SSH. Lembrando que é necessário criar a conta na rede do IME para o acesso remoto.

Exemplo:

ssh usuario@brucutu.ime.usp.br

OBS: o acesso às brucutus V e VI se dá apenas a partir do ambiente interno. Então é preciso acessar remotamente a rede do IME e, de lá, fazer outro SSH.

Configuração

As configurações simplificadas de hardware dos computadores são as seguintes:

servidor processador núcleos threads* memória RAM coprocessador
brucutuiv 2x Intel Xeon E5-2650 v4 12 24 384GB Nvidia Tesla K40
brucutu 2x Intel Xeon Gold 6148 20 40 512GB N/A
brucutuvi 2x Intel Xeon Gold 6148 20 40 512GB Nvidia Tesla V100

* Com hyperthreading, a quantidade efetiva linhas de processamento é o dobro do número de núcleos.

Política de uso

  1. Não ocupar as duas GPUs. Se acontecer, poderemos matar o seu processo mais antigo;
  2. Não pode ocupar mais do que duas máquinas em CPU. Se acontecer, poderemos matar seus processos mais antigos;
  3. Se um processo passar de 168h (uma semana corrida), ele poderá ser morto para liberar recursos para outros usuários;
  4. Se um processo usar todo o recurso da GPU, ele poderá ser morto para liberar o recurso para outros usuários;
  5. A SI não se responsabilizará pelos processos mortos que não obedecerem esta política de uso.

Em essência: Brute force science should be avoided.

Pacotes

Costumamos instalar bibliotecas mais generalistas como o r-recommended ou o build-essential. Caso for necessário a instalação de algo mais específico, basta escrever para admin@ime.usp.br solicitando a instalação.

Atentamos que pode acontecer de não ser possível instalar a dependência por se tratar de uma versão conflitante com o que a versão estável do Debian tem a oferecer.

Boas práticas

  1. Utilizar o comando screen;
  2. Não usar a área de rede como origem ou destino de dados para seu programa. Usar /var/tmp ou /var/fasttmp (com SSD);
  3. Usar checkpoint. Caso ocorra uma queda de energia ou travamento do servidor, o seu processo poderá reiniciar e continuar o processamento de algum ponto próximo à queda;
  4. Por se tratarem de servidores compartilhados, limitamos o processamento e a memória disponível por usuário.

Sobre o GNU Screen

Para abrir uma sessão no screen, basta rodar o comando screen. Dentro da screen, basta rodar seu programa como o habitual.

Para sair de uma sessão da screen sem fechá-la, Ctrl+A depois a tecla D.

Para retomar uma sessão da screen, basta rodar o comando screen -r. Se houver mais de uma screen aberta, será necessário identificá-la. Cada screen terá um número de processo associado a ela, basta especificá-lo.

Exemplo:

$ screen -r
There are screens on:
    31415.pts-9.amaterasu	(26/02/2020 05:35:08)	(Detached)
     9793.pts-2.amaterasu	(26/02/2020 03:08:46)	(Detached)

# seu processo é o 31415
$ screen -r 31415
servicos/processamento.txt · Last modified: 2024-03-19 16:45 by gnann

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki