User Tools

Site Tools


servicos:processamento

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
servicos:processamento [2020-02-28 13:12] gnannservicos:processamento [2024-03-19 15:08] – [Table] gnann
Line 2: Line 2:
 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. 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 [[https://debian.org/|Debian GNU/Linux]] na versão estável. O acesso a tais servidores é remoto se dá a partir do protocolo [[tutoriais:como_acessar_a_rede_ime_de_fora|SSH]].+Contamos com quatro servidores de processamento: brucutu, brucutuiv, brucutuv e brucutuvi. Todos os servidores operam com o sistema [[https://debian.org/|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 [[tutoriais:como_acessar_a_rede_ime_de_fora|SSH]]. Lembrando que é **necessário** [[https://criaconta.ime.usp.br|criar a conta]] na rede do IME para o acesso remoto. 
 + 
 +Exemplo: 
 + 
 +<code bash> 
 +ssh usuario@brucutu.ime.usp.br 
 +</code> 
 + 
 +**OBS:** o acesso às brucutus V e VI se dá apenas a partir do ambiente interno. Então é preciso [[tutoriais:como_acessar_a_rede_ime_de_fora|acessar remotamente a rede do IME]] e, de lá, fazer outro SSH.
  
 ===== Configuração ===== ===== Configuração =====
 As configurações simplificadas de hardware dos computadores são as seguintes: As configurações simplificadas de hardware dos computadores são as seguintes:
-^ servidor   ^ processador               ^ núcleos  ^ memória RAM  ^ coprocessador      ^ +^ servidor   ^ processador                                                                                                                                       ^ núcleos  ^ threads*  ^ memória RAM  ^ coprocessador                                                                                                                        
-| brucutu    | 2x [[https://ark.intel.com/content/www/us/en/ark/products/48768/intel-xeon-processor-e5645-12m-cache-2-40-ghz-5-86-gt-s-intel-qpi.html|Intel Xeon E5645]]       | 12       | 216GB        | N/A                | +| brucutuiv  | 2x [[https://ark.intel.com/content/www/us/en/ark/products/91767/intel-xeon-processor-e5-2650-v4-30m-cache-2-20-ghz.html|Intel Xeon E5-2650 v4]]   12       | 24        | 384GB        | [[https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/tesla-product-literature/TeslaK80-datasheet.pdf|Nvidia Tesla K40]]  
-| brucutuiv  | 2x [[https://ark.intel.com/content/www/us/en/ark/products/91767/intel-xeon-processor-e5-2650-v4-30m-cache-2-20-ghz.html|Intel Xeon E5-2650 v4]]  24       | 384GB        | [[https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/tesla-product-literature/TeslaK80-datasheet.pdf|Nvidia Tesla K40]]   +| brucutuv   | 2x [[https://ark.intel.com/content/www/us/en/ark/products/120489/intel-xeon-gold-6148-processor-27-5m-cache-2-40-ghz.html|Intel Xeon Gold 6148]]  20       | 40        | 512GB        | N/A                                                                                                                                  
-| brucutuv   | 2x [[https://ark.intel.com/content/www/us/en/ark/products/120489/intel-xeon-gold-6148-processor-27-5m-cache-2-40-ghz.html|Intel Xeon Gold 6148]]   40       | 512GB        | N/A                +| brucutuvi  | 2x [[https://ark.intel.com/content/www/us/en/ark/products/120489/intel-xeon-gold-6148-processor-27-5m-cache-2-40-ghz.html|Intel Xeon Gold 6148]]  20       | 40        | 512GB        | [[https://www.nvidia.com/en-us/data-center/v100/|Nvidia Tesla V100]]                                                                 |
-| brucutuvi  | 2x [[https://ark.intel.com/content/www/us/en/ark/products/120489/intel-xeon-gold-6148-processor-27-5m-cache-2-40-ghz.html|Intel Xeon Gold 6148]]   40       | 512GB        | [[https://www.nvidia.com/en-us/data-center/v100/|Nvidia Tesla V100]]  |+
  
-Atentamos que todos os processadores contam com [[https://en.wikipedia.org/wiki/Hyper-threading|hyperthreading]] de tal sorte que a quantidade efetiva linhas de processamento é o dobro do número de núcleos.+* Com [[https://en.wikipedia.org/wiki/Hyper-threading|hyperthreading]]a quantidade efetiva linhas de processamento é o dobro do número de núcleos
 + 
 +===== Política de uso ===== 
 +  - Não ocupar as duas GPUs. Se acontecer, poderemos matar o seu processo **mais antigo**; 
 +  - Não pode ocupar mais do que duas máquinas em CPU. Se acontecer, poderemos matar seus processos **mais antigos**; 
 +  - Se um processo passar de **168h** (uma semana corrida), ele poderá ser morto para liberar recursos para outros usuários; 
 +  - Se um processo usar **todo** o recurso da GPU, ele poderá ser morto para liberar o recurso para outros usuários; 
 +  - 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 ===== ===== Boas práticas =====
-  - Utilizar o comando **screen** como sugerido +  - Utilizar o comando **screen**; 
-  - Se o seu programa utiliza muito escrita ou leitura em disco ou precisa de muito espaço, copie os arquivos localmente no servidor, criando uma pasta para você no **/var/tmp** (no caso da brucutu) ou em **/var/tmp**, **/var/fasttmp** ou **/tmp** (no caso da BrucutuIV, conforme sua necessidade). Essas áreas não possuem cota de disco, mas podem ser periodicamente apagadas +  - Não usar a área de rede como origem ou destino de dados para seu programa. Usar ''/var/tmp'' ou ''/var/fasttmp'' (com SSD); 
-  - Faça o seu código de forma que em caso de queda de energia ou travamento do servidor, o seu processo possa reiniciar e continuar o processamento a partir de um ponto definido por você (checkpoint). São poucas as vezes que o servidor travou ou a energia caiu, mas nesses casos é bom estar prevenido sempre com um código bem escrito para não perder tempo recomeçando do zero. +  - 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; 
-  - Não temos restrições de quanto processador/disco/memória/rede cada usuário pode utilizarmas nem por isso você pode utilizar todos os recursos só para vocêSeja gentil com as pessoas ecaso seu processo seja muito pesado em algum recursoutilize "**nice**" no seu processo, para que outros usuários não tenham problemas com os processos deles.+  - 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 screenbasta 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 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 elabasta especificá-lo. 
 + 
 +Exemplo: 
 +<code> 
 +$ 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
 +</code>
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