Você está na página 1de 7

UNIVERSIDADE PAULISTA – UNIP

INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (ICET)

Nicolas Rafael Crescêncio

GERENCIAMENTO DE CLUSTER, PROGRAMAÇÃO


PARALELA E GRID

Ribeirão Preto
2022
Nicolas Rafael Crescêncio

GERENCIAMENTO DE CLUSTER, PROGRAMAÇÃO


PARALELA E GRID

Projeto submetido ao Curso de Ciência da Computação


da Universidade Paulista - Unip, para avaliação da
Disciplina.

Ribeirão Preto
2022
RESUMO
Este trabalho tem em vista trazer os conceitos de Gerenciamento de Cluster,
Programação Paralela e diferenças entre Cluster e Grid, mostrando suas
implementações, funcionamento e suas metodologias, trazendo à tona toda as suas
vantagens e benefícios para determinadas corporações, dito isso, este trabalho tem
por finalidade atingir a nota estipulada para complemento da média final.
Cluster de Computadores
No cenário atual do mercado, um dos requisitos mais desejado em qualquer
empresa é a eficiência e eficácia em seus sistemas, muitas das vezes o preço é um
empecilho, pois comprar máquinas ou servidores dedicados para determinada tarefa
acabam saindo caro, e aí que surge uma solução que faz esse custo baratear.
Cluster baseia-se na conexão entre dois ou mais computadores, ou seja, as
máquinas se interligam através de nós, funcionando assim como se fosse uma
máquina só, dividindo assim suas tarefas, em processamento, análise e
interpretação de dados, trabalhando em conjunto para a realização da tarefa
proposta.
Sendo assim, uma alternativa viável é fazer a ligação de vários Desktops comuns,
onde o custo será muito menor do que seria ao comprar uma máquina específica,
outra vantagem nesse quesito é que você não fica amarrado em um único
fornecedor, já que para a execução do cluster não depende de os desktops serem
iguais, porém é aconselhado que as máquinas em si trabalhem com o mesmo
Sistema Operacional para ficar mais fácil o seu gerenciamento.
A principal funcionalidade de um Cluster é garantir a combinação do funcionamento
de vários computadores dentro de um mesmo sistema, com o intuito de elevar o seu
desempenho, com isso existem diversos tipos de cluster, com características e
funcionalidades próprias, cabe ao profissional de T.I (Tecnologia da Informação)
entender qual tipo será mais adequado para determinado lugar e qual é o objetivo
proposto, sendo assim os Cluster mais conhecidos são eles:
Failover ou High Availbility Computing Cluster (Cluster de Alta
Disponibilidade)
Load Balancing (Cluster para balanceamento de carga)
High Perfomance Computing Cluster (Cluster de Alto Desempenho)
Processamento Paralelo
Ao implementar cluster em empresas é perceptível a melhora, já que não é um
determinado setor que ganha, e sim a corporação toda, suas vantagens são
observadas em curto, médio e longo prazo, sendo elas, redução de custos,
produtividade, faturamento, otimização, entre outras.
Cluster Beowulf
Aglomerado de Beowulf foi criado por Donald Becker, criado para aglomerados de
computadores com foco em computação paralela, com a finalidade para
processamento de dados e para renderização de filmes, onde é possível utilizar
mais de um computador comum interligados para a divisão de processamento e
tarefas, assim reduzindo os custos e tendo desempenho igual ou superior que uma
única máquina especializada.
Cluster Beowulf são cluster de desempenho escaláveis, sua infraestrutura consiste
em hardware comum, rede privada e software open source. Os hardware comum se
baseia em computadores comuns, você não precisa necessariamente de uma
máquina específica para cluster. Seu gerenciamento funciona através de um
servidor que fica responsável por controlar todos os outros cluster, gerenciando
assim, suas tarefas e processamento. Quanto mais máquinas forem implementada
nos cluster maior será seu desempenho, isso ocorre por conta que a tarefa a ser
processada é dividida em partes separadas, distribuídas aos vários nós que estão
nas estruturas do cluster. Um Cluster de Beowulf é voltado para desempenho,
utilizado em processamento de larga escala.
Sua implementação é composta de uma máquina Servidora que tem a finalidade de
atribuir as demais máquinas ligadas a ela, a máquina servidora é responsável por
gerenciar as tarefas e os processos. Para isso é necessário fazer a configuração do
nó central (servidor) e a configuração dos nós dos computadores que formaram o
cluster, essas modificações são possíveis através do Linux ou de ferramentas e
bibliotecas de programação específicas.

Programação Paralela
Um programa é considerado programação paralela quando este é visto como um
conjunto de partes que podem ser resolvidas concorrentemente, cada parte é
igualmente constituída por uma série de instruções sequências, mas que no seu
conjunto podem ser executadas simultaneamente me vários processadores, sendo
assim, pode ser definida como o uso simultâneo de vários recursos computacionais
de forma a reduzir o tempo necessário para resolver um determinado problema.
Esses recursos computacionais podem incluir, um único computador com múltiplos
processadores um número arbitrário de computadores ligados por rede ou a
combinação de ambos.
Já sabemos que as arquiteturas paralelas é uma realidade, porém a programação
paralela continua a ser um trabalho complicado, além de depender das
disponibilidades de ferramentas ou até mesmo ambiente de programação
adequados para memória partilhada, surgem discussões sobre problemas não
existências em outros tipos de programação, um exemplo seria a programação
sequencial.
Metodologia de Programação de Foster
Quando se pensa em programação paralela, uma das primeiras coisas que vem à
cabeça é Ian Foster (1996). Esse personagem tem um dos métodos mais
conhecidos para desenhar algoritmos paralelos, este método permite que o
desenvolvedor no primeiro momento foque toda sua atenção nos aspectos não
dependentes da arquitetura, a concorrência e a escalabilidade, para só então depois
considerar os aspectos dependentes da arquitetura. A Metodologia de programação
se divide em 4 principais etapas, sendo elas, Decomposição, Comunicação,
Aglomeração e Mapeamento.
Ferramentas de análises de desempenho e otimizações
Tem por objetivo auxiliar o analista a realizar a análise de desempenho de
aplicações paralelas, abaixo vamos ver algumas delas.
Score-P trata-se de uma infraestrutura capaz de medir o desempenho altamente
escalável que implementam as técnicas de amostragem e rastreamento, assim
integrando, vários formatos de arquivos capazes de registrar os resultados da
amostragem e os rastros de execução, essa ferramenta permite uma certa
padronização, tornando um diferencial se comparada as outras, permitindo assim
que seus dados consigam ser interpretados e analisados por outras ferramentas.
TAU é uma ferramenta portável que implementa assim como score-p, as técnicas de
amostragem e rastreamento para programas paralelos escritos em várias
linguagens, seu método consiste em técnicas avançadas de instrumentação que
permitem registrar o comportamento de funções, métodos e blocos básicos.
EZTrace é uma ferramenta automática de rastreamento para aplicaç~es de alto
desempenho construídas com MPI e OpenMP. Ela utiliza o formato de rastro
genérico Pajé, é a primera versão do formato de rastro OTF, o rastreamento é
baseado em pacotes e, portanto, torna-se expansível.
Cluster x Grid
Cluster
Cluster consiste em computadores francamente ou fortemente ligados que
trabalham em conjunto, de modo, que em muitos aspectos podem ser considerados
como um único sistema, Diferente de Grid, os computadores em cluster tem cada
conjunto de nós, para executar a mesma tarefa, controlado via software.
Vantagens Cluster
Custo-benefício.
Não necessidade de uma máquina sofisticada .
Não depende de um único fornecedor ou prestador de serviço para reposição
de componentes.
Redundância para manutenção.
Desvantagens Cluster
Aconselhado a implementação localmente, não se pode acrescentar
máquinas que estejam distantes.
Grid
Modelo computacional capaz de alcançar uma alta taxa de processamento dividindo
as tarefas entre diversas máquinas, podendo ser em rede local ou longas, formando
uma VM (Virtual Machine). Na base atual da computação estão os cluster ou
computadores localizados em diferentes centros, conectado entre si por uma rede.
As grid são uma forma de computação distribuída em que um “supercomputador
virtual” é composto de muitos computadores francamente acoplados conectados em
rede agindo em conjunto para realização de grandes tarefas, concentra-se
principalmente no compartilhamento de recursos entre os sites distribuídos e no
desenvolvimento de aplicações inovadoras de alto desempenho.
O que a torna diferente dos demais sistemas de computação convencionais de alto
desempenho, como o cluster, por exemplo, pois seus computadores em grade tem
cada nó, uma configuração para executar uma tarefa/aplicativo, os grid tendem a ser
mais heterógeno e disperso, do que cluster.
Podemos dizer em geral, que Grid é um tipo especial de computação.
REFERENCIAS
Aglomerado Beowulf. Wikipédia, 2022. Disponível em:
https://pt.wikipedia.org/wiki/Aglomerado_Beowulf. Acesso em: 20, maio de 2022.

Cluster. Wikipédia, ano. Disponível em: https://pt.wikipedia.org/wiki/Cluster. Acesso


em: 20, maio de 2022.

Computação em Grelha. Wikipédia, 2022. Disponível em:


https://pt.wikipedia.org/wiki/Cluster. Acesso em: 20, maio de 2022.

O que é computação em grade? - Gridcafe . E-sciencecity.org. Retirado 2022-05-


2022.

 "Ferramentas de Programação Paralela para Solução de Equações" (pdf) . Retirado


em 20 de maio de 2022.

Cluster:definição, características e diferenças em relação ao grid. Programação


Progressiva, 2015. Disponível em:
https://www.programacaoprogressiva.net/2012/08/clusters-definicao-caracteristicas-
e.html#:~:text=Diferen%C3%A7a%20entre%20Grid%20e%20Cluster,apropriado)
%2C%20pr%C3%A9dio%20ou%20sala.. Acesso em: 20, maio de 2022.

"Microsoft PowerPoint - fundamentos" (pdf) . Retirado em 20 de maio de 2022.

ALECRIM, Emerson. Cluster: conceito e características. INFOWESTER. Disponível


em: https://www.infowester.com/cluster.php Acesso em: 20, maio de 2022.

Você também pode gostar