Difference between revisions of "Singularity"

From VeRLab Wiki
Jump to: navigation, search
(Created page with "O '''Singularity''' é uma ferramenta para a criação de "máquina container" (uma espécie de "máquina virtual") que trás algumas vantagens, quando for rodar experimentos...")
 
Line 1: Line 1:
O '''Singularity''' é uma ferramenta para a criação de "máquina container" (uma espécie de "máquina virtual") que trás algumas vantagens, quando for rodar experimentos nas máquinas de processamento do Verlab/J:
+
== Singularity ==
  
- Não precisa ser usuário com privilégios root para criar sua "máquina container" e pode instalar suas dependências de experimento no container sem alterar a máquina host. Isso evita mudanças e instalação de pacotes que atrapalham experimentos de outros usuários.
 
  
- Depois de criar sua "máquina container" com todas suas dependências, pode-se usá-la para rodar experimento em diferentes máquinas host que tenham GPU. Isso trás mais flexibilidade para rodar experimento em outra máquina, sem precisar instalar todas dependências novamente.
+
O '''Singularity''' é uma ferramenta para a criação de ''"máquina container"'' (uma espécie de ''"máquina virtual"'') que trás algumas vantagens, quando for rodar experimentos nas máquinas de processamento do Verlab/J:
  
 +
* Não precisa ser usuário com privilégios root para criar sua ''máquina container'' e pode instalar suas dependências de experimento no container sem alterar a máquina host. Isso evita mudanças e instalação de pacotes que atrapalham experimentos de outros usuários.
  
== Instalação ==
+
* Depois de criar sua ''máquina container'' com todas suas dependências, pode-se usá-la para rodar experimento em diferentes máquinas host que tenham GPU. Isso trás mais flexibilidade para rodar experimento em outra máquina, sem precisar instalar todas dependências novamente.
Toda máquina com GPU deve rodar experimentos sem modificar os pacotes da máquina host (máquina de processamento). Assim a equipe de rede deve instalar o '''Singularity''' na máquina host com GPU e configurar de modo que os usuários possam rodar apenas o comando <code> $sudo singularity </code> sem necessitar de senha numa pasta fora do home do usuário, de preferencia dentro da pasta <code> /tmp </code> ou <code> /homeLocal/usuario </code>.
 
  
Deste modo, todos usuários conseguem criar sua ''"máquina container"'' Deve ser realizada pela equipe de rede, e depois configurado de modo que cada usuário possa usar uma pasta na '''homeLocal''' para  com um usuário de permissão root. Inicialmente, verifique se o sistema possui o '''pip'''. Estando no terminal, digite:
 
  
 +
== Instalação ==
 +
Toda máquina com GPU deve rodar experimentos sem modificar os pacotes da máquina host (máquina de processamento).
  
== Regras de bom uso dos recursos ==
+
A equipe de rede é responsável por:
- Usuários não devem deixar o dataset dentro da sua pasta home de usuário, pois isso aumenta o tráfego na rede desnecessário. Os datasets devem ser armazenados numa pasta local do computador com o nome do usuário. Por exemplo <code> /homeLocal/fulano </code>
 
  
- em Cada usuário deve baixar os arquivos necessários
+
* Instalar o '''Singularity''' em toda máquina host com GPU (máquina de processamento)
 +
* Configurar de modo que todo usuário possa rodar apenas o comando <code> $sudo singularity </code> numa '''pasta local da máquina host''', sem necessitar de senha root.
  
 +
Assim as pastas indicadas para "compilar" a máquina container é fora do home do usuário, tais como:
  
== Criar sua Máquina Container ==
+
* <code> /tmp </code> ou
 +
* <code> /homeLocal/usuario </code>.
  
Link recomendado para aprender a utilizar:
 
  
https://singularity.lbl.gov/docs-docker
+
== Regras de bom uso dos recursos ==
 +
* Usuários não devem deixar o dataset (massa de arquivos grande, em geral 1TB, que vão ser acessados durante o experimento) dentro da sua pasta home de usuário, pois isso aumenta o tráfego na rede desnecessário. Os datasets devem ser armazenados numa pasta local do computador com o nome do usuário. Por exemplo <code> /homeLocal/fulano </code>
  
 +
* Cada usuário deve baixar os arquivos e os pacotes necessários para ''máquina container'' dentro da pasta /homeLocal/usuario, e "compilar" na mesma. O arquivo container pronto, deve ser armazenado na sua pasta /home/usuario
  
<code> /homeLocal </code>
 
  
Se o pip não estiver instalado faça:<br>
+
== Aprender a Criar sua Máquina Container ==
<code>
 
$ [sudo] apt-get install python-pip
 
  
$ [sudo] pip install virtualenv
+
Links recomendados para aprender a utilizar o '''Singularity''':
</code>
 
  
 
+
https://singularity.lbl.gov/docs-docker
== Criando um ambiente ==
 
Para criar um ambiente virtual isolado, faça:
 
 
 
<code>
 
$ virtualenv <pasta>
 
</code>
 
 
 
Uma pasta será criada como o nome especificado, com as subpastas ''bin, include, lib e local''.
 

Revision as of 22:18, 8 June 2018

Singularity

O Singularity é uma ferramenta para a criação de "máquina container" (uma espécie de "máquina virtual") que trás algumas vantagens, quando for rodar experimentos nas máquinas de processamento do Verlab/J:

  • Não precisa ser usuário com privilégios root para criar sua máquina container e pode instalar suas dependências de experimento no container sem alterar a máquina host. Isso evita mudanças e instalação de pacotes que atrapalham experimentos de outros usuários.
  • Depois de criar sua máquina container com todas suas dependências, pode-se usá-la para rodar experimento em diferentes máquinas host que tenham GPU. Isso trás mais flexibilidade para rodar experimento em outra máquina, sem precisar instalar todas dependências novamente.


Instalação

Toda máquina com GPU deve rodar experimentos sem modificar os pacotes da máquina host (máquina de processamento).

A equipe de rede é responsável por:

  • Instalar o Singularity em toda máquina host com GPU (máquina de processamento)
  • Configurar de modo que todo usuário possa rodar apenas o comando $sudo singularity numa pasta local da máquina host, sem necessitar de senha root.

Assim as pastas indicadas para "compilar" a máquina container é fora do home do usuário, tais como:

  • /tmp ou
  • /homeLocal/usuario .


Regras de bom uso dos recursos

  • Usuários não devem deixar o dataset (massa de arquivos grande, em geral 1TB, que vão ser acessados durante o experimento) dentro da sua pasta home de usuário, pois isso aumenta o tráfego na rede desnecessário. Os datasets devem ser armazenados numa pasta local do computador com o nome do usuário. Por exemplo /homeLocal/fulano
  • Cada usuário deve baixar os arquivos e os pacotes necessários para máquina container dentro da pasta /homeLocal/usuario, e "compilar" na mesma. O arquivo container pronto, deve ser armazenado na sua pasta /home/usuario


Aprender a Criar sua Máquina Container

Links recomendados para aprender a utilizar o Singularity:

https://singularity.lbl.gov/docs-docker