Análise de Ferramentas para Grid Computing e aplicabilidade em Telemedicina Aluno



Baixar 107.07 Kb.
Encontro18.09.2019
Tamanho107.07 Kb.

U
niversidade Federal de Pernambuco

Graduação em Ciência da Computação



Centro de Informática



Análise de Ferramentas para Grid Computing e aplicabilidade em Telemedicina


Aluno: Germano de Freitas Guimarães

Professor: Carlos André Guimarães Ferraz
1º de agosto de 2002

Contexto


Os limites impostos pelo desenvolvimento de tecnologias que possibilitem um aumento significativo no poder computacional de um processador doméstico, ou mesmo em supercomputadores, inviabilizam a resolução de inúmeros problemas computacionais atuais. Estamos presos a limites físicos (tamanho dos transistores, temperatura de funcionamento, etc) e financeiros já que poder de processamento custa caro e muitas vezes o custo/benefício não justifica o gasto.



Nesse contexto, muitas aplicações são tidas com inviáveis e são abandonadas, seja porque o projeto necessitaria de milhões de dólares para pagar o custo computacional, ou por conta do tempo que seria gasto com os recursos computacionais disponíveis. O usuário comum também passa por esse tipo de problema ao necessitar de um poder computacional não disponível em seu computador.

Paralelo a tudo isso vemos a internet com um número cada vez maior de computadores interligados. A cada nove meses aproximadamente, a largura de banda da rede dobra[1]. Há muitos anos, todos os dias, milhões de milhas de fibra óticas são lançadas[1] tendo assim, um preço acessível e facilitando a comunicação entre os computadores na rede.

Observando-se o número de computadores interligados pela internet e analisando a porcentagem quantos deles estão sempre rodando processos pesados enquanto navegam pela rede, descobriremos a ociosidade de processamento na maioria deles. Podemos contar também com os computadores que estão sempre ligados mas passam a maior parte do tempo sem um usuário logado nem processos rodando. O poder computacional desperdiçado nessas máquinas é enorme sem falar da energia elétrica que está sendo gasta sem nenhum objetivo que não seja a máquina estar sempre pronta para um usuário se logar. Grandes e pequenas instituições que possuem computadores em rede utilizam esta postura de não desligar seus computadores no momento que o usuário o deixa.

Juntando essas três informações (limites na tecnologia de processadores mais rápidos, aumento na largura de banda e no número de computadores interligados na internet e a ociosidade que a maioria deles dispõe) foi que se originou a idéia de utilizar-se da ociosidade desses computadores para realizar tarefas colaborativas. Essa idéia não é nova, ela existe desde a década de 80, e atualmente vem sendo disseminada com a popularização da tecnologia peer-to-peer [2]. A essa idéia deu-se o nome de Grid Computing, uma versão sofisticada da computação distribuída. A Grid funciona como um verdadeiro supercomputador virtual, no qual é possível configurar as tarefas de cada estação.

Para viabilizar a existência do Grid sempre teremos um administrador que determina o que cada computador vai processar e quando esses dados já processados serão incorporados aos resultados do processamento. Neste momento a heterogeneidade entre as máquinas participantes do grid já nos mostra dois problemas básicos, o primeiro se refere à capacidade de processamento que em cada máquina do grid é diferente já que ele pode ser um micro comum ou um supercomputador. O administrador terá que tomar decisões na hora de incorporar esses resultados, o ideal é que haja mais independência possível de um resultado para o outro. O segundo problema se refere à plataforma de cada computador participante do grid. Programas de código aberto são bem mais desejáveis para resolver este problema."Um dos pilares do conceito de grid é ter programas compatíveis e que possam conversar com outros em qualquer tempo, independentemente das versões. Caso contrário, seria necessário criar um middleware gigantesco para uma rede global", diz Fábio Gandour, diretor de novas tecnologias da IBM Brasil.[3]

Inúmeros projetos em grid estão neste momento espalhados pelo mundo, o mais popular atualmente e um dos primeiros a se difundir na rede é o Seti@home[4] da Universidade de Berkeley. Para o projeto SETI(Search for Extraterrestial Intelligence) milhares de pessoas no mundo todos rodam um protetor de tela que analisa os sinais de rádio capturados pelo radiotelescópio de Arecibo. O Seti@home atualmente tem conseguido alcançar a marca de 1 zettaflop (um sextilhão de operações aritméticas por segundo). Na prática o usuário que possui um computador, que não necessita está constantemente ligado à internet, baixa um cliente do grid da Seti@home compilado para sua plataforma e o instala. O usuário cria uma identificação e recebe neste momento um pequeno pacote contendo os dados que serão processados durante as horas ociosas do computador. Neste momento não é necessário estar conectado, o programa vai processando localmente e colecionando os resultados em um pacote de retorno. Concluída a operação, quando o usuário volta a se conectar na rede, o programa envia o pacote resultado do processamento e solicita um outro pacote continuando a operação off-line. Normalmente os requisitos de grids deste tipo são que os pacotes de dados e resposta sejam pequenos para não ocupar a banda de dados dos clientes e que o processamento seja leve para não afetar as tarefas na máquina cliente.

Para pesquisar a existência de novos materiais na natureza, o CERN (Organização Européia de Pesquisas Nuclear) criou um consórcio mundial de laboratórios para montar um grid para processamento de um acelerador linear. A Universidade de São Paulo e o Centro Brasileiro de Pesquisas Físicas, do Rio de Janeiro irão ser integrados à rede do CERN[3].

Na área de filantropia, a Intel criou um programa[5] que agrega qualquer projeto destinado a tratar doenças humanas, entre elas a cura do Câncer, o mal de Alzheimer e até tentar salvar as vítimas da bactéria antraz. Em busca da cura para a disseminação das células cancerígenas, a United Devices[6] também possui um projeto similar.

Na área de jogos a companhia americana Butterfly e a IBM criaram um grid para suportar mais de 1 milhão de jogadores simultaneamente.

Podemos ver que a princípio, Grid Computing pode ser aplicada em qualquer tipo de aplicação que possa utilizar o poder ocioso das máquinas pela rede. Por outro lado problemas como a heterogeneidade das máquinas (plataforma e poder computacional), interdependência entre os dados a serem processados e a infra-estrutura que coleta todos esses dados gerando um resultado final, ainda necessitam de fortes estudos e realizações. Alguns trabalhos já buscam cria projetos de Grid genéricos onde um usuário possa escolher o que vai querer processar dentro da Grid e obter seu resultado de forma transparente.

Objetivo

Baseado no contexto atual de Grid Computing podemos encontrar aplicações para vários serviços com diversas finalidades. Estas aplicações podem trazer simples contribuições para o nosso lazer, como no caso dos games, até soluções para doenças que afetam toda a humanidade e ainda levariam décadas de pesquisas para se chegar à cura. A tecnologia Grid tem o poder de reduzir essa cura para anos.

Este trabalho terá o objetivo de identificar as dificuldades existentes para se criar um Grid Computing apontando os pontos críticos no projeto da infra-estrutura e quais fatores viabilizam ou inviabilizam a sua utilização. Também será importante definir quais classes de problemas computacionais não podem ser resolvidos com a utilização de Grid Computing, podendo apenas ser resolvidos com a utilização de supercomputadores, e quais problemas podem ser quebrados em uma parte resolvida com Grid e uma segunda parte resolvida com supercomputador, colaborando assim uma parte com a outra.

Durante a identificação dos projetos em Grid que estão atualmente sendo desenvolvidos ou que já estão sendo utilizados, dedicaremos mais atenção àqueles voltados a criar uma infra-estrutura de Grid genérica onde o usuário possa submeter seus processos como no projeto Grid-in-a-box[7] e as pesquisa desenvolvidas na UFPB[8]. Dentro das disponibilidades destas ferramentas, iremos utilizá-las como fonte de análise.

E por fim, outro foco deste trabalho será identificar onde Grid Computing pode ser empregado dentro da área de telemedicina do projeto InfraVIDA[9]. Buscaremos identificar entre quais serviços disponíveis em uma rede de telemedicina pode-se empregar Grid Computing para resolver uma determinada tarefa ou conjunto de tarefas.

Metodologia

Durante o desenvolvimento deste projeto de pesquisa iremos inicialmente coletar e estudar o material on-line disponível sobre o assunto. Nesta fase estaremos preocupados em identificar as entradas e saídas de um processamento em Grid como também os passos intermediários entre a definição da massa de dados a se processar e a divisão e distribuição dos pacotes entre os clientes participantes do Grid. Do lado do cliente teremos que identificar os controles existentes para se receber, processar e enviar o resultado do pacote processado para o servidor central. Neste momento estaremos preocupados em como se incorpora o resultado enviado por cada cliente ao resultado geral do processamento e como são tratadas as situações de contingências como, por exemplo, o estouro do tempo de resposta de um determinado pacote a um cliente. Buscaremos identificar ferramentas de Grid que sejam viáveis de se implantar e utilizar dentro dos recursos computacionais disponíveis para auxiliar os passos acima relacionados.


Cronograma








Mês

Atividade

Junho

Julho

Agosto

Setembro

Estudar Grid Computing

















































Identificar existência de Grid´s disponíveis para estudo e verificar viabilidade de implantação

















































Extrair conclusões dos possíveis Grid´s estudados

















































Identificar aplicações de Grid em telemedicina

















































Escrever o relatório final

















































Elaborar a apresentação

















































Realizar a apresentação


















































Conclusão

Entre as conclusões que buscaremos chegar, destacamos neste momento a identificação de fatores que possibilitem a utilização de Grid Computing em uma classe de problemas e como se generaliza a estrutura de Grid Computing para aplicações de propósitos gerais.



Por fim, daremos atenção a relacionar a utilização de Grid Computing em telemedicina onde buscaremos especificar (e possivelmente desenvolver) uma aplicação simples para este propósito.


Referências




[1]

Grid Computing: A New Technology for the Advanced Web Wolfgang Gentzsch, Sun Microsystems, Inc. Palo Alto, USA, October 1, 2001 http://www.sun.com/products-n-solutions/edu/hpc/whitepaper_gridcomp.html







[2]

OpenP2P.com -- p2p development, open source development

http://www.openp2p.com/







[3]

Revista Info Exame pp 91-92, junho 2002







[4]

SETI@home: Search for Extraterrestrial Intelligence at Home

http://setiathome.ssl.berkeley.edu/







[5]

Intel® Philanthropic Peer-to-Peer Program

http://www.intel.com/cure







[6]

United Devices, Inc

http://www.ud.com/







[7]

Grid-in-a-box

http://www.ncsa.uiuc.edu/TechFocus/Deployment/GiB/







[8]

Cirne. Walfredo, “Rodando aplicações Paralelas Leves em Escala Mundial: A Perspectiva do Usuário”

http://www.inf.ufrgs.br/procpar/hetnos/grid/papers/open_grid.pdf







[9]

Projeto InfraVIDA : Infraestrutura de Vídeo Digital para Aplicações de Telemedicina

http://www.cin.ufpe.br/~recifeatm/infravida, 2002









Data e Assinaturas

Recife, em ______ de _________________ de 2002.





____________________________

____________________________

Aluno

Orientador





©aneste.org 2017
enviar mensagem

    Página principal