Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf
-
Upload
renato-vicentin-ferreira -
Category
Documents
-
view
12 -
download
0
Transcript of Aula+9_1+-+Clusters+e+projeto+cluster+Beowulf
SISTEMAS DISTRIBUIDOS
Prof. Marcelo de Sá Barbosa
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.
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.
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.
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.
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..
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.
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.
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.
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.
SISTEMAS DISTRIBUIDOS
Um cluster Beowulf é um cluster voltado para desempenho,
normalmente utilizado para processamento científico, ou seja,
processamento em larga escala.
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.
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.
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.
SISTEMAS DISTRIBUIDOS
RENDERIZAÇÃO DE FILMES