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:
- Se estiver fora da rede do IMECC, conecte-se à VPN da Unicamp.
- Escolha um dos equipamentos disponíveis.
-
Abra um terminal e conecte-se por SSH:
ssh seu_login@lv05.lv.ime.unicamp.br -
Utilize sua área pessoal (
home) para armazenar os arquivos necessários. Essa área é compartilhada entre os equipamentos do Laboratório Virtual. - Antes de iniciar um processamento que utilize intensivamente CPU ou memória, verifique a utilização do equipamento.
-
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
-
Crie a sessão:
tmux new -s simulacao - Execute seu programa normalmente.
- Desconecte-se da sessão pressionando Ctrl+B e, em seguida, D.
- Encerre normalmente sua conexão SSH.
-
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:
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.