Cluster HPC High Performance Computing.



Documentos relacionados
EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

GESTÃO DE SISTEMAS OPERACIONAIS II

Tipos de Sistemas Distribuídos (Cluster e Grid)

Sistemas Operacionais

Supercomputadores dominavam o mercado

Desenvolvimento de um Cluster de Alto Desempenho com PVM

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Administração de Sistemas de Armazenamento Linux. Rodrigo Caetano Filgueira

SISTEMAS DISTRIBUÍDOS

1

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Palavras-chave Cluster; Beowulf; OpenMosix; MPI; PVM.

Computação em cluster

Processamento Distribuído em Cluster do Tipo Beowulf

SEGURANÇA DE REDE DE COMPUTADORES E SEGURANÇA E AUDITORIA DE SISTEMAS

Sistemas Operacionais Introdução. Professora: Michelle Nery

05/08/2013. Sistemas Distribuídos Cluster. Sistemas Distribuídos Cluster. Agenda. Introdução

Profs. Deja e Andrei

XDOC. Solução otimizada para armazenamento e recuperação de documentos

Sistemas Distribuídos

Introdução aos Sistemas da InformaçãoAula 4 p. 1

Administração de Sistemas de Informação Gerenciais

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Sistemas Operacionais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Sistemas Distribuídos

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

O que é Grid Computing

Tópicos Especiais em Informática

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 02 - Estrutura dos Sistemas Operacionais. Cursos de Computação

Classificação de SO (Sistemas Operacionais) Técnico de Informática 2º. Módulo Profa. Madalena Pereira da Silva

Comparação SDs X Scs

Material 5 Administração de Recursos de HW e SW. Prof. Edson Ceroni

Sistemas Operacionais

Unidade 13: Paralelismo:

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Fundamentos de Sistemas Operacionais

Processos (Threads,Virtualização e Migração de Código)

Virtualização de Sistemas Operacionais

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy.

Arquitetura dos Sistemas de Informação Distribuídos

Sistemas Operacionais

Sistemas Operacionais

SIMCAP Simpósio de Computação Aplicada Cloud Computing

Everson Scherrer Borges João Paulo de Brito Gonçalves

Sistemas Operacionais. Prof. André Y. Kusumoto

Analista de Sistemas Ambiente GRID para física experimental de altas energias

O que é RAID? Tipos de RAID:

Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

FACULDADE DE TECNOLOGIA SENAC PELOTAS CURSO TÉCNICO EM INFORMÁTICA PRONATEC PROFESSOR: NATANIEL VIEIRA ALUNOS: ANA CAROLINA, ROMÁRIO, WAGNER.

PARANÁ GOVERNO DO ESTADO

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Sistemas Operacionais Gerência de Dispositivos

Conteúdo 1 Comandos Básicos. Questão 1: Que comando permite encerrar o sistema definitivamente?

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Introdução Processamento Paralelo

1.2 Tipos de Sistemas Operacionais

Introdução às arquiteturas paralelas e taxonomia de Flynn

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

INTERNET HOST CONNECTOR

Gerência de Redes. Arquitetura de Gerenciamento.

Processos Técnicos - Aulas 4 e 5

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Comparativo de desempenho do Pervasive PSQL v11

Projeto Você pede, eu registro.

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

SISTEMAS DE ARQUIVOS Sistemas operacionais

Sistema Operacional Correção - Exercício de Revisão

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Admistração de Redes de Computadores (ARC)

Laboratório de Redes. Professora Marcela Santos

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

9. Quais as características a tecnologia de conexão à Internet denominada ADSL A) Conexão permanente, custo variável, linha telefônica liberada e

SOBRE A CALLIX. Por Que Vantagens

REDE DE COMPUTADORES

Introdução ao Modelos de Duas Camadas Cliente Servidor

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Operacionais


Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

Servidores Soluções de Servidores Itautec. Sua empresa nunca vai sair do ar.

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

SISTEMA DE MONITORAMENTO DE CONDIÇÕES CLIMÁTICAS

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

Comunicação via interface SNMP

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Transcrição:

Faculdade de Tecnologia de Guaratinguetá. doze, março de 2009. Cluster HPC High Performance Computing. Diogo Salles, Thiago Pirro, Camilo Bernardes, Paulo Roberto, Ricardo Godoi, Douglas, Fauzer. Sistemas Distribuídos Luiz Eduardo Guarino Resumo A utilização de supercomputadores necessita investimento de alto custo, o que para muitos é um grande problema, porém este artigo irá tratar de Clusters HPC, uma solução alternativa que para muitas universidades e empresas vem atendendo a necessidade de alta performance de processamento de forma muito mais viável, além disso apresenta os seus principais conceitos. Palavras-chave: Cluster HPC, Custo, Alta Performance. Introdução Em busca de um poder de processamento semelhante ao dos supercomputadores a um custo imensamente inferior, surgiram estações de trabalho com múltiplos elementos de processamento, agrupados por barramentos de comunicação de altíssima velocidade, capazes de distribuir toda a carga gerada pelas aplicações entre os elementos de processamento, garantindo assim um tempo consideravelmente reduzido na resolução das aplicações, e melhorando significativamente o desempenho. É construído muitas vezes a partir de computadores convencionais, sendo que estes vários computadores são ligados em rede e comunicam-se através do sistema de forma que trabalham como se fosse uma única máquina de grande porte. A idéia inicial que conduz ao cluster foi desenvolvida na década de 1960 pela IBM como uma forma de interligar grandes mainframes, visando obter uma solução comercialmente viável de paralelismo. Na prática o Cluster HPC é utilizado em diversas aplicações onde haja a necessidade de alto desempenho de processamento como: pesquisas climáticas, sequenciamento genético, estudos geofísicos, simulação de explosões nucleares, servidores web, aplicações financeiras, mecanismos de busca, etc. 1 Cluster Para PITANGA (2003), um cluster é um sistema que compreende dois ou mais computadores, ligados em rede, na qual trabalham em conjunto para executar aplicações ou realizar outras tarefas, de tal forma para que os usuários que os utilizam tenham a impressão que somente um único sistema responde para eles, criando assim uma ilusão de um recurso. Este conceito é denominado transparência do sistema. Utiliza-se de um tipo especial de sistema operacional classificado como sistema distribuído. Como características fundamentais para a construção destas plataformas incluem-se elevação da confiança, distribuição de carga e desempenho.

2 2 Aplicações para Clusters Os clusters podem ser usados para uma infinidade de aplicações. Basicamente, para qualquer uma que exija processamento pesado. Como exemplos de aplicações, temos previsão meteorológica (previsão do tempo e condições climáticas), simulações geotérmicas (ou seja, simulação de eventos no solo), renderização de efeitos especiais (muito usado em filmes), simulações financeiras, distribuição de carga, etc. Basicamente, qualquer tipo de aplicação crítica, ou seja, aplicações que não podem parar de funcionar ou não podem perder dados (como os sistemas de bancos, por exemplo), podem utilizar as tecnologias de cluster, desde que devidamente configurados para não serem sujeitas a falhas graves. Assim, o cluster deve contar com nobreaks ou geradores que garantam o funcionamento do sistema mesmo nos casos de queda de energia, além de meios de manutenção e detecção de falhas eficientes. 3 Cluster de Alto desempenho HPC (High performance computing). A computação de alto desempenho é uma necessidade em certos ramos da pesquisa científica e do desenvolvimento de software. Nas últimas décadas muita pesquisa tem sido feita e muitos computadores de alto desempenho têm sido montados. Normalmente são equipamentos caros. Na última década, entretanto, tem se consolidado uma nova tendência, que são os clusters de alto desempenho. Estes consistem em criação de computadores paralelos a partir de computadores comuns encontrados no mercado, atingindo o alto desempenho em computação com um custo baixo. Também conhecido como cluster de alta performance ele funciona permitindo que ocorra uma grande carga de processamento com um volume alto de gigaflops em computadores comuns e utilizando sistema operacional gratuito o que diminui seu custo. Este modelo de cluster aumenta a disponibilidade e performance para as aplicações, particularmente as grandes tarefas computacionais. Uma grande tarefa computacional pode ser dividida em pequenas tarefas que são distribuídas ao redor das estações (nodos), como se fosse um supercomputador massivamente paralelo. É comum associar este tipo de cluster ao projeto Beowulf da NASA. Estes clusters são usados para computação cientifica ou análises financeiras, tarefas típicas para exigência de alto poder de processamento. Medidas de Desempenho de Computadores (operações de ponto flutuante por segundo) : megaflop 10 6 gigaflop 10 9 Teraflop 10 12 petaflop 10 15 Exaflop 10 18 zettaflop 10 21 yottaflop 10 24

3 4 Cluster Beowulf Recebeu esse nome, pois se assimila muito com o lendário herói inglês, pois enfrenta um poderoso adversário, o alto processamento. A versão literária enfrenta batalhas contra monstros e dragões, enquanto a real se encontra como uma alternativa eficiente e de baixo custo à computação que demanda um grande poder de processamento, que até então era dominada pelo monopólio dos grandes fornecedores. O sistema é dividido em um nodo controlador denominado front-end (particularmente denomino de nó mestre), cuja função é controlar o cluster, monitorando e distribuindo as tarefas. Os demais nós são conhecidos como clientes ou backends (bem eu denomino nós escravos), e são exclusivamente dedicados para processamento das tarefas enviadas pelo nó controlador, e não existe a necessidade de teclados e monitores, e eventualmente até sem a utilização de discos rígidos (diskless), e podem ser acessadas via login remoto (telnet ou ssh). Os nós principais (front-end) desempenham duas funções importantes: funcionam como servidores de arquivos e como gateways para o ambiente externo ao cluster. Como servidor de arquivo, os nós principais oferecem mecanismos para armazenar arquivos de usuários e arquivos dos demais clusters. No papel de gateway, eles permitem que os demais nós do Cluster, se necessário, possam acessar qualquer computador, justificando, assim, o porquê de os nós principais possuírem duas interfaces de rede. Os demais nós do Cluster (backends), executam os processos paralelamente, sendo esta a sua única função. Como as tarefas são executadas de maneira paralela, as aplicações devem ser escritas atentando-se para esta condição, a fim de se explorar ao máximo esta arquitetura. Figura 1. Cluster Beowulf Típico. O que distingue o Cluster Beowulf dos outros tipos são as seguintes características: - A conexão dos nós pode ser feita por redes do tipo Ethernet; - Existe um servidor responsável por controlar todo o cluster, principalmente quanto a distribuição de tarefas e processamento. Este servidor é chamado de Front-end; - O sistema operacional é baseado Linux, sendo necessário que ele contenha todos os programas para cluster;

4 - Podem-se usar computadores comuns, inclusive modelos considerados obsoletos; - Não é necessário usar equipamentos próprios para clusters. Basta equipamentos comuns às redes e os tradicionais PCs. De maneira generalizada, o Cluster Beowulf permite a construção de sistemas de processamento que podem alcançar altos valores de gigaflops. Isso tudo com o uso de computadores comuns e de um sistema operacional com código-fonte livre, ou seja, além de gratuito, pode ser melhorado para a sua finalidade. Entre os requisitos para o sistema operacional de um Cluster Beowulf, estão a necessidade de se ter as bibliotecas para Parallel Virtual Machine (PVM) ou para Message Passing Interface (MPI). Ambos os tipos são usados para a troca de mensagens entre os nós do cluster. O MPI é mais avançado que o PVM, pois pode trabalhar com mensagens para todos os computadores ou para apenas um determinado grupo (por exemplo, quando somente este grupo vai realizar determinada tarefa). Os clusters não servem para processar dados em tempo real, mas apenas para processar grandes quantidades de dados, que podem ser quebrados em pequenas partes e divididos entre os vários computadores. Uma área onde são populares é na aplicação de efeitos especiais e renderização de imagens para filmes de cinema. Há inclusive casos de filmes como o Shrek e o Final Fantasy, que foram renderizados inteiramente utilizando clusters Beowulf. 5 Cluster Mosix Mosix é a sigla para Multicomputer Operating System for UNIX. Trata-se de um projeto que teve inicio nos anos 80 em Jerusalem é um conjunto de ferramentas de cluster para Linux, tem como característica principal, fazer com que o cluster se comporte como um grande e único supercomputador lançando mão da migração preemptiva de processos e balanceamento dinâmico de carga. A implementação da Migração Preemptiva faz com que um processo em um nó com poucos recursos seja transportado para outro nó que tenha maior disponibilidade, melhorando, assim, o desempenho do sistema. Diferente do Beowulf no Mosix não existe um nó mestre que controle os outros nós do cluster utiliza algoritmos descentralizados a grande vantagem nesse tipo de cluster é a possibilidade de incluir ou remover um computador do cluster sem que o desempenho seja afetado, nenhum distúrbio seja notado. O Mosix possui também algoritmos que monitoram e identificam qual a velocidade dos nós, a memória livre disponível, a carga da CPU, a comunicação interprocessos (IPC) e a velocidade de acesso de cada processo. Outra vantagem do Mosix e ser transparente para o usuário. Assim que é iniciado um aplicativo o Mosix envia os processos ao melhor computador no momento na rede e monitora sua execução. Tudo isso sem que o usuário perceba ou seja de forma transparente. O sistema Mosix é utilizado em diversas aplicações dentre elas Processos CPU-bound: processos com longos tempos de execução e baixo volume de comunicação entre processos, ex: aplicações científicas, engenharia e outras aplicações que demandam alta performance de computação, Grandes compilações, Banco de dados que não usem memória compartilhada. O MOSIX é eficiente na tarefa de distribuição dinâmica de processamento entre os computadores do cluster. Esse tipo, assim como o Beowulf, é muito utilizado por universidades em pesquisas e projetos. Por ser baseada em Linux, sua implementação é transparente, além de ser relativamente fácil de instalar.

5 Considerações Finais Quando a necessidades de alto desempenho e de alta disponibilidade em um projeto que ainda possui limitações em orçamentos, procuram-se alternativas que possam suprir todas essas necessidades. Assim sendo, forma-se um contexto favorável para a utilização do Cluster, que possui baixo custo de implantação, se comparado a outras soluções proprietárias, como por exemplo, os supercomputadores, e pode ser desenvolvido sobre uma plataforma aberta, tirando todas as vantagens do desenvolvimento dinâmico do software livre. Referências Bibliográficas PINTO, Hudson J. L., SILVA, Michel P. e SILVEIRA, Gabriel D. Ambientes de Alto Desempenho utilizando Cluster de Computadores: Universidade de Formiga, Departamento de Ciência da Computação, Instituto de Ciências Sociais Aplicadas e Exatas. Formiga, MG, Brasil. PITANGA, Marcos. Computação em cluster: o estado da arte da computação. Rio de Janeiro: Brasport Livros e Multimídia Ltda, 2003. SOUZA, Marcelo S. Análise do Servidor Web Apache em Clusters OpenMosix com Memória Compartilhada Distribuída: CEBACAD, Centro Baiano de Computação de Alto Desempenho, Universidade Católica do Salvador (UCSal), Salvador, Bahia Brasil.