Tipos de Sistemas Distribuídos (Cluster e Gridmlcsilva/aulassdist/Aula 6.pdf · consome muitos...

27
Tipos de Sistemas Distribuídos (Cluster e Grid) 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 Sistemas Distribuídos

Transcript of Tipos de Sistemas Distribuídos (Cluster e Gridmlcsilva/aulassdist/Aula 6.pdf · consome muitos...

Tipos de Sistemas Distribuídos (Cluster e Grid)

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

Sistemas Distribuídos

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