Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

15
SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa

Transcript of Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

Page 1: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa

Page 2: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

CLUSTER:

Um cluster é um conjunto de computadores independentes

conectados por rede que formam um sistema único atravésdo 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.

Page 3: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

A idéia inicial da congregação do "PC SHOW" da Microsoft, era

que um buffer entre a memória e o processador fosse chamada de

cluster. Mas 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 no Paquistão. Nesta

época o sistema HASP (Houston Automated Spooling Program) da

IBM e seu sucessor o JES (Job Entry System) proviam uma

maneira de distribuir tarefas nos mainframes interligados. A IBM

ainda hoje (2001) suporta o cluster de mainframes através do

Parallel Sysplex System, que permite ao hardware, sistema

operacional, middleware e software de gerenciamento do sistema

prover uma melhora dramática na performance e custo ao permitir

que usuários de grandes mainframes continuem utilizando suas

aplicações existentes.

Page 4: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

Entretanto, o cluster ganhou força até que três tendências

convergiram nos anos 1980: microprocessadores de alta

performance, redes de alta velocidade, e ferramentas padronizadas

para computação distribuída de alto desempenho. Uma quarta

tendência possível é a crescente necessidade de poder de

processamento para aplicações científicas e comerciais unida ao

alto custo e a baixa acessibilidade dos tradicionais

supercomputadores.

Page 5: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

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 projecto HTPCC/ESS, criaram o

primeiro cluster desse tipo, o projecto Beowulf.

O protótipo inicial era um cluster de 16 processadores DX4

ligados por dois canais Ethernet acoplados (Ethernet bonding). A

máquina foi um sucesso instantâneo e esta idéia rapidamente se

espalhou pelos meios académicos, pela NASA e por outras

comunidades de pesquisa.

Page 6: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

Existem vários tipos de cluster, no entanto há alguns que são mais

conhecidos, como:

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

gratuito, o que diminui seu custo.

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. Sendo assim, podemos dizer

que eles nunca param seu funcionamento; além disso, conseguem

detectar erros se protegendo de possíveis falhas..

Page 7: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

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, pois se

ocorrer alguma falha, haverá uma interrupção no seu

funcionamento.

Page 8: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

CLUSTER BEOWULF:

Cluster Beowulf é o nome de um projeto para aglomerados de

computadores (ou Clusters a computação paralela, usando

computadores pessoais, não especializados e portanto mais

baratos. O projeto foi criado por Donald Becker da NASA, e hoje

são usados em todo mundo, principalmente para processamento de

dados com finalidade científica, uma area em que são muito

utilizados é na renderizacão de filmes.

Renderização é o processo pelo qual pode-se obter o produto

final de um processamento digital qualquer. Este processo aplica-

se essencialmente em programas de modelagem 2D e 3D (3ds,

Max, Maya, CINEMA 4D, Blender, Adobe Photoshop, Gimp,

Corel PhotoPaint, etc.), bem como áudio (CUBase, Ableton Live!,

Logic Pro, etc) e vídeo.

Page 9: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

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. Neste caso,

os softwares trabalham em um modo de baixa resolução para

poder mostrar uma visão prévia do resultado. Quando o projeto

está concluído, ou em qualquer momento que se queira fazer uma

aferição de qual será o resultado final, faz-se a "renderização" do

trabalho.

Page 10: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

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 (Linux) acrescentar, uma vez que o

processamento é feito paralelamente. Isso porque 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.

Page 11: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

Um cluster Beowulf é um cluster voltado para desempenho,

normalmente utilizado para processamento científico, ou seja,

processamento em larga escala.

Page 12: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

Como implementar?Como não depende de equipamento específico, o cluster Beowulf

é basicamente composto de uma máquina chamada de servidor e

outras máquinas chamadas escravas, sendo uma ou mais. A

configuração do cluster consiste essencialmente de dois passos:

Configuração no nó mestre (servidor) e configuração dos nós

escravos. A implementação acontece através de modificações no

Linux, ou através do uso de ferramentas e bibliotecas de

programação específicas para esse fim. Em todos os casos, o

objetivo é permitir a distribuição das tarefas entre os PCs que

fazem parte do cluster.

Page 13: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

ConclusãoAtravés de todo o estudo desenvolvido, concluiu-se que a

implementação de um Cluster Beowulf não depende de nenhum

tipo específico de equipamento, além de ser desenvolvido sobre

uma plataforma aberta, o que possibilita ser bastante evolutivo.

Desta forma, a utilização deste cluster se faz muito viável,

comparando as diversas vantagens que se sobressaem sob as

desvantagens, uma vez que exista a necessidade de processamento

com alto desempenho e alta disponibilidade, com limitações de

budget (orçamento). Pode-se observar que a comunidade

“beowulf” vem crescendo, mas que ainda faltam mecanismos que

possibilitem melhor funcionamento em alguns hardwares, suporte

e disseminação de informação para que esta popularidade e uso

cresça ainda mais.

Page 14: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

Renderização é o processo pelo qual pode-se obter o produto

final de um processamento digital qualquer. Este processo aplica-

se essencialmente em programas de modelagem 2D e 3D (3ds,

Max, Maya, CINEMA 4D, Blender, Adobe Photoshop, Gimp,

Corel PhotoPaint, etc.), bem como áudio (CUBase, Ableton Live!,

Logic Pro, etc) e vídeo.

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. Neste caso,

os softwares trabalham em um modo de baixa resolução para

poder mostrar uma visão prévia do resultado. Quando o projeto

está concluído, ou em qualquer momento que se queira fazer uma

aferição de qual será o resultado final, faz-se a "renderização" do

trabalho.

Page 15: Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf

SISTEMAS DISTRIBUIDOS

RENDERIZAÇÃO DE FILMES