This is an old revision of the document!
Table of Contents
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. O acesso a tais servidores é remoto se dá a partir do protocolo SSH. 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 | memória RAM | coprocessador |
---|---|---|---|---|
brucutu | 2x Intel Xeon E5645 | 12 | 216GB | N/A |
brucutuiv | 2x Intel Xeon E5-2650 v4 | 24 | 384GB | Nvidia Tesla K40 |
brucutuv | 2x Intel Xeon Gold 6148 | 40 | 512GB | N/A |
brucutuvi | 2x Intel Xeon Gold 6148 | 40 | 512GB | Nvidia Tesla V100 |
Atentamos que todos os processadores contam com hyperthreading de tal sorte que a quantidade efetiva linhas de processamento é o dobro do número de núcleos.
Boas práticas
- Utilizar o comando screen;
- Não usar a área de rede como origem ou destino de dados para seu programa. Usar
/var/tmp
ou/var/fasttmp
(com SSD); - 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;
- 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