Laboratório Virtual

Nesta página

O Laboratório Virtual do IMECC é um ambiente computacional destinado à execução remota de programas, cálculos e simulações nos equipamentos disponibilizados pelo Instituto.

O serviço é especialmente indicado para atividades que demandem períodos prolongados de processamento ou que, por suas características, sejam inconvenientes de executar nos computadores dos laboratórios de ensino ou no equipamento pessoal do usuário.

O acesso aos equipamentos é realizado remotamente, por meio do protocolo SSH. Uma vez conectado, o usuário dispõe de um ambiente Linux no qual pode executar os softwares instalados e utilizar sua área pessoal de arquivos.

Os equipamentos e seus recursos computacionais são compartilhados entre os usuários. Sua utilização deve, portanto, observar as regras de uso responsável descritas nesta página.

Início rápido

Se você já possui acesso ao Laboratório Virtual:

  1. Se estiver fora da rede do IMECC, conecte-se à VPN da Unicamp.
  2. Escolha um dos equipamentos disponíveis.
  3. Abra um terminal e conecte-se por SSH:
    ssh seu_login@lv05.lv.ime.unicamp.br
  4. Utilize sua área pessoal (home) para armazenar os arquivos necessários. Essa área é compartilhada entre os equipamentos do Laboratório Virtual.
  5. Antes de iniciar um processamento que utilize intensivamente CPU ou memória, verifique a utilização do equipamento.
  6. Para programas que devam continuar executando após o encerramento da conexão SSH, utilize uma sessão tmux.

As seções seguintes apresentam instruções detalhadas para essas operações.

Quem pode utilizar

O Laboratório Virtual está disponível para professores, pesquisadores, pós-doutorandos e alunos de pós-graduação do IMECC que necessitem executar programas, cálculos ou simulações nos equipamentos disponibilizados pelo serviço.

Para utilizar o Laboratório Virtual é necessário possuir uma conta ativa nos sistemas computacionais do IMECC e ter o acesso ao serviço habilitado para essa conta.

Como solicitar acesso

A habilitação para uso do Laboratório Virtual deve ser solicitada à Informática do IMECC pelo endereço informatica@ime.unicamp.br.

Ao solicitar o acesso, informe seu nome, seu login no IMECC e descreva brevemente a atividade para a qual pretende utilizar o Laboratório Virtual.

Uso responsável dos recursos

Os equipamentos do Laboratório Virtual são compartilhados entre vários usuários. CPU, memória e espaço de armazenamento são recursos comuns e, atualmente, não são aplicados limites automáticos de utilização por usuário. Por esse motivo, a disponibilidade e o bom funcionamento do serviço dependem também do uso responsável desses recursos.

Antes de iniciar um processamento que possa demandar quantidade significativa de CPU ou memória, verifique a utilização do equipamento. Se ele já estiver sendo intensamente utilizado por outros usuários, considere utilizar outro equipamento do Laboratório Virtual. A seção Como escolher um equipamento apresenta instruções para realizar essa verificação.

Evite monopolizar os recursos de um equipamento por períodos prolongados quando houver outros usuários utilizando-o. Alguns programas e bibliotecas são capazes de utilizar simultaneamente vários núcleos ou uma parcela significativa da memória disponível. Quando for possível configurar o número de processos, threads ou núcleos utilizados por uma aplicação, escolha uma quantidade compatível com a utilização compartilhada do equipamento.

A utilização elevada de recursos não constitui, por si só, um problema. Determinadas atividades podem legitimamente exigir grande capacidade de processamento ou memória. O importante é considerar o impacto da execução sobre os demais usuários e evitar tornar o equipamento indisponível para outras atividades.

Não deixe em execução processos que não sejam mais necessários. Da mesma forma, remova arquivos temporários, resultados intermediários e outros dados que não precisem mais permanecer no Laboratório Virtual.

Se sua atividade exigir, por período prolongado, grande quantidade de CPU ou memória, ou se tiver dúvida sobre o impacto do processamento nos demais usuários, entre em contato com a Informática do IMECC pelo endereço informatica@ime.unicamp.br.

Preparando o acesso

Cliente SSH

O acesso ao Laboratório Virtual é realizado por meio do protocolo SSH (Secure Shell).

Linux, macOS e versões atuais do Windows possuem clientes SSH que podem ser utilizados diretamente a partir de um terminal. Nesses sistemas, a conexão pode ser realizada com um comando como:

ssh seu_login@lv05.lv.ime.unicamp.br

No Windows, também podem ser utilizados programas com interface gráfica para acesso SSH, como o Bitvise SSH Client.

Acesso a partir de redes externas

Os equipamentos do Laboratório Virtual não são diretamente acessíveis pela Internet.

Se você estiver fora da rede do IMECC, deverá estabelecer previamente uma conexão com a VPN da Unicamp. Após a conexão à VPN, o acesso por SSH pode ser realizado normalmente.

Consulte as instruções para acesso remoto por VPN da Unicamp .

Se você já estiver utilizando um computador conectado à rede do IMECC, não é necessário utilizar a VPN.

Equipamentos e acesso

Equipamentos disponíveis

O Laboratório Virtual é composto por diversos equipamentos que podem ser utilizados pelos usuários habilitados para o serviço. Não há um equipamento atribuído individualmente a cada usuário: em cada acesso, pode ser escolhido qualquer um dos equipamentos disponíveis.

Equipamento Processador Núcleos / threads Memória Sistema operacional
lv04.lv.ime.unicamp.br Intel Core i7-8700 @ 3.20 GHz 6 / 12 64 GB Debian Testing
lv05.lv.ime.unicamp.br Intel Core i9-13900K @ 5.8 GHz 6 / 12 128 GB Debian Testing
lv06.lv.ime.unicamp.br Intel Core i9-13900K @ 5.8 GHz 6 / 12 128 GB Debian Testing
lv07.lv.ime.unicamp.br Intel Core i9-13900K @ 5.8 GHz 6 / 12 128 GB Debian Testing

Como escolher um equipamento

Antes de iniciar uma atividade, especialmente quando ela demandar uso intensivo de CPU ou memória, verifique a utilização do equipamento escolhido.

Após conectar-se ao equipamento, execute:

htop

O htop apresenta de forma interativa a utilização dos processadores e da memória, além dos processos em execução. Se o equipamento estiver sendo intensamente utilizado por outros usuários, considere utilizar outro equipamento do Laboratório Virtual.

Para sair do htop, pressione q.

Consulte também a seção Uso responsável dos recursos.

Conexão por SSH

Para acessar um equipamento, abra um terminal e utilize o comando ssh, informando seu login no IMECC e o nome do equipamento desejado.

Por exemplo:

ssh seu_login@lv05.lv.ime.unicamp.br

Substitua seu_login pelo seu login nos sistemas computacionais do IMECC. Quando solicitado, informe sua senha.

Após a autenticação, você terá acesso a um terminal Linux no equipamento remoto.

Para encerrar a conexão:

exit

Primeiro acesso a um equipamento

Na primeira conexão a um determinado equipamento, o cliente SSH poderá informar que a autenticidade do servidor ainda não pôde ser estabelecida e solicitar a confirmação da chave do equipamento.

Essa mensagem é esperada no primeiro acesso. Após a confirmação, a chave será armazenada pelo cliente SSH e normalmente não será solicitada novamente.

Se, em uma conexão futura, o SSH informar:

REMOTE HOST IDENTIFICATION HAS CHANGED

não ignore o aviso nem remova a chave armazenada sem antes verificar a situação. Entre em contato com a Informática do IMECC.

Trabalhando com arquivos

Área pessoal de arquivos

Cada usuário possui uma área pessoal de arquivos (home) compartilhada entre todos os equipamentos do Laboratório Virtual.

Isso significa que um arquivo armazenado durante uma sessão no lv04, por exemplo, estará disponível também quando você se conectar ao lv05, lv06 ou a outro equipamento. Portanto, não é necessário copiar seus arquivos de um equipamento para outro.

Atualmente não são aplicadas quotas individuais de armazenamento. Entretanto, a capacidade disponível é compartilhada e finita. Mantenha em sua área pessoal apenas os arquivos necessários às suas atividades e remova arquivos temporários, resultados intermediários e outros dados que não precisem mais permanecer no Laboratório Virtual.

Importante: não são realizadas cópias de segurança (backup) dos arquivos armazenados no Laboratório Virtual. O usuário é responsável por manter cópias, em outro local, dos arquivos e dados que não possam ser perdidos.

O Laboratório Virtual não deve ser utilizado como único local de armazenamento de dados importantes.

Transferindo arquivos

Arquivos podem ser transferidos entre seu computador e o Laboratório Virtual utilizando scp ou SFTP.

Para enviar um arquivo:

scp dados.csv seu_login@lv05.lv.ime.unicamp.br:~/

Para copiar um arquivo do Laboratório Virtual para o diretório atual do seu computador:

scp seu_login@lv05.lv.ime.unicamp.br:~/resultado.csv .

Para transferir um diretório inteiro:

scp -r meu_projeto seu_login@lv05.lv.ime.unicamp.br:~/

Como sua área pessoal é compartilhada, você pode utilizar qualquer equipamento do Laboratório Virtual para realizar a transferência.

Programas para transferência de arquivos

Também podem ser utilizados programas com interface gráfica compatíveis com SFTP, como:

Utilize os seguintes parâmetros:

  • Protocolo: SFTP;
  • Servidor: um dos equipamentos do Laboratório Virtual, por exemplo, lv05.lv.ime.unicamp.br;
  • Usuário: seu login no IMECC;
  • Porta: 22, quando solicitada.

Para conexões realizadas de fora da rede do IMECC, conecte-se previamente à VPN da Unicamp.

Execuções prolongadas

Programas executados diretamente em uma sessão SSH podem ser encerrados se a conexão for interrompida, por exemplo, devido a uma desconexão da rede ou da VPN.

Para programas que precisam permanecer em execução por períodos prolongados, recomenda-se utilizar o tmux.

O tmux permite criar uma sessão de terminal persistente. Os programas iniciados dentro dela continuam executando depois que você se desconecta do SSH, e a sessão pode ser retomada posteriormente.

Resumo do procedimento

  1. Crie a sessão: tmux new -s simulacao
  2. Execute seu programa normalmente.
  3. Desconecte-se da sessão pressionando Ctrl+B e, em seguida, D.
  4. Encerre normalmente sua conexão SSH.
  5. Posteriormente, conecte-se novamente ao mesmo equipamento e execute: tmux attach -t simulacao

Criando uma sessão

Depois de acessar o equipamento por SSH:

tmux new -s trabalho

O nome trabalho é apenas um exemplo. Utilize, de preferência, um nome que identifique a atividade:

tmux new -s simulacao

Inicie então normalmente o programa desejado.

Desconectando-se da sessão

Para sair temporariamente do tmux sem encerrar a sessão, pressione Ctrl+B, solte as teclas e, em seguida, pressione D.

A sessão e os programas executados nela continuarão ativos. Você poderá então encerrar a conexão SSH com:

exit

Retomando uma sessão

Conecte-se novamente ao mesmo equipamento por SSH e liste as sessões existentes:

tmux ls

Para retomar, por exemplo, a sessão trabalho:

tmux attach -t trabalho

Encerrando uma sessão

Quando o trabalho estiver concluído, encerre os programas e execute exit dentro da sessão do tmux.

Também é possível encerrar uma sessão a partir de outro terminal:

tmux kill-session -t trabalho

Utilize esse comando somente quando tiver certeza de que os processos daquela sessão podem ser encerrados.

Importante: as sessões tmux pertencem ao equipamento em que foram criadas. Uma sessão criada no lv05 somente poderá ser retomada no lv05. Isso é diferente da área pessoal de arquivos (home), que é compartilhada entre os equipamentos.

O tmux mantém a sessão quando a conexão SSH é encerrada, mas não protege os processos contra reinicializações, desligamentos ou falhas do equipamento. Em processamentos muito longos, sempre que o programa permitir, considere salvar resultados intermediários ou utilizar mecanismos de checkpoint.

Softwares e ambientes de programação

Softwares disponíveis

Os equipamentos possuem um conjunto de softwares destinados principalmente a atividades de computação científica, programação, cálculo e simulação.

Entre os principais softwares e ambientes disponíveis estão:

  • MATLAB;
  • Mathematica;
  • R;
  • Python;
  • Julia;
  • compiladores e ferramentas para desenvolvimento em C, C++ e Fortran.

A disponibilidade e as versões dos programas podem ser alteradas ao longo do tempo em decorrência de atualizações do sistema ou das necessidades do serviço.

Para verificar a versão instalada, quando aplicável:

python3 --version
R --version
gcc --version

Se você necessitar de um software que não esteja disponível, entre em contato com a Informática do IMECC pelo endereço informatica@ime.unicamp.br.

Sempre que possível, bibliotecas, pacotes e módulos utilizados em atividades individuais devem ser instalados na área pessoal do usuário, sem modificar a instalação geral do sistema.

Trabalhando com R

O ambiente R pode ser iniciado com:

R

Para sair:

q()

Instalação de pacotes

Os usuários podem instalar em sua área pessoal pacotes que não estejam disponíveis na instalação geral do R:

install.packages("nome_do_pacote")

Caso ainda não exista uma biblioteca pessoal configurada, o R poderá perguntar se você deseja criá-la. Responda afirmativamente.

Para carregar posteriormente o pacote:

library(nome_do_pacote)

Como a área pessoal é compartilhada entre os equipamentos, os pacotes instalados na biblioteca pessoal normalmente estarão disponíveis nos demais equipamentos, desde que sejam compatíveis com a versão do R e com o ambiente instalado.

Para executar diretamente um arquivo:

Rscript programa.R

Para processamentos demorados, execute o programa dentro de uma sessão tmux.

Trabalhando com Python

O Python 3 pode ser executado com:

python3

Para executar um programa:

python3 programa.py

Ambientes virtuais

Para instalar bibliotecas específicas para suas atividades, recomenda-se utilizar um ambiente virtual (venv). Isso mantém as dependências do projeto separadas dos pacotes instalados globalmente.

Para criar um ambiente:

python3 -m venv ~/venv

A criação é necessária apenas uma vez. Para ativá-lo:

source ~/venv/bin/activate

Com o ambiente ativo, instale normalmente os pacotes necessários:

pip install numpy
pip install pandas

Nas conexões seguintes, basta ativar novamente o ambiente:

source ~/venv/bin/activate

Para sair:

deactivate

Ambientes separados por projeto

Quando diferentes trabalhos utilizarem conjuntos distintos de bibliotecas ou versões de dependências, recomenda-se criar um ambiente para cada projeto:

python3 -m venv ~/venvs/projeto1

e ativá-lo com:

source ~/venvs/projeto1/bin/activate

Registrando as dependências

Para registrar os pacotes utilizados:

pip freeze > requirements.txt

Posteriormente, eles poderão ser instalados em outro ambiente com:

pip install -r requirements.txt

Para execuções prolongadas, ative o ambiente virtual e execute o programa dentro de uma sessão tmux.

Solução de problemas

Selecione abaixo o problema encontrado para consultar algumas verificações iniciais.

Não consigo me conectar a um equipamento

Verifique:

  • se o nome do equipamento está correto;
  • se sua conexão de rede está funcionando;
  • se a VPN da Unicamp está conectada, quando estiver fora da rede do IMECC;
  • se sua conta está habilitada para o Laboratório Virtual.

Tente também acessar outro equipamento. Se apenas um deles não responder, o problema pode estar restrito àquele equipamento.

Recebo a mensagem Permission denied

Verifique se está utilizando seu login correto no IMECC e informe novamente sua senha.

Se as credenciais estiverem corretas e o problema persistir, sua conta poderá não estar habilitada para o Laboratório Virtual.

Recebo REMOTE HOST IDENTIFICATION HAS CHANGED

Não ignore o aviso nem remova imediatamente a chave armazenada em seu computador.

A chave pode mudar legitimamente, por exemplo, após uma reinstalação, mas esse aviso também protege contra conexões com um equipamento diferente do esperado. Entre em contato com a Informática antes de aceitar a nova chave.

Minha conexão caiu e o programa parou

Programas executados diretamente na sessão SSH podem ser encerrados quando a conexão é interrompida.

Para execuções prolongadas, utilize tmux. Consulte a seção Execuções prolongadas.

Não encontro minha sessão tmux

Verifique se você se conectou ao mesmo equipamento em que criou a sessão e execute:

tmux ls

Uma sessão criada no lv05, por exemplo, não aparecerá no lv06.

O equipamento ou meu programa está muito lento

Execute:

htop

Verifique a utilização de CPU e memória. O equipamento pode estar sendo intensamente utilizado por outros usuários ou seu próprio programa pode estar consumindo grande quantidade de recursos.

Se houver outro equipamento menos utilizado, considere utilizá-lo.

Encerrei meu trabalho, mas ainda há processos em execução

Utilize htop para verificar seus processos.

Antes de encerrar um processo, certifique-se de que ele não pertence a uma sessão tmux em que algum trabalho ainda esteja sendo executado. Sempre que possível, encerre o processo normalmente pelo próprio programa.

Não consigo criar ou gravar arquivos

Verifique se está tentando gravar em sua área pessoal e se possui permissão de escrita no diretório.

Embora não sejam aplicadas quotas individuais, o espaço total de armazenamento é finito. Se o problema persistir, entre em contato com a Informática.

Preciso instalar um pacote do R ou Python

Para R, utilize sua biblioteca pessoal.

Para Python, utilize um ambiente virtual (venv) e instale nele as bibliotecas necessárias com pip.

Se a instalação depender de componentes do sistema que não estejam disponíveis, entre em contato com a Informática.

Preciso de um software que não está instalado

Entre em contato com a Informática do IMECC. Informe o software necessário e, se possível, forneça uma referência para sua página oficial ou documentação.

Obtendo ajuda

Se não conseguir resolver um problema com as orientações desta página, entre em contato com a Informática do IMECC:

informatica@ime.unicamp.br

Para facilitar o diagnóstico, informe, sempre que aplicável:

  • seu login no IMECC;
  • o equipamento utilizado, por exemplo, lv05;
  • a data e o horário aproximado em que o problema ocorreu;
  • uma breve descrição do que estava tentando fazer;
  • o comando executado; e
  • a mensagem de erro apresentada pelo sistema.

Sempre que possível, copie a mensagem de erro completa. Essas informações ajudam a identificar o problema e agilizam o atendimento.

Responsável pelas informações nesta página: 
Anônimo