Sistema de Computação: Grade - Campus Monte Castelo

Propaganda
Tipos de Sistemas Distribuídos (Cluster e Grid)
Sistemas Distribuídos
Mauro Lopes Carvalho Silva
Professor EBTT
DAI – Departamento de Informática
Campus Monte Castelo
Instituto Federal de Educação Ciência e Tecnologia do Maranhão
Sistemas Distribuídos – 8º Período
Objetivos
• Nesta aula iremos apresentar os tipos de Sistemas
Distribuídos. Serão abordados os tipos de sistemas
em Cluster, Grid e Pervasivos. Ao final desta
apresentação o aluno poderá entender e discutir
sobre os variados tipos de sistemas distribuídos
encontrados no dia a dia.
Sistemas Distribuídos – 8º Período
Plano de Aula
• Tipos de Sistemas Distribuídos: Computação
– Sistemas em Cluster
– Sistemas em Grid
– Sistemas Pervarsivos
Sistemas Distribuídos – 8º Período
Sistema de Computação: Cluster
• Um cluster é um conjunto de computadores
independentes conectados por rede que formam
um sistema único através do uso de software.
– Um cluster, ou aglomerado de computadores, é formado por
um conjunto de computadores, que utiliza um tipo especial
de sistema operacional classificado como sistema distribuído;
– Muitas vezes é construído a partir de computadores
convencionais (personal computers), os quais são ligados em
rede e comunicam-se através do sistema, trabalhando como
se fossem uma única máquina de grande porte;
– Há diversos tipos de cluster. Um tipo famoso é o cluster da
classe Beowulf, constituído por diversos nós escravos
gerenciados por um só computador.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Cluster
• Por que um Cluster é interessante ?
– Supercomputadores, qual o valor de um ? (Link)
– Renderização: é o processo pelo qual pode-se obter o
produto final de um processamento digital qualquer
(modelagem 2D e 3D), vídeo e áudio;
– O processo de tratamento digital de imagens e sons
consome muitos recursos dos processadores, e pode
tornar-se pesado de forma que sua realização em tempo
real fica inviável.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Cluster
• Um pouco da História dos Cluster
– No final de 1993, Donald Becker e Thomas Sterling
iniciaram um esboço de um sistema de processamento
distribuído construído a partir de hardware convencional
como uma medida de combate aos custos dos
supercomputadores.
– No início de 1994, trabalhando no CESDIS, com o patrocínio
do projeto HTPCC/ESS, criaram o primeiro cluster desse
tipo, o projeto Beowulf.
– O protótipo inicial era um cluster de 16 processadores DX4
ligados por dois canais Ethernet acoplados.
– A máquina foi um sucesso instantâneo e esta ideia
rapidamente se espalhou pelos meios acadêmicos, pela
NASA e por outras comunidades de pesquisa.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Cluster
• Tipos de Cluster
– Cluster de Alto Desempenho: 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;
– Cluster de Alta Disponibilidade: São clusters os quais seus
sistemas conseguem permanecer ativos por um longo período
de tempo e em plena condição de uso. Estes conseguem
detectar erros se protegendo de possíveis falhas;
– Cluster para Balanceamento de Carga: Esse tipo de cluster
tem como função controlar a distribuição equilibrada do
processamento. Requer um monitoramento constante na sua
comunicação e em seus mecanismos de redundância;
Sistemas Distribuídos – 8º Período
Sistema de Computação: Cluster
• O Cluster Beowulf
– Cluster Beowulf são clusters de desempenho escaláveis,
baseados numa infraestrutura de hardware comum, rede
privada e software 'open source' (Linux);
– O 'hardware comum' pode ser qualquer tipo de
computador, significando que não é necessário usar
equipamentos próprios para cluster, bastando utilizar
equipamentos comuns a redes tradicionais e PCs;
– Para Clusters Beowulf, existe um servidor responsável por
controlar todo o cluster, principalmente quanto à
distribuição de tarefas e processamento;
– Como utiliza computadores comuns, o desempenho pode
melhorar de acordo com as máquinas (nós) que o
desenvolvedor acrescentar;
Sistemas Distribuídos – 8º Período
Sistema de Computação: Cluster
• O Cluster Beowulf
– O processamento é feito paralelamente;
– Ou seja, a tarefa a ser processada é separada em partes
independentes, distribuídas nos vários nós que estão na
estrutura do cluster, nos quais as informações são
processadas pela máquina que é designada como servidor
do sistema.
– Resumindo: O cluster Beowolf é um cluster baseado em
Linux, em que cada cluster consiste em um conjunto de
nós de computação controlados e acessados por meio de
um único nó mestre. As tarefas típicas do mestre são
manipular a alocação de nós a um determinado programa
paralelo, manter uma fila de jobs apresentados e
proporcionar uma interface para os usuários do sistema.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Cluster
• O Cluster Beowulf
Um cluster Beowulf é um cluster
voltado para desempenho,normalmente
utilizado para processamento científico,
ou seja,processamento em larga escala.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Um pouco da história da Computação em Grade
– Inspirados pelo sistema de energia elétrica, no meio da
década de 90, os cientistas da computação começaram a
explorar o projeto e o desenvolvimento de uma nova
infraestrutura computacional pelo acoplamento de
recursos distribuídos geograficamente como bases de
dados, servidores de armazenamento, redes de alta
velocidade, supercomputadores e aglomerados para
solucionar problemas de grande escala, levando ao termo
popularmente conhecido como Computação em Grade.
– No uso da energia elétrica, você usuário não quer saber
das complexidades inerentes (origem da energia, malhas
de linhas de transmissão e distribuição), simplesmente
ligamos o aparelho em uma tomada.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Um pouco da história da Computação em Grade
– Uma grade computacional, portanto, seria uma rede na
qual o individuo se conecta para obter poder
computacional:
– Ciclos de processador;
– Armazenamento;
– Software;
– Periféricos, etc.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Um pouco da história da Computação em Grade
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• A Formação da Computação em Grade
– Processamento Paralelo: A pesquisa em processamento
paralelo sempre procurou extrair o máximo de
desempenho computacional por meio da criação de
máquinas dedicadas com múltiplos processadores, redes
especiais de alta velocidade, memórias compartilhadas e
processamento vetorial. A exemplo temos: NEC Earth
Simulator e o IBM Blue Gene;
– Sistemas Distribuídos: preocupou-se mais com aspectos
ligados
à
comunicação,
heterogeneidade
e
compartilhamento
de
recursos
computacionais,
principalmente informações por meio de arquivos. Com a
Internet e a Web, os sistemas distribuídos atingiram uma
escala global propiciando a criação do comércio
eletrônico, redes de troca de arquivos, etc.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• A Formação da Computação em Grade
– Como resultado da união destas duas importantes áreas da
computação (Processamento Paralelo e os Sistemas
Distribuídos), surgiu o conceito de grade computacional;
– Portanto, as grades computacionais estão preocupadas em
agregar supercomputadores distribuídos geograficamente
para o processamento de grandes massas de dados,
enquanto redes P2P procuram compartilhar arquivos
distribuídos geograficamente.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Características
– Alto grau de heterogeneidade: nenhuma premissa é
adotada em relação a hardware, sistemas operacionais,
redes, domínios administrativos, políticas de segurança e
assim por diante;
– Outra característica fundamental em um sistema de
computação em grade é que recursos de diferentes
organizações são reunidos para permitir a colaboração de
um grupo de pessoas ou instituições (organização virtual).
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Arquitetura
Grid
Applications:
as
aplicações em grade são
tipicamente
desenvolvidas
usando
ambientes
de
programação de grade, serviços
de descoberta, interfaces e
escalonamento de serviços
providos por um middleware de
nível de usuário.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Arquitetura
User-Level Grid: esta camada
é composta de middlewares que
utilizam
interfaces
que
fornecem abstrações e serviços
de alto nível. Isto inclui
ambientes de desenvolvimento
de aplicações, ferramentas de
programação
e
resource
brokers para gerenciamento de
recursos e escalonamento de
aplicações.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Arquitetura
Core Grid: esta camada é
composta de middlewares que
oferecem serviços tal como
gerenciamento
remoto
de
processos, co-alocação de
recursos, acesso de
armazenamento, registro e
descoberta de informações,
segurança e aspectos de QoS.
Esta camada abstraem a
complexidade
e
heterogeneidade
da
Grid
Fabric;
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Arquitetura
Grid Fabric: esta camada
consiste
de
recursos
distribuídos
tal
como
computadores,
redes
de
interconexão, dispositivos de
armazenamento e instrumentos
científicos.
Os
recursos
computacionais
representam
múltiplas arquiteturas tal como
aglomerados,
supercomputadores, servidores
e PCs que executam diferentes
sistemas operacionais.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Arquitetura
Grid Fabric: Os instrumentos
científicos,
tal
como
telescópios e redes de sensores,
provém dados em tempo real
que podem ser transmitidos
diretamente
a
sites
de
computação ou armazenadas
em uma base de dados.
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Modelo Operacional
– Em um ambiente de computação em grade, na visão do
usuário da grade computacional, existe uma modelo
operacional com etapas comuns para a execução de uma
aplicação:
1. O usuário programa a sua aplicação distribuída utilizando
ferramentas de desenvolvimento de aplicações;
2. O usuário especifica os seus requisitos de QoS e submete
sua aplicação ao escalonador de aplicação da grade;
3. O escalonador de aplicação de recursos da grade realiza
uma descoberta de recursos e suas características usando o
serviço de informação da grade;
4. O escalonador de aplicação de recursos identifica os preços
e/ou a disponibilidade dos recursos por meio de uma busca
em um diretório de mercado da grade;
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Modelo Operacional
– Continuação:
5. O escalonador de aplicação de recursos identifica uma lista
de fornecedores de dados ou réplicas e recurso
computacionais que fornecem os serviços ou características
necessários pela aplicação, por meio dos escalonadores de
recursos. Então ele seleciona os melhores fornecedores;
6. O escalonador de aplicação escalona e envia as tarefas para
os escalonadores de recursos que são responsáveis pelos
recursos escolhidos para a execução das aplicações;
7. O agente local do usuário no recurso executa e monitora a
tarefa e retorna os resultados para o escalonador. Enquanto
o escalonador de aplicação monitora a grade pra lidar com
eventuais falhas nos recursos e mudanças de configurações
da grade;
Sistemas Distribuídos – 8º Período
Sistema de Computação: Grade
• Modelo Operacional
O escalonador de
aplicação coleta
os resultados e
repassa para o
usuário
Sistemas Distribuídos – 8º Período
Comparação entre Cluster e Grade
Sistemas Distribuídos – 8º Período
Dúvidas
Página do Professor Mauro:
http://www.dai.ifma.edu.br/~mlcsilva
Sistemas Distribuídos – 8º Período
Próxima Aula
• Tipos de Sistemas Distribuídos: Pervasivos
Sistemas Distribuídos – 8º Período
Download