Computação de alta performance

567 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
567
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Computação de alta performance

  1. 1. COMPUTAÇÃO DE ALTAPERFORMANCEEngenharia e qualidade de softwares
  2. 2. Grades computacionais Computação em grade (do inglês Grid Computing) é um modelo computacional capaz de alcançar uma alta taxa de processamento dividindo as tarefas entre diversas máquinas, podendo ser em rede local ou rede de longa distância, que formam uma máquina virtual. Esses processos serão executados no momento em que as máquinas não estão sendo utilizadas pelo usuário assim evitando o desperdício de processamento da máquina utilizada. [wikipedia, 2008]
  3. 3. Grids nas nuvens As grades computacionais são capazes de criar um ambiente de processamento paralelo que utiliza os recursos computacionais ociosos das máquinas que podem estar localizadas em diferentes regiões.[Ian Foster, 1998].
  4. 4. Características dos Grids A computação em Grade tornou-se realidade no laboratório de Argonne na década de 90 com o propósito de auxiliar atividade de pesquisa e desenvolvimento científico. Montada em um ambiente de processamento paralelo capaz de utilizar os recursos computacionais ociosos de instituições localizadas em diferentes regiões e com diferentes tipos de redes, formando um sistema robusto, dinâmico e escalável. O modelo de computação em grade se apresenta ao usuário como um computador virtual, ocultando a infra-estrutura distribuída capaz de executar processos de forma eficaz, transparente e segura, e de compartilhar espaço de armazenamento, dados, aplicações e dispositivos.
  5. 5. Emprego dos Grids Engenheiros: com a utilização de grades computacionais, podem obter respostas de processamento em tempo real para diversas aplicações, como as modelagens em larga escala de estruturas complexas. Cientistas: a principal característica que estes almejam é a eficiente capacidade de visualização que as grades podem oferecer. Nestes casos, são realizados experimentos no qual cada processo corrente pode ser visualizado detalhadamente e separadamente de outros que estão sendo processados em paralelo. Através desta característica, podem-se promover simulações com grande eficiência.
  6. 6. Emprego dos Grids Educadores: com a capacidade de processamento oferecida pelas grades computacionais, podem ser criados laboratórios e salas de aulas virtuais, onde estes utilizariam um ambiente totalmente preparado e capaz de prover ensino de qualidade à distância através de ambientes multimídia, salas de aula virtuais e tridimensionais, armazenamento de arquivos, vídeo conferencias e encontros virtuais. Corporações: com a necessidade de processamento de alto desempenho, principalmente quando se refere à qualidade e tempo mínimo de produção. As grades inserem-se perfeitamente no cenário onde se necessita de alto desempenho para fabricar produtos, e para empresas que manipulam grande quantidade de dados.
  7. 7. BERKELEY - Após mais do que o equivalente a um milhão de anos de computação(Nota do Editor: comparado ao atual poder de processamento dos programas SETI convencionais), por mais de 4 milhões de computadores espalhados pelo mundo,o protetor-de-tela SETI@home, que processa dados em busca de sinais inteligentesvindos do espaço, produziu uma lista das fontes de sinais de rádio que merecem receber uma segunda olhada.
  8. 8. SETI@HOMENos anos 90, após perder seu financiamentogovernamental, um projeto norte-americano quebuscava por sinais de vida inteligente em outrosplanetas – o SETI (Search for Extra-TerrestrialIntelligence) - teria apostado na abordagem dacomputação distribuída para não abandonar suaspesquisas.
  9. 9. SETI@HOME SETI@home ofereceu seu protetor-de-tela ao mundoem maio de 1999, como o primeiro exemplo deprocessamento distribuído em larga escala –conectando através da Internet computadores ociosospara atacar problemas computacionais de grandeporte. A chave do seu sucesso foi uma produtivacolaboração entre Anderson, um cientistacomputacional e um dos principais desenvolvedores doconceito do processamento distribuído, e Werthimer, umfísico com duas décadas de experiência coletando etriando sinais de rádio em busca de sinais incomunsvindos do espaço.
  10. 10. SETI@HOME O projeto disponibiliza em sua página web um clienteque pode ser obtido por qualquer um que deseja-sedoar seus recursos ociosos. Por possuir estacaracterística de utilizar recursos ociosos de qualquercomputador conectado a internet, a grade do projetoSETI@home pôde ser considerado o segundocomputador mais potente da Terra, com 162teraFLOPS, contando com 5.436.301 CPUs conectadas,o que corresponde a aproximadamente2.433.979,781 anos de processamento em uma CPUcomum (dados em janeiro de 2006). Perdendo apenaspara o BlueGene/L, com capacidade de 280,7teraFLOPS.
  11. 11. SETI@HOME Atualmente o projeto se dedica a utilizar o podercomputacional para a descoberta de doenças, testede medicamentos e simulações genéticas.
  12. 12. Outro projetos Podemos citar também outros projetos tais como o ChessBrain, que busca criar um super computador virtual para jogo de xadrez, o Climapredition.net que busca prever o clima mundial com maior precisão, o projeto fightAIDS@home que é um projeto de pesquisa em parceria com a empresa Entropia e o laboratório Olson que ajuda na pesquisa contra a AIDS, entre outros.
  13. 13. Projeto de Grids Para se projetar um ambiente de grades computacionais, temos como características básicas: Recursos coordenados e compartilhados: onde as aplicações compartilham recursos entre si. As aplicações que permitem paralelismo são as mais empregadas nesse ambiente. Ambientes heterogêneos: as aplicações não são restritas a ambientes operacionais únicos, não havendo dependência de ambiente. As grades destacam-se como uma tecnologia fortemente heterogênea. Com o uso de dezenas, centenas ou até milhares de computadores compartilhando seus recursos, as grades não se limitam em utilizar dispositivos iguais ou uma única plataforma, como o sistema operacional.
  14. 14. Projeto de Grids Segurança e autenticação: em um ambiente em grade, deve considerar a heterogeneidade e o dinamismo. Sendo assim, o sistema não deve ficar restrito a características específicas de um sistema ou empresa. A segurança no processo deve ser garantida, com processos de autenticação e permissões/restrições. As grades podem ser configuradas para fazer melhor uso em sua banda através de dispositivos de redes integrados capazes de transmitir altas taxas de bits, utilizando-se de criptografia e/ou autenticação [Clube do hardware,2005].
  15. 15. Projeto de Grids Recursos dinâmicos e escaláveis: recursos são utilizados a medida que são necessários. Computadores agregados a rede fornecem recursos que se somam. Por ser um ambiente de larga escala, apresenta uma grande capacidade de expansão, podendo adicionar nós, como Desktops e Servidores, em sua rede de computadores a qualquer momento sem que comprometa os outros nós que já fazem parte da grade. Por utilizar recursos espalhados em diversos domínios independentes de suas posições geográficas, as grades podem aumentar a sua capacidade computacional e sempre oferecer aos usuários uma crescente melhora no desempenho, executando as tarefas com a máxima utilização dos recursos oferecidos. Ambiente distribuído: em uma grade computacional as aplicações devem ser sempre distribuídas e devem-se considerar todos os aspectos inerentes a esse tipo de arquitetura. No aspecto de computação em demanda, as grades têm valor significativo por serem capazes de criar infra-estruturas operacionais flexíveis, conseguindo enfrentar com sucesso as flutuações súbitas de demanda. Esta demanda pode ser destacada na constante variação de tecnologias, que acarreta na crescente exigência computacional por partes dos usuários.
  16. 16. Características As grades de acordo com suas características, são realizadas algumas comparações com outros modelos de sistemas distribuídos existentes. SMP: (Symmetric MultiProcessing) o sistema de processamento distribuído SMP utiliza uma memória compartilhada e diversos processadores para executar uma tarefa. A distribuição das tarefas é feita por um escalonador que ficará responsável apenas pela distribuição dos Jobs, ou tarefas, nos processadores, pois a existência de uma memória única não torna necessário alocação de memórias independentes. Assim, pode-se confirmar que ambientes construídos em modelos SMP possuem um sistema mono-tarefa, fracamente distribuído, porém fortemente acoplado.
  17. 17. Características MPP: (Massively Parallel Processin), o sistema de processamento distribuído MMP não segue um modelo de compartilhamento de memória, pois são formados de nós independentes e interligados que possuem um sistema próprio para processar os Jobs distribuídos. Estes jobs são distribuídos também por um escalonador de tarefas como no sistema SMP, diferenciando-se apenas no método de distribuição, já que os jobs não irão ocupar uma única memória compartilhada, mas na verdade várias memórias independentes, tornando-se assim um ambiente operacional mais complexo que o SMP. Podemos afirmar portanto que os ambientes MPP são fortemente distribuídos, já que não se limitam na quantidade de processadores suportados em uma única memória compartilhada, multi-tarefa e fracamente acoplados.
  18. 18. Características
  19. 19. Camada de estrutura Camada responsável por compartilhar os recursos, utilizando como intermédio, os protocolos de grades. É responsável por implementar os mecanismos de gerenciamento que controlam o acesso aos recursos computacionais, de armazenamento e de rede. Estes recursos pode ser uma entidade lógica implementada com protocolos internos, sem que comprometa o funcionamento da grade. Nesta camada os recursos podem ser implementados como mecanismos de descoberta de outras estruturas, status e potencialidade das grades, como também prover qualidade de serviços utilizando mecanismos de gerência de recursos, onde recursos computacionais são necessários para iniciar programas, monitorar e controlar a execução dos processos, recursos de armazenamento com a função de inserir e retirar dados dos dispositivos de armazenamento, ou seja, a leitura e escrita das informações contidas na grade, recursos de rede com o controle sobre os recursos alocados na transferência de dados pela rede, tais como priorização e reserva.
  20. 20. Camada de conectividade Possui muita importância na arquitetura de grades, é responsável pelas definições dos protocolos de comunicação e autenticação necessários nas transações realizadas em uma grade. Nesta camada são habilitadas as trocas de dados entre os recursos da camada de estrutura, sendo responsável pelo controle gerencial de acesso na camada inferior. De acordo com o modelo de arquitetura de grades, os serviços oferecidos pela camada de conectividade são de transporte, de rota e de nomes, sendo estes utilizados dentro do escopo proposto. Os serviços oferecidos pela camada de conectividade são baseados nos protocolos utilizados na especificação da camada de Internet, tais como o TCP e o UDP como serviços de transporte e o Domain Name System (DNS) [Webopedia, 2005].
  21. 21. Camada de recursos A camada de recursos conforme Ian, 2004, constrói na camada de conectividade um conjunto de regras de comunicação e autenticação responsável pela definição dos serviços, como APIs e SDKs, que, posteriormente, farão a negociação entre as camadas superior e inferior de forma segura, o monitoramento e o controle dos recursos, e, por fim, a contabilização referente ao tempo de uso dos recursos. Os protocolos implementados na camada de estrutura possibilitam a chamada de funções que provêem o acesso e o controle local dos recursos nesta camada. Os protocolos são divididos em dois: informação e gerenciamento, sendo o primeiro o protocolo utilizado para obter informações sobre a estrutura e o estado dos recursos, e o segundo têm como função ajustar as regras de acesso aos recursos compartilhados.
  22. 22. Camada de coletividade A camada de coletividade, conforme Pankratius & Vossen, 2005, não se preocupa apenas com os serviços e protocolos de um único recurso por possuírem características globais, usam as instâncias capturadas entre toda coleção/conjunto de recursos, justificando assim a origem do nome coletividade. São exemplos de protocolos de coletividade o serviço de diretório que possibilita a descoberta da existência e/ou propriedades dos recursos. O serviço de co-alocação e escalonamento que permitem requisições de alocação de um ou mais recursos para uma determinada tarefa, escalonando nos recursos apropriados.O serviço de monitoramento e diagnóstico que oferece suporte de monitoramento aos recursos na ocorrência de falhas, ataques (detectores de intrusão), carga excedente, dentre outros. E o serviço de replicação de dados que é responsável pelo gerenciamento dos recursos de armazenamento.
  23. 23. Camada de aplicação Nesta camada serão desenvolvidas as aplicações que farão parte das grades, onde estas são construídas seguindo os modelos de serviços de qualquer camada inferior. Para cada camadas podem ser requisitados serviços bem definidos de gerenciamento de recursos, acesso a dados, descoberta de recursos, dentre outros.
  24. 24. Arquitetura OGSA O conceito fundamental da arquitetura OGSA é a grade orientada a serviços, que são apresentados como serviços Web especiais, permitindo a distribuição e acesso a recursos distribuídos em ambientes dinâmicos heterogêneos. Esses serviços tem suas interfaces descritas através da WSDL, sendo criados e gerenciados de acordo com os mecanismos definidos pela Open Grid Services Infrastruture (OGSI). OGSA define a semântica da interface de serviços para criação das instâncias, seus nomes, como gerenciar o seu tempo de vida e os protocolos para comunicação. A criação de uma nova instância envolve a criação de novos processos no ambiente responsável pelo suporte dos serviços. Múltiplas instâncias de serviços podem corresponder a uma mesma interface. Dessa forma OGSA faz modificações nos ambientes adicionando suporte aos serviços da grade. A capacidade dos serviços da grade podem ser recursos computacionais, recursos de armazenamento, redes, programas, bancos de dados, etc. Um serviço de grade implementa um ou mais interfaces, onde cada interface é definida através de um conjunto de métodos com chamadas adaptadas ao SOAP.
  25. 25. videos Daniel godri

×