BOINC - Computação distribuída e aplicações científicas

O presente artigo descreve a instalação e uso do pacote BOINC como sistema de Computação Distribuída e seus diversos usos científicos e técnicos.

[ Hits: 41.770 ]

Por: Alberto Federman Neto. em 02/06/2008 | Blog: https://ciencialivre.blog/


Computação Distribuída e BOINC. Introdução e Histórico.



Alguns leitores aqui do VOL já devem conhecer o BOINC. Em um artigo antigo:
O BOINC é citado, com ênfase em seu uso no âmbito do projeto SETI, de busca de Vida inteligente extraterrestre.

Neste novo artigo, as novas versões do BOINC são citadas e utilizadas, bem como seu uso em vários projetos de interesse científico ou de alta Tecnologia.

Dá-se o nome de Computação Distribuída ao conjunto de métodos inseridos dentro da Computação de Alto Desempenho, que utilizam o tempo ocioso de CPU de muitos microcomputadores, funcionando ao mesmo tempo e espalhados pelo mundo todo (via Internet), para realização de tarefas que requerem altíssima capacidade de processamento.

Deste modo, é como se os cálculos fossem realizados por um conjunto ("cluster") de milhares e milhares de CPUs simultâneamente, realizando esses cálculos com incrível rapidez!

A Computação Distribuída foi descoberta e utilizada pela primeira vez, na década de 80, pelos cientistas americanos JOHN SOCH e JON HUPP:

http://research.swtch.com/2008/02/worms-and-distributed-computations.html

e nesta época, era apenas uma Intranet com algumas máquinas inter-conectadas através de um protocolo Ethernet simplificado e hoje clássico (desenvolvido por METTCALF & BOGGS, 1976).

Entre as décadas de 60 e 70, a NASA desenvolveu alguns programas de busca de Vida inteligente fora da Terra. Inicialmente, através do projeto Orion, depois SARS. Ao conjunto de projetos, dá-se o nome geral de SETI ("Search for Extraterrestrial Inteligence", busca de Vida inteligente extraterrestre:

Bastante polêmicos e criticados, os projetos SETI foram abandonados pela NASA, no início dos anos 70, mas retomados entre 1988 e 1992 (criação do Instituto SETI, hoje "SETI League").

Em conjunto com o Instituto SETI, a Universidade de Berkeley lançou o programa científico SERENDIP, no qual aplicou Computação Distribuída via micros domésticos, o projeto SETI Home.

Até o momento, não há sinais radiotelescópicos conclusivos sobre Vida extraterrestre inteligente, mas existem alguns sinais de radio de difícil explicação, considerados promissores por alguns cientistas:
Em 1992, pesquisadores da Universidade de Berkeley desenvolveram o software BOINC ("Berkeley Open Infrastructure for Network Computing", Infraestrutura aberta para computação distribuída via rede de Berkeley), inicialmente inventado para facilitar a utilização de micros domésticos no programa SETI Home.

Logo em seguida, foi utilizado também para previsão climática.
    Próxima página

Páginas do artigo
   1. Computação Distribuída e BOINC. Introdução e Histórico.
   2. Baixando BOINC
   3. Instalando
   4. Rodando e configurando
   5. Conectando aos projetos e utilizando
   6. Observações adicionais
Outros artigos deste autor

Para iniciantes: Deu tela preta? Não se desespere!

Experimentos com GNOME3 em instalações contendo outros ambientes gráficos

Linux no Pendrive: Definitivamente configurável e persistente

Emmi Linux - Uma Revisão, Primeiras Impressões e Testes

Associando teclas a comandos, tarefas ou aplicativos... com toda facilidade

Leitura recomendada

Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)

VivoZAP - Placa pcmcia

Compartilhando acesso à internet com iptables

Como hospedar um site no seu próprio micro

Configurando wireless no Ubuntu 7.04 e compartilhando a conexão

  
Comentários
[1] Comentário enviado por Pianista em 02/06/2008 - 14:19h

Gostei! embora não tenha lido por completo, mas já adicionei nos favoritos para dar uma olhada depois.. Valew!

[2] Comentário enviado por albfneto em 13/10/2008 - 19:14h

Procedimento Alternativo.... Baixando e Atualizando BOINC fácilmente:

1)Baixe o BOINC de:

http://boinc.berkeley.edu/download_all.php

2)Para evitar duplicação de BOINC problemas de memória, bem como para não precisar criar grupo adicional salve o script do boinc (o baixado) exatamente na pasta abaixo, sua pasta de usuario e opere somente nas pastas recomendadas. Se fizer diferente, terá de alterar os scripts.

$ cd /home/USUARIO E substitua USUARIO pela sua pasta user...
/home/USUARIO/ $ ls boinc_6.3.14_i686-pc-linux-gnu.sh
/home/USUARIO/ $ su e sua senha de root
/home/USUARIO/ # chmod +x boinc_6.3.14_i686-pc-linux-gnu.sh
/home/USUARIO/ # ./boinc_6.3.14_i686-pc-linux-gnu.sh

3) Terá sido criada uma pasta BOINC, navegue até ela, e execute os comandos:

/home/USUARIO/ # cd BOINC
/home/USUARIO/BOINC # cp binstall.sh /home/USUARIO
/home/USUARIO/BOINC # cd /home/USUARIO
/home/USUARIO # chmod +x binstall.sh
/home/USUARIO # ./binstall.sh

ou:

/home/USUARIO/ # cd BOINC
/home/USUARIO/BOINC # ./run_client
/home/USUARIO/BOINC # ./run_manager


4) Vai aparecer uma mensagem para executar boinc manager, ou ele vai abrir a tela gráfica e estará sendo executado.

para executar o BOINC sempre no boot, execute os comandos:

$ su e sua senha de root
# gedit /etc/profile

5) E adicione as linhas abaixo, no final do arquivo profile, e salve:

# comandos para iniciar automáticamente o BOINC.
# modificado por Alberto Federman Neto.
#Substitua USUARIO pelo nome de sua pasta /home/...

cd /home/USUARIO/BOINC
./run_client && ./run_manager &

6) Feche a sessão , o Linux e reinicie o micro.

7) Para atualizar, baixe o BOINC novo (o novo script) e repita os passos de 2 a 5.

8) Assim vai ficar o arquivo /etc/profile.

# /etc/profile: login shell setup
#
# That this file is used by any Bourne-shell derivative to setup the
# environment for login shells.
#

# Load environment settings from profile.env, which is created by
# env-update from the files in /etc/env.d
if [ -e /etc/profile.env ] ; then
. /etc/profile.env
fi
export EDITOR=${EDITOR:-/bin/nano}
export PAGER=${PAGER:-/usr/bin/less}

# 077 would be more secure, but 022 is generally quite realistic
umask 022

# Set up PATH depending on whether we're root or a normal user.
# There's no real reason to exclude sbin paths from the normal user,
# but it can make tab-completion easier when they aren't in the
# user's PATH to pollute the executable namespace.
#
# It is intentional in the following line to use || instead of -o.
# This way the evaluation can be short-circuited and calling whoami is
# avoided.
if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"
else
PATH="/usr/local/bin:/usr/bin:/bin:${PATH}"
fi
export PATH
unset ROOTPATH

if [ -n "${BASH_VERSION}" ] ; then
# Newer bash ebuilds include /etc/bash/bashrc which will setup PS1
# including color. We leave out color here because not all
# terminals support it.
if [ -f /etc/bash/bashrc ] ; then
# Bash login shells run only /etc/profile
# Bash non-login shells run only /etc/bash/bashrc
# Since we want to run /etc/bash/bashrc regardless, we source it
# from here. It is unfortunate that there is no way to do
# this *after* the user's .bash_profile runs (without putting
# it in the user's dot-files), but it shouldn't make any
# difference.
. /etc/bash/bashrc
else
PS1='\u@\h \w \$ '
fi
else
# Setup a bland default prompt. Since this prompt should be useable
# on color and non-color terminals, as well as shells that don't
# understand sequences such as \h, don't put anything special in it.
PS1="${USER:-$(type whoami >/dev/null && whoami)}@$(type uname >/dev/null && uname -n) \$ "
fi

for sh in /etc/profile.d/*.sh ; do
[ -r "$sh" ] && . "$sh"
done
unset sh

# comandos para iniciar o boinc.
cd /home/albfneto/BOINC
./run_client && ./run_manager &

NOTA; Uma nova Comunidade sôbre o BOINC.
"United BOINC"

http://www.unitedboinc.com/

[3] Comentário enviado por albfneto em 19/02/2009 - 03:32h

ADENDOS AO ARTIGO:

1)Todas as versões de BOINC ainda existenres podem ser baixadas de:

http://boinc.berkeley.edu/dl/?C=M;O=D

2)Correção de erro no BOINC.
Se o BOINC não executar, e dizer que não acha a biblioteca lissh, faça um link simbólico exatamente como nosso amigo EDPS, aqui do VOL, indicou (embora para outro uso, com PacMan):

ln -s /usr/lib/libssl.so.1.0.0 /usr/lib/libssl.so.0.9.8

[4] Comentário enviado por pinduvoz em 16/11/2010 - 15:10h

Mais um bom artigo do Alberto (e já são mais de 20).

Parabéns, Alberto, pela sua grande colaboração na difusão do SL.

[5] Comentário enviado por eudu em 10/12/2010 - 11:21h

Bom artigo.

Agora o BOINC está disponível (que sei com certeza) pelo repositório para Ubuntu.

Um detalhe. Eu havia baixado o cliente do site (o arquivo .sh) rodando em meu humilde AMD Sempron 3600 (1 CPU) os resultados foram:

CPU 100% (2GHz)
1215 floating point MIPS (Whetstone) per CPU
2954 integer MIPS (Dhrystone) per CPU

CPU modo economia de energia (800MHz)
487 floating point MIPS (Whetstone) per CPU
1141 integer MIPS (Dhrystone) per CPU


Repeti várias vezes o Benchmark, mas esse foi a média (garanti que a CPU não estivesse em uso).

Após instalar usando o apt-build o resultado do Benchmark melhorou um pouco:

CPU 100% (2GHz)
1260 floating point MIPS (Whetstone) per CPU
4099 integer MIPS (Dhrystone) per CPU

CPU modo economia de energia (800MHz)
502 floating point MIPS (Whetstone) per CPU
1628 integer MIPS (Dhrystone) per CPU

Não sei até que ponto a otimização do apt-build pode realmente melhorar o processamento, mas pelo menos no Benchmark houveram diferenças (principamente nos Dhrystone).

Mais sobre o apt-build em: http://www.vivaolinux.com.br/artigo/Compilando-facilmente-com-o-aptbuild

[6] Comentário enviado por jarlisson em 23/07/2012 - 05:50h

excelente. deixo sempre rodando, não me atrapalha em absolutamente nada.
nem mesmo quando jogo Age of Empires III


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts