[Pesquisar este blog]

segunda-feira, 24 de agosto de 2015

Computação em Grade & Voluntarismo

Não é bacana quando a tecnologia contribui de maneira inovadora para sociedade? Não é ainda melhor quando isto não apenas promove o desenvolvimento científico e tecnológico, mas também permite auxiliar, mesmo que indiretamente, comunidades carentes? Esta é a proposta do World Community Grid, uma iniciativa da IBM cuja proposta é explorar a capacidade computacional ociosa existente no mundo para benefício da humanidade.



Os microcomputadores fazem parte de nosso cotidiano, sendo comum encontrá-los em toda parte: estabelecimentos comerciais, bancos, empresas, repartições públicas e, também, com as pessoas, na forma de notebooks, tablets e desktops. São mais de um bilhão de microcomputadores.

O potencial deste enorme contigente de equipamentos, quando somado, representa a maior parte do poder computacional disponível no mundo. Isto sem contar com os muitos milhões de smartphones, smart TVs, consoles de jogos e outros dispositivos capazes de realizar o processamento de dados. Nos próximos anos espera-se que este segmento possua capacidades bastante superiores de todos os supercomputadores e datacenters existentes.

Esta é uma mudança crítica, pois é natural que todo sistema computacional disponha de alguma capacidade ociosa. Isto é ainda mais significativo nos computadores pessoais, que raramente utilizam mais do que 50% de seu processamento de maneira contínua. Assim, atividades de pesquisa que requerem capacidades de processamento vultuosas poderiam ser beneficiadas pelo uso destes recursos ociosos.

Problemas que requerem quantidades fabulosas de processamento são, por exemplo, simulações climáticas para entender o aquecimento global; testes de novos algoritmos de criptografia para segurança das pessoas e aplicações; pesquisas para novos materiais para filtragem de água ou captação de energia solar; sem considerar as inúmeras necessidades na área da saúde e agricultura, que envolvem simulação de novos produtos químicos e protocolos diferenciados.

É aqui que o BOINC entra em cena.

BOINC

O Berkeley Open Infrastruture for Network Computing é uma sofisticada plataforma pública de computação em grade desenvolvida pela Universidade da Califórnia, mais conhecida como Berkeley University.




O termo computação em grade ou grid computing se refere a uma organização particular de computadores conectados por uma rede onde cada equipamento pode ser acessado individualmente. Cada computador da grade pode, simultanea e paralelamente, executar um programa, assim, quanto maior o número de computadores conectados, maior a capacidade conjunta de processamento. Isto caracteriza um modelo de arquitetura de um computador virtual na qual a infraestrutura comum de rede permite reunir os recursos de muitos computadores separados, proporcionando um desempenho extraordinário, comparável ou superior ao de supercomputadores.

O BOINC é uma solução tecnológica que oferece uma base sólida para construção de um enorme ambiente de processamento distribuído que exibe características únicas. Por meio do BOINC é relativamente simples converter uma aplicação de alta demanda computacional existente em um projeto de computação pública.

Cada projeto pode ser distribuído em servidores e banco de dados próprios, tornando-o autônomo e independentes de outros projetos. Os servidores de um projeto dividem o trabalho computacional necessários em unidades de trabalho relativamente pequenas, isto é, que podem ser completamente processadas em equipamentos comuns (microcomputadores domésticos e notebooks por exemplos) em poucas horas.

Com o uso de um programa cliente do BOINC, os proprietários destes equipamentos comuns podem se registrar em um ou mais projetos para compartilhar seus recursos ociosos com a infraestrutura do BOINC. Assim, o programa cliente do BOINC efetua o download de unidades de trabalho, executando-as localmente e enviando, assim que possível, os resultados obtidos para os servidores do projeto.

Deve-se destacar que o cliente BOINC utiliza os recursos ociosos do computador, ou seja, somente efetua o processamento das unidades de trabalho quando não existem programas e serviços do usuário em uso, tornando quase imperceptível sua presença no sistema. Nem mesmo o consumo de energia sofre alteração substancial, visto que a atuação do BOINC usa os períodos em que o computador permanece ligado, mas com baixa demanda de processamento (por exemplo, a requerida durante o preparo de texto, a leitura de documentos e outras atividades de baixa complexidade computacional).

Além disso, o cliente BOINC pode ser livremente configurado para utilização dos recursos do computador onde, a critério exclusivo de seu proprietário, determinam-se o número de processadores ou núcleos usados; o nível de ociosado empregado; o espaço ocupado em memória e disco; e a frequência de uso da rede. É possível, inclusive, determinar percentuais de dedicação para projetos distintos.

Outro aspecto interessante do BOINC é que os tempo de processamento doado, calculado com base em cada processador utilizado, e os resultados obtidos são pontuados, possibilitando criar um ranking de usuários registrados nos projetos. Os usuários também podem formar times, possibilitando diferentes formas de competição saudável.

Hoje o BOINC é utilizado por diferentes projetos de computação pública ao redor do mundo. Dois dos mais significativos são SETI@home e World Community Grid.

O projeto SETI@home (Search for Extra-Terrestrial Intelligence at home), lançado em 1999, tem como objetivo identificar sinais de rádio emitidos por possíveis civilizações inteligentes fora da terra. O projeto SETI@home conta mais de um milhão de participantes ao redor do mundo, cujo processamento associado é superior a 60 TeraFLOPS (trilhões de operações em ponto flutuante por segundo).

Se o SETI@home pode parecer algo diferente ou até excêntrico, o World Community Grid é bastante diferente disso.

World Community Grid

O World Community Grid (WCG), lançado em 2004 pela IBM, tem como propósito explorar as capacidades não utilizadas de microcomputadores de indivíduos e organizações direcionando seu uso para projetos de natureza científica, educacional ou filantrópica.


Numa infraestrutura mantida pela IBM residem os servidores BOINC que administram diversos subprojetos independentes. Um equipe de profissionais da IBM auxilia a transformação de projetos computacionais selecionados em aplicações distribuídas para o BOINC, permitindo que possam ser executadas por qualquer cliente BOINC conectado na internet. A seleção destes projetos respeita uma série de critérios relacionados à sua criticidade, impacto social e real necessidade de processamento extremo.

Para processar o projetos selecionados, quanto mais clientes registrados melhor, pois mais rapidamente os resultados serão obtidos e disponibilizados para as equipes de cientistas e pesquisadores de cada projeto. Até o presente, o WCG suportou mais de 24 grandes projetos de pesquisa, incluindo a pesquisa por alternativas mais efetivas para o tratamento do câncer, do HIV/AIDS e de uma série de doenças tropicais.

World Community Grid


São mais de 650.000 indivíduos e 460 organizações que contribuem com a maior iniciativa computacional voluntária devotada a ciência humanitária.

Assim, ao se registrar no WCG, os proprietários dos computadores tornam-se voluntários que doam processamento para projetos que objetivam o combate a doenças como malária, câncer infantil, leishmaniose, distrofia muscular, ebola; além de pesquisas para o desenvolvimento de fontes de energia sustentáveis; cultivo otimizado de cereais; entre outros.

Considerando que o impacto individual em termos consumo de energia, consumo de banda de rede e desgaste do computador são mínimos, percebe-se que contribuir com os projetos do WCG é muito simples. Mas os resultados da contribuição dos milhares de voluntários do WCG são muitíssimo significativos, pois quase sempre, demandariam um período inviável de tempo para serem obtido com recursos próprios de cada instituição!

É, de fato, sensacional!

Eu contribuo, e você, não gostaria de participar?


Como participar

Para participar é muito fácil também.

(1) Registre-se no WCG utilizando o link abaixo!


(2) Faça o download de uma versão do BOINC. Sugestão, use a versão portable, cujo link segue.


(3) Após instalar, basta selecionar o projeto World Community Grid e indicar seu usuário e senha de registro!