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
servicos:processamento [2020-02-28 13:12] gnannservicos:processamento [2024-03-19 16:45] (current) – [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]]   +brucutu    | 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.1582906370.txt.gz · Last modified: 2020-02-28 13:12 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