Você está na página 1de 10

UNIVERSIDADE PAULISTA – UNIP

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

MARIA FERNANDA CANUTO GALLÃO


N412EF-4

SISTEMAS DISTRIBUIDOS

RIBEIRÃO PRETO
2022
MARIA FERNANDA CANUTO GALLÃO

SISTEMAS DISTRIBUIDOS

Trabalho acadêmico apresentado à disciplina de


Sistemas Distribuidos do Curso Ciência da
Computação da Faculdade Universidade Paulista-
UNIP como requisito de nota parcial da NP2 da
Turma CC7Q18. Requerido pelo prof. Camila KS
Prado.

RIBEIRÃO PRETO
2022
SUMÁRIO

1 INTRODUÇÃO...........................................................................................................4
2 DESENVOLVIMENTO...............................................................................................5
2.1 DESENVOLVIMENTO (SUBTÍTULOS SE HOUVER)........................................6
2.1.1 Desenvolvimento (Subtítulos se houver).................................................6
3 CONSIDERAÇÕES FINAIS.......................................................................................7
REFERÊNCIAS............................................................................................................8

1 CLUSTER

Um cluster é um tipo de sistema de processamento paralelo que consiste em uma coleção


de computadores independentes interconectados através de uma rede, trabalhando
cooperativamente como um único e integrado recurso computacional.
Um cluster típico:
 Rede mais rápida e próxima do que uma rede local;
 Protocolos de comunicação de baixa latência;
 Conexão mais frouxa que um SMP.

A ideia por detrás do uso de clusters é espalhar as cargas entre todos os computadores
disponíveis, usando ao máximo os recursos que estão livres nas outras máquinas. A
unidade básica do cluster é um único computador, também chamado de nó, também podem
aumentar de tamanho pela adição de outras máquinas.
O cluster como um todo será mais poderoso quanto mais rápidos forem os seus
computadores individualmente e quanto mais rápida for a rede de interconexão que os
conecta, além disso, o sistema operacional de um cluster deve fazer o melhor uso do
hardware disponível em resposta às mudanças de condições da computação.
Isto será um grande desafio se o cluster for composto de diferentes tipos de computador
(um cluster “heterogêneo”) , se um grande número de máquinas deixar e entrar no cluster
aleatoriamente e se as cargas não puderem ser previstas com antecipação.
Basicamente existem 3 tipos de clusters:
1. Tolerante a falhas;
2. Balanceamento de Carga;
3. Computação de Alto Desempenho;

Explicação:
1. Clusters Tolerantes à Falhas consistem em dois ou mais computadores conectados em rede
com um software de monitoração (heart-beat) instalado entre os dois.
2. Cluster com Balanceamento de Carga utilizam o conceito de, por exemplo, quando um
pedido chega para um servidor Web, o cluster verifica qual a máquina menos carregada e
envia o pedido para esta máquina.
3. A última variação de cluster é o de alto desempenho: as máquinas são configuradas
especialmente para oferecer o maior desempenho possível, estes tipos de clusters também
tem algumas funcionalidades para balanceamento de carga, já que eles tentam espalhar os
processos por máquinas diferentes para obter maior desempenho. Mas o que ocorre
normalmente é que um processo é paralelizado e que as rotinas (ou threads) é que podem
executar em paralelo em máquinas diferentes.
5

ARQUITETURA DE UM CLUSTER

2 CLUSTER BEOWULF

Segundo Bookman (2003) Beowulf é um projeto de clusters de computadores para


computação paralela criados por Thomas Sterling e Don Becker em 1994 na NASA-Goddard
(CESDIS, o Centro de Excelência em Dados Espaciais e Ciências da Informação). Foi
construído principalmente devido à insatisfação de fornecedores estabelecidos e à falta de
suporte. Tipicamente, um Cluster Beowulf é composto por um conjunto de componentes de
commodities. Bookman (2003) explica que normalmente um cluster Beowulf atende aos
seguintes requisitos:

1. Os nós são compostos de software estritamente de código aberto;


2. Os nós e a rede são dedicados ao cluster e são usados apenas para computação de alto
desempenho (computação paralela);
6

3. Os nós são compostos apenas por componentes de commodity e de prateleira.


O alto custo dos supercomputadores da época e a possibilidade de encontrar hardwares de
commodities a baixo custo ajudaram a tornar o projeto Beowulf bem-sucedido. A
disponibilidade6 de software livre, como o Linux, o PVM e o Message Passing Interface
(MPI), e compiladores, como o GCC, também serviram para tornar esse tipo de computação
acessível (BOOKMAN, 2003)

3 COMPUTAÇÃO PARALELA

A computação paralela tem sido usada em aplicações que exigem o processamento


de grandes quantidades de dados. Por exemplo: Big Data, Inteligência Artificial,
ferramentas de pesquisa na web, serviços empresariais baseados na Web, projeto
farmacêutico, modelagem financeira e econômica, gestão de corporações nacionais
e multinacionais, gráficos avançados e realidade virtual, particularmente na indústria
do entretenimento, tecnologias de vídeo e multimídia em rede e exploração de óleo
(BARNEY et al., 2010). De acordo com Tokhi, Hossain e Shaheed (2012) um grande
número de tipos de arquiteturas paralelas foi desenvolvido ao longo dos anos.
Consequentemente, não é fácil desenvolver um sistema de classificação simples
para arquiteturas paralelas. Além disso, vários tipos de arquiteturas paralelas têm
características sobrepostas a diferentes extensões. No entanto, as várias formas de
arquiteturas podem ser distinguidas sob as seguintes categorias amplas:

1. Classificação de Flynn.
2. Classificação por Arquitetura de memória.

CLASSIFICAÇÃO DE FLYNN

A classificação de Flynn é baseado nos conceitos de fluxos instruções e fluxos de


dados. Um fluxo de instruções corresponde a um contador de programa. Um sistema
com n CPUs tem n contadores de programa, por conseguinte, n fluxos de instruções.
O fluxo de dados consiste em um conjunto de operandos.
7

A Figura 1 mostra que durante a execução do programa, a CPU busca instruções e


dados da memória principal, processa os dados de acordo com as instruções e
envia os resultados para a memória principal após o processamento ter sido
concluído. As instruções são referidas como um fluxo de instruções, que flui da
memória principal para o CPU, e os dados são chamados de fluxo de dados, fluindo
para e do CPU.

Figura 1

Com base nesses fluxos, o Flynn classificou os computadores em quatro classes


principais, descritas abaixo.
1. Arquitetura Single-instruction Single-data Stream (SISD) Figura 2
2. Arquitetura Single-instruction Multiple-data (SIMD) Figura 3
3. Arquitetura Multiple-instruction Single-data (MISD) Figura 4
4. Arquitetura Multiple-instruction Multiple-data (MIMD) Figura 5

Figura 2
8

Figura 3

Figura 4

Figura 5

CLASSIFICAÇÃO POR ARQUITETURA DE MEMÓRIA

Arquiteturas paralelas podem ser classificadas em duas categorias principais em


termos de arranjo de memória. São eles: multiprocessadores (memória
compartilhada) e multicomputadores (memória distribuída). De fato, essas
arquiteturas constituem uma subdivisão da arquitetura paralela do MIMD.
Arquiteturas de memória compartilhada e memória distribuída também são
chamadas de arquiteturas fortemente acopladas e fracamente acopladas
respectivamente. Cada tipo de arquitetura tem suas vantagens e desvantagens.
9

COMPARTILHADA

Um computador paralelo no qual todas as CPUs compartilham uma memória comum


é denominado um multiprocessador
Em relação ao tipo de acesso às memórias do sistema, multiprocessadores podem
ser classificados como:
1. Uniform Memory Access (UMA);
2. Non-Uninform Memory Access (NUMA);
3. Cache-Only Memory Access (COMA).

DISTRIBUÍDA
o aspecto fundamental de um Multicomputador que o diferencia de Multiprocessador
é que cada unidade dessa arquitetura é um bloco de construção de computadores
completo, incluindo o processador, a memória e o sistema de E/S e cada CPU tem
sua própria memória local privada acessível somente a ela mesma e nenhuma outra.
Para se comunicar elas passam mensagens uma para outra usando a rede de
interconexão.
Os multicomputadores podem ser divididos em duas categorias, a primeira chame-
se Massively Parallel Processors (MPP), são supercomputadores caros que
consistem em muitas CPUs fortemente acopladas por uma rede de interconexão
proprietária de alta velocidade. A outra categoria consiste em PCs ou estações de
trabalho comuns, possivelmente montados em estantes e conectados por tecnologia
de interconexão comercial, de prateleira. Em termos de lógica, não há muita
diferença, mas supercomputadores enormes que custam muitos milhões de dólares
são usados de modo diferente das redes de PCs montadas pelos usuários por uma
fração do preço de um MPP. Essas máquinas caseiras são conhecidas por vários
nomes, entre eles Network of Workstations (NOW), Cluster of Workstation (COW) ou
apenas cluster.

4 VANTAGENS E DESVANTAGENS

CLUSTERS
10

Pode-se obter resultados tão bons quanto ou até superiores que um servidor sofisticado a
partir de máquinas mais simples e mais baratas (ótima relação custo-benefício);
 Não é necessário depender de um único fornecedor ou prestador de serviço para reposição
de componentes; - a configuração de um cluster não costuma ser trivial, mas fazer um
supercomputador funcionar poder ser muito mais trabalhoso e exigir pessoal especializado;
 É possível aumentar a capacidade de um cluster com a adição de nós ou remover máquinas
para reparos sem interromper a aplicação;
 Há opções de softwares para cluster disponíveis livremente, o que facilita o uso de uma
solução do tipo em universidades, por exemplo;
 Relativa facilidade de customização para o perfeito atendimento da aplicação;
 Um cluster pode ser implementado tanto para uma aplicação sofisticada quanto para um
sistema doméstico criado para fins de estudos, por exemplo.
 Mas, apesar destes benefícios, os clusters não são a solução perfeita para todo e qualquer
problema computacional. Há aplicações onde o uso de outra tecnologia se mostra mais
adequado.
 A facilidade de expansão do cluster pode ser uma "faca de dois gumes": a quantidade de
máquinas pode aumentar tanto que a manutenção se torna mais trabalhosa, o espaço físico
pode ficar impróprio etc.
 A tecnologia de comunicação utilizada pode não oferecer a velocidade de transferência de
dados ou o tempo de resposta necessário, dependendo da aplicação;
 Um cluster tem como base uma rede local, logo, não se pode acrescentar máquinas que
estejam muito distantes geograficamente.

Ao contrário dos Grids, que geralmente interligam grandes distâncias, países, universidades,
empresas e organizações, os clusters são mais locais. Os membros de um cluster são chamados de
nós e geralmente ficam em um datacenter (ambiente apropriado), prédio ou sala.
A administração dos recursos, tanto de hardware como de processamento, também é de ordem local
(geralmente de uma empresa), diferente do Grid, onde cada um contribui e administra 'um pouco'.
É óbvio, notar que o poder de um Grid, em geral é mais amplo, tanto fisicamente (já que engloba
sistemas em distâncias físicas maiores e tem mais membros, que geralmente incluem vários clusters )
e por administrar membros heterogêneos, ou seja, em um cluster, os membros geralmente são
homogêneos, são parecidose preferência, são o mesmo...o mesmo computador, processador,
mesmo tamanho e capacidade em tudo.

Você também pode gostar