ArtigosDestaque

Rosetta@Home: Ajuda a combater o COVID-19

Introdução

Como todos sabem, Portugal e o mundo está a fazer face a uma pandemia do COVID-19 e há uns dias coloquei um artigo de como, qualquer pessoa, com um computador pessoal pode ajudar, correndo o programa de computação distribuída Folding@Home.

A adesão a este projeto tem sido tão grande que os servidores deste têm sentido muita dificuldade a servir trabalho a todos os clientes. Isto faz com que muitos computadores fiquem, durante muito tempo sem processar trabalho.

No entanto, existe outro projeto de computação distribuída que também está a estudar o COVID-19.

Apresento-vos o projeto Rosetta@Home, que é executado na plataforma BOINC.

O Rosetta@Home é um projeto de computação distribuída, inserido na plataforma BOINC, que prevê e simula estruturas de proteínas, de maneira a descobrir formas de encaixe (docking) entre as mesmas e assim projetar novas proteínas para o desenvolvimento de tratamentos e vacinas contra várias doenças como Alzheimer, HIV, Malária, Herpes, etc. O projeto lançado de forma oficial a 6 de Outubro de 2005, pelo Baker Lab na Universidade de Washington.

Normalmente o R@H é comparado com o Folding@Home (F@H), outro projeto de computação distribuída (para quem não sabe o que é, veja aqui o excelente artigo sobre como pode ajudar a combater o COVID-19 no F@H), devido às semelhanças nas áreas de pesquisa, terminologias, objetivos, etc. Mas os dois são de facto diferentes.

De uma forma muito simplificada, o R@H prevê estruturas e encaixes de proteínas enquanto o F@H executa simulações de enrolamentos (folding) das mesmas.

Neste momento o Rosetta@Home está focado no combate ao COVID-19 e com a instalação do BOINC podes ajudar com o teu computador.

Informações importantes sobre a utilização do programa antes da instalação

Normalmente este tipo de informação vem depois dos passos da instalação e fica muitos vezes esquecida ou mesmo ignorada. Neste caso é importante lerem primeiro, pois este é um passo fundamental antes da instalação de qualquer programa de computação distribuída no vosso computador.

  1. Consumo energético – O aumento de processamento reflete-se no consumo energético. A subida de consumo com a utilização deste programa depende do tipo de computador e das horas de utilização.

    Se quiserem saber ao certo quanto gasta o vosso sistema precisam de um medidor de consumo de energia. Encontram-se com facilidade em lojas de eletrónica e não são muito caros.
  2. Hardware – Este programa utiliza o processador (CPU) de uma forma intensa, o que se traduz num aumento da temperatura do mesmo e do resto dos componentes do sistema. Se o computador estiver limpo e com a manutenção em dia (sem pó, ventilação desimpedida, pasta térmica em condições, etc), os componentes do mesmo devem trabalhar dentro dos limites normais de temperatura definidas pelos respetivos fabricantes, garantido assim o normal funcionamento do sistema durante a utilização do programa. Caso contrário, o computador irá perder performance ou mesmo, no pior caso possível, danificar componentes.

    Podem utilizar programas gratuitos como o HWMonitor ou o HWiNFO para monitorizarem as temperaturas nos primeiros dias de utilização do Rosetta@Home, para garantir que o computador está a pronto a ajudar.

    Nota: O  Rosetta@Home não utiliza o processador gráfico (GPU) para processar as suas unidades de trabalho, mas já foi mencionado várias vezes pelo projeto que no futuro pode vir a utilizar.

Tutorial de como instalar e configurar o Rosetta@Home em Windows

A instalação e configuração do Rosetta@Home é relativamente fácil. O primeiro passo é abrir o Browser e aceder a https://boinc.berkeley.edu/ .

Dentro do site do BOINC, basta carregar no botão “Download BOINC“.

Na página seguinte temos duas possibilidades para o download, o executável nativo de Windows, que é o que vou usar para este artigo, ou uma máquina virtual “Virtualbox” que tem um sistema operativo e programa já pronto a ser executado.
Esta última hipótese é mais útil em sistemas operativos que não seja Windows e tem como contra, a perca de alguma performance, por ser executado dentro de uma máquina virtual.
No entanto, quase toda a configuração também se aplica, se quiserem utilizar esta opção.

Basta clicar em “Download BOINC“. para efectuar o download do cliente.

Depois de efectuado o download, basta acedermos, pelo Explorador de Ficheiros ao local onde foi feito o download e executarmos o programa.

O Setup do programa é iniciado. É recomendado fechar outros programas abertos, mas não é obrigatório. Em seguida, basta clicar no “Next“.

Em seguida são-nos mostradas diversas opções:

  1. A localização dos ficheiros do programa BOINC.
  2. Onde fica localizado o trabalho que será efetuado pelo programa BOINC.
  3. Se queremos que o Screensaver do BOINC fique activo.
  4. Se queremos instalar o BOINC como um serviço de Windows, fazendo com o BOINC efectue o seu trabalho, sem ser preciso estar um utilizador autenticado no Windows.
  5. Se todos os utilizadores do Windows podem controlar o BOINC.

Se quiserem alterar alguma destas opções, carreguem no botão “Advanced“.

  1. A localização dos programas normalmente fica na drive de Sistema do Windows em “C:\Program Files\BOINC“, no entanto, se tiverem os programas noutra drive, por questão de espaço ou outra, podem alterar nesta opção
  2. O mesmo acontece com o trabalho do BOINC, normalmente fica na drive de Sistema do Windows em “C:\ProgramData\BOINC“. De notar que, quando ele efetua o download de várias unidades de trabalho, ele pode ocupar alguns Gigabytes.
  3. Se queremos ativar o screensaver do BOINC, escolhe-se esta opção.
    Hoje em dia, não faz grande sentido ter um screensaver, a não ser em ecrãs OLED. Além disso, enquanto mostra o screensaver, está a usar alguns recursos do próprio computador, que podem ser usados pela computação do BOINC.
  4. A opção seguinte é “Service Install“, em que o programa é iniciado no arranque do Windows, ainda antes do utilizador se autenticar e sem ser mesmo preciso que o utilizador se autentique. Esta opção não funciona, se estivermos a utilizar a gráfica do computador. No entanto o projeto Rosetta@home não utiliza a gráfica, por isso, com este projeto, pode-se escolher esta opção, sem qualquer ponto contra.
  5. A última opção é se queremos que todos os utilizadores do Windows possam controlar o BOINC. Isto só é útil em computadores com mais que um utilizador.

Depois de escolhidas todas as opções, basta efetuar a instalação do programa, carregando no botão “Install“.

Se quiserem arrancar logo de seguida, é só escolher a opção “Launch the BOINC Manager” e carregar em “Finish“.

O programa BOINC ao arrancar, a primeira pergunta que faz é, que projeto nos queremos juntar. Aqui, no menu com a listagem de projetos, é só escolher “Rosetta@Home” e carregar em “Next“.

Em seguida, podem efetuar o login, se já tiverem um utilizar BOINC. Caso não tenham, basta introduzir o vosso email e uma palavra passe, carregando por fim em “Next“.

A instalação e configuração básica está concluída carregando em “Finish”. A partir daqui o cliente BOINC com o projeto Rosetta@Home já está a utilizar os recursos do computador para combater o COVID-19.
Tudo o que vem a seguir são opções mais avançadas.

A clicarem em “Finish” no ecrã anterior, serão redirecionados para uma página Web, onde poderão concluir os detalhes da vossa conta BOINC.

A primeira opção é a de Nome e, opcionalmente, podem colocar o Código Postal.

Em seguida, podem escolher uma equipa, para se juntarem à equipa Portugal@Home, basta escreverem Portugal@Home no campo “Key words” e Portugal no campo “Country“, finalizando clicando em “Search” para iniciar a procura.

Será mostrada uma listagem de equipas, mas o primeiro resultado será a da equipa Portugal@Home. Basta carregar no link dela, para entrar na página da equipa.

Para se juntarem à equipa, basta clicar no link “Join this team“.

Selecionado esse link, será mostrado uma página Web, com todos os detalhes do vosso utilizador.

Voltando ao cliente nativo do BOINC em Windows, o ecrã principal é uma vista simples do programa. Para se ter acesso à vista completa, basta ir a “View” e “Advanced View…

Na primeira aba, “Notices” é a aba onde aparecem anúncios importantes do BOINC e do projeto.

Na segunda aba, temos os projetos que estamos associados. Pode-se estar associado a mais que um projeto. Neste caso, só está o Rosetta@Home. Do lado esquerdo, temos várias opções, como atualizar o projeto, suspender, não efetuar mais downloads desse projeto, reset, remover e propriedades do projeto.

Na parte de baixo, podemos aceder à página de entrada Web do projeto, aceder aos fóruns, a nossa conta, os nossos trabalhos e aceder à página da equipa.

Por exemplo, quando clicamos em “Properties“, temos acesso a toda os dados relacionado com o projecto.

Na janela seguinte, temos outra janela importante, “Tasks“, onde podemos ver as unidades de trabalho que estão a ser trabalhadas e as que foram feitas download, que estão à espera de serem trabalhadas, quando chegar à sua vez.

Do lado esquerdo, temos diversos botões com opções, para mostrar só as unidades que estão ativas, para mostrar em tempo real uma janela com o trabalho que está a ser feito, suspender, cancelar a unidade, mostrar as suas propriedades.

Por baixo, temos os mesmos botões que já existiam no ecrã anterior, para aceder à página do projeto, perfil, etc.

Por exemplo, quando clicamos em “Properties“, aparece uma janela com as propriedades detalhadas da unidade que está no nosso computador. Informações como o espaço ocupado em disco, memória, % feita, hora a que é esperado que acabe o trabalho, etc.

Uma janela interessante é de “Show Graphics“, onde podemos ver em tempo real o trabalho que está a ser feito pelo nosso computador, naquela unidade de trabalho.

A visualização do trabalho é esta janela com diversos dados do que está a ser feito pelo computador.

Na aba seguinte, “Transfers”, podemos ver o movimento que está a ser feito a nível de rede, com os servidores centrais do projeto. Isto é, o envio e receção de unidades de trabalho.

No ecrã seguinte temos “Statistics”, onde podemos aceder a todo o tipo de estatísticas do projeto, utilizador e máquina.

A janela seguinte, “Disk”, é importante, especialmente para quem não tem muito espaço em disco.
Aqui podemos ver quanto espaço em disco está a ser utilizado pelo BOINC e por cada projeto.
Como vermos mais adiante, há forma de impor limitações.

Nos menus superiores temos várias opções e vou mostrar as mais importantes.
Primeiro a opção “Activity”, onde podemos escolher que o trabalho e a rede cumpram com as definições que colocamos, podemos suspender ou podemos abrir os limites e correr com todos os recursos que temos disponíveis.

Na opção “Tools”, podemos adicionar novos projetos, aceder ao nosso perfil, correr um benchmark do processador, para nos informarmos da performance que tem, podemos tentar novamente processos de rede que tenham falhado e por fim, algo muito importante, aceder ao log do programa, para o caso de termos que despistar algum problema.

A opção seguinte, “Options” é a mais importantes, porque é onde temos acesso a todo o tipo de opções, mesmo opções avançadas, que queiramos configurar.

A primeira opção é “Computing preferences…” e é muito importante para quem queira limitar certos recursos do computador para o BOINC.

Dentro destas preferências, a primeira aba é é de “Computing“.

Em “Usage Limits“, podemos limitar até que % o BOINC pode usar o nosso processador e a % de tempo que pode ser usado.

Em “When to suspend”, também se pode configurar para ele suspender o trabalho quando o computador está a usar a bateria, o que é importante em computadores portáteis.
Podemos suspender quando o computador está em uso, suspender o trabalho na gráfica quando o computador está em uso (Não aplicável no projeto Rosetta@Home, porque não usa a gráfica).
Podemos configurar quanto tempo o BOINC está em uso, através do tempo de utilização do teclado e rato.
Podemos também suspender o trabalho no BOINC quando o processador ultrapassa certa percentagem.

Por fim, em “Other”, podemos escolher quantos dias de trabalho mínimo e máximo queremos ter em disco. Ter em atenção que se o vosso computador for muito rápido e se colocarem muitos dias, vão efetuar download de muitas unidades e vão ocupar vários GB em disco.
Podemos escolher também qual o período de tempo que ele tem para alternar entre unidade e quantos segundos queremos entre cada ponto de resumo da unidade que está a ser trabalhada. Esta opção é importante, porque em caso de algum erro ou crash, ele recomeça o trabalho a partir do último ponto em que guardou o trabalho efetuado.

Na segunda aba, “Network“, podemos escolher vários limites a nível de rede.

Em “Usage limits” podemos escolher a velocidade máxima de download e upload das unidades de trabalho. Podemos também limitar quanto Megabytes podem ser usados por certo número de dias. Este valor de dias também pode ser alterado.

Em “Other“, podemos optar por não verificar a integridade do trabalho que foi feito download (não aconselhado), se queremos confirmar o acesso antes de ele se ligar à Internet e se queremos desligar quando o download/upload tiver acabado.

A terceira aba, “Disk and memory” é a janela onde se podem colocar limites ao uso de disco e memória.

Em “Disk“, podemos escolher para o BOINC não usar mais que X Gigabytes, para deixar, pelo menos X Gigabytes livres e para não usar mais que uma certa percentagem do disco.

Em “Memory”, podem definir que o BOINC não pode usar mais de uma certa percentagem, quando o computador está a ser usado e quando o computador não está a ser usado.
Pode-se escolher para os projetos que não correm na gráfica, ficarem em memória, quando são suspensos. Isto faz usar mais memória, mas também faz com que eles sejam restaurados de suspensão mais rapidamente.
Por último, pode-se também definir para ele não usar mais que uma percentagem de swap file.

Na último aba “Daily schedules“, podemos agendar por hora e dia, quando ele pode usar os recursos da máquina e quando ele pode usar a rede.

A opção seguinte é “Exclusive applications…“, que pode ser bastante útil porque podemos configurar quando é que ele suspende o trabalho, consoante aplicações que são usadas.

Na primeira caixa, podemos dizer que, se certo programa estiver a ser executado, à nossa escolha, o BOINC tem que suspender o trabalho de processador e rede. Isto é importante em aplicações onde queremos usar todos os recursos de processador e rede.

Na segunda caixa, podemos fazer o mesmo em trabalhos que usem a gráfica. Útil em jogos de computador, por exemplo. Mais uma vez, não se aplica ao Rosetta@Home, por não usar a gráfica.

A opção seguinte é “Event Log Options…“, onde podemos escolher que detalhes devem ser escritos para o log local do BOINC.

As opções que se pode fazer log são muito variadas e detalhadas. Em uso normal, não se devem adicionar mais que as por defeito, porque depois o ficheiro de log vai ocupar muito espaço.
No entanto, esta variedade e detalhe é muito útil quando se está a diagnosticar um problema.

A última opção importante é “Other options…“, onde temos muitas outras opções que não estão nas categorias anteriores.

A primeira aba dentro desta opção é “General“, onde podemos configurar em que linguagem queremos que o BOINC seja apresentado, de quanto em quanto tempo queremos que ele nos avise de avisos que chegam à categoria “Notices“, se queremos que o Manager e Client do BOINC seja iniciado no login do Windows e por sim, se queremos que apareça um diálogo para confirmarmos, quando fechamos o Manager.

Na aba seguinte tempo “Conections“, onde podemos colocar que a ligação à Internet do BOINC não passa pela rede principal que temos no computador, mas sim por uma rede virtual privada (VPN) ou por uma ligação Dial-up.

Na terceira e quarta aba temos opções para configurar a ligação por uma proxy HTTP e/ou SOCKS. Isto não costuma ser utilizado em ligações domésticas. É mais comum em ligações dentro de empresas.

Conclusão

No artigo anterior, com o tutorial do Folding@Home, escrevi que “o COVID-19 é um pandemia que apanhou o mundo de surpresa e a eficácia do combate a esta depende muito do comportamento geral de cada sociedade, em todos os momentos do dia a dia. O teste que nos é colocado é como conseguimos ser resistentes e perseverantes no comportamento em grupo, o que requer muita disciplina de cada um. Somos chamados, como povo, a dar o melhor de cada um de nós. “
Isto continua a ser verdade ao dia de hoje e além disso, tem que ter bastante paciência, porque este não é um problema que se resolva de um dia para o outro, ou até mesmo de uma semana para a outra.
Além disso, as nossas ações não têm resultados imediatos e isso também se aplica a estes projetos de computação distribuída. Toda a ajuda é bem-vinda, mas mesmo com todo este poder computacional, os resultados vão ter que ser estudados com cuidado e as experiências terão que ser cuidadosas.
Este trabalho não é algo que tenhamos uma recompensa imediata, mas ao mesmo tempo, é fundamental para o estudo do COVID-19 por parte dos investigadores. Felizmente, temos estas ferramentas ao nosso dispor, nos dias de hoje.

Bem-vindos ao projecto!!!

Nota: Um agradecimento ao @phazon, que escreveu parte do artigo, @JPgod, por ter dado a ideia para o artigo e ao @Metro, por ter revisto o artigo.

Artigos Relacionados

Botão Voltar ao Topo