SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Clusters
Prof. Adriano Teixeira de Souza
   Conjunto de servidores agrupados com intenção de
    ganho de desempenho, disponibilidade, ou
    facilidade no gerenciamento.

   Início em 1994 pela NASA.

   Normalmente um cluster é composto por máquinas
    convencionais ligadas em uma rede de alto
    desempenho e fornecendo a abstração ao usuário
    de uma única máquina.



                           Prof. Adriano Teixeira de Souza
Prof. Adriano Teixeira de Souza
   Alta disponibilidade

   Balanceamento de carga

   Processamento paralelo (Beowulf cluster)




                           Prof. Adriano Teixeira de Souza
   Intenção de manter a maior disponibilidade
    possível dos serviços, através da duplicação de
    servidores, ambientes de rede, discos, etc.

   Disponibilidade x Downtime

   Sistema de monitoração interno no cluster
    garante que, no caso de falha do servidor ativo,
    o sistema em standby assumirá os serviços
    automaticamente e “instantaneamente”.


                           Prof. Adriano Teixeira de Souza
   Requisitos:

    ◦ Redundância de estrutura

    ◦ Camada de software de monitoração

    ◦ Mecanismos de sincronia

    ◦ Mecanismos de takeover (Mudança de controle)




                            Prof. Adriano Teixeira de Souza
   Pontos a refletir:

    ◦ Cluster versus hardware tolerante à falhas

    ◦ Custo versus Downtime




                         Prof. Adriano Teixeira de Souza
   Dificuldades:
    ◦ Implementação de sistema de failover completo,
      que possa identificar todos tipos de falha (single
      failure points) e eliminá-los.

    ◦ Failover de ação rápida;

    ◦ Manter a consistência de dados entre todos os
      nodes.

    ◦ Integridade de dados em caso de failover, e no
      failback para o node principal.


                                 Prof. Adriano Teixeira de Souza
   Cluster de balanceamento de carga disparam
    requisições de serviços de rede a múltiplos nós
    do cluster para balancear a carga de requisições
    entre os vários nós do cluster. O balanceamento
    de carga prove escalabilidade de porque você
    pode "combinar" o número de nós de acordo com
    a carga de requisições.

   Se um nó em um cluster de balanceamento de
    carga se tornar inoperante, o software de
    balanceamento de carga detecta a falha e
    redireciona as requisições para outros nós da
    rede


                           Prof. Adriano Teixeira de Souza
:80
          load balancer




:8001   :8002      :8003          :8004              :8005




                   Prof. Adriano Teixeira de Souza
   Beowulf é uma classe de cluster similar ao
    original da implementado pela NASA.

   Permite a computação paralela de alta
    performance em PCs comuns.

   O nome Beowulf vem de um herói muito
    valente que tinha a missão de derrotar um
    monstro.

    ◦ poema épico em inglês antigo.


                           Prof. Adriano Teixeira de Souza
   Um cluster Beowulf roda num sistema
    operacional Unix-like

   Rede TCP/IP

   Comumente utiliza-se MPI (Message Passing
    Interface) ou PVM (Parallel Virtual Machine).




                         Prof. Adriano Teixeira de Souza
   O principal objetivo de um cluster beowulf é
    aumentar o poder computacional e diminuir
    o tempo de execução de programas,
    distribuindo trechos do processamento pelos
    vários nós.

   Muito utilizado em laboratórios que
    necessitam fazer uma grande quantidade de
    cálculos numéricos.



                         Prof. Adriano Teixeira de Souza
   A arquitetura é composta por pelo menos um
    nó servidor e um conjunto de nós clientes
    conectados por uma rede Ethernet.

   Grandes clusters terão mais de um nó
    servidor.

   Não há nenhum hardware customizado.




                        Prof. Adriano Teixeira de Souza
   o Cluster Beowulf permite a construção de
    sistemas de processamento que podem
    alcançar altos valores de gigaflops

    ◦ um gigaflop equivale a 1 bilhão de instruções de
      ponto flutuante executadas por segundo




                             Prof. Adriano Teixeira de Souza
   Para o funcionamento o Beowulf precisa de
    um software específico que pode ser o Parallel
    Virtual Machine (PVM) ou Message Passing
    Interface (MPI).




                         Prof. Adriano Teixeira de Souza
#include <stdio.h>
                                                                         Exemplo MPI
#include <mpi.h>
int main (int argc, char *argv[])
{
    int rank, size,

    MPI_Init (&argc, &argv);


    MPI_Comm_rank (MPI_COMM_WORLD, &rank);

    MPI_Comm_size (MPI_COMM_WORLD, &size);

    printf( "Hello world from process %d of %dn", rank, size );

    MPI_Finalize();

    return 0;
}




                                             Prof. Adriano Teixeira 17 Souza
                                                                    de
Prof. Adriano Teixeira de Souza

Contenu connexe

Tendances

Aula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaAula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaVictor Hazin da Rocha
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoHus Juky
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosDaniel Arndt Alves
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começouguestaa94fe
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaSuzana Viana Mota
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisJocelma Rios
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10ºteacherpereira
 
Redes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de EnlaceRedes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de EnlaceWellington Oliveira
 
Trabalho de sistema operativo servidor
Trabalho de sistema operativo servidorTrabalho de sistema operativo servidor
Trabalho de sistema operativo servidordtml2k
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
Introdução aos Sistemas Operativos
Introdução aos Sistemas OperativosIntrodução aos Sistemas Operativos
Introdução aos Sistemas OperativosJorge Louro
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoAdriano Teixeira de Souza
 

Tendances (20)

Aula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação IndiretaAula de Sistemas Distribuídos - Comunicação Indireta
Aula de Sistemas Distribuídos - Comunicação Indireta
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
Linux Como Tudo Começou
Linux Como Tudo ComeçouLinux Como Tudo Começou
Linux Como Tudo Começou
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10º
 
Redes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de EnlaceRedes de Computadores Capítulo 3 - Camada de Enlace
Redes de Computadores Capítulo 3 - Camada de Enlace
 
Pseudoparalelismo
PseudoparalelismoPseudoparalelismo
Pseudoparalelismo
 
Trabalho de sistema operativo servidor
Trabalho de sistema operativo servidorTrabalho de sistema operativo servidor
Trabalho de sistema operativo servidor
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Introdução aos Sistemas Operativos
Introdução aos Sistemas OperativosIntrodução aos Sistemas Operativos
Introdução aos Sistemas Operativos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Aula- Virtualização
Aula- VirtualizaçãoAula- Virtualização
Aula- Virtualização
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Prazer, computação em nuvem
Prazer, computação em nuvemPrazer, computação em nuvem
Prazer, computação em nuvem
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de Projeto
 

En vedette

Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisAdriano Teixeira de Souza
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Arthur Emanuel
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Arthur Emanuel
 
O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?paxtecnologia
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxFrederico Madeira
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareAdriano Teixeira de Souza
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosPortal_do_Estudante_SD
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidadeMarcelo Garcia
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoLuiz Matos
 
Utilização de sistemas distribuidos
Utilização de sistemas distribuidosUtilização de sistemas distribuidos
Utilização de sistemas distribuidosDeroci Nonato Júnior
 
Sistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realSistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realRogério Cardoso
 
Modelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosModelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosPortal_do_Estudante_SD
 
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaArquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaCleber Fonseca
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresCleber Fonseca
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel UbiquaLuiz Matos
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarCleber Fonseca
 

En vedette (20)

Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids Computacionais
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00Sistemas Distribuídos - Aula 00
Sistemas Distribuídos - Aula 00
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUXARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
ARTIGO CLUSTER DE ALTA DISPONIBILIDADE EM SISTEMAS LINUX
 
O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em Linux
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de caso
 
Utilização de sistemas distribuidos
Utilização de sistemas distribuidosUtilização de sistemas distribuidos
Utilização de sistemas distribuidos
 
Sistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realSistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo real
 
Modelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosModelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídos
 
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplinaArquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
Arquiteturas Paralelas e Distribuídas - Aula1 - Apresentação da disciplina
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel Ubiqua
 
Artigo sd
Artigo sdArtigo sd
Artigo sd
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
 

Similaire à Sistemas Distribuídos - Clusters

TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação MonografiaLeon Homar
 
Escalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosEscalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosClaudio Eckert
 
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
[DataFest-2017] Apache Cassandra Para Sistemas de Alto DesempenhoEiti Kimura
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...Gustavo Henrique Rodrigues Pinto Tomas
 
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters) iG - Internet Group do Brasil S/A
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Flávio Lisboa
 
Sistema Operacional de Tempo Real(vx works)
Sistema Operacional de Tempo Real(vx works)Sistema Operacional de Tempo Real(vx works)
Sistema Operacional de Tempo Real(vx works)Jose Silva
 
Sistema Operacional de Tempo Real (vx works)
Sistema Operacional de Tempo Real (vx works)Sistema Operacional de Tempo Real (vx works)
Sistema Operacional de Tempo Real (vx works)Jose Silva
 
Alta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/LinuxAlta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/LinuxMario Bittencourt
 

Similaire à Sistemas Distribuídos - Clusters (20)

Cluster
ClusterCluster
Cluster
 
Aula 7 (clouter)
Aula 7 (clouter)Aula 7 (clouter)
Aula 7 (clouter)
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Flisol 2015
Flisol 2015 Flisol 2015
Flisol 2015
 
Apresentação Monografia
Apresentação MonografiaApresentação Monografia
Apresentação Monografia
 
Escalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizadosEscalonamento de processos em sistemas virtualizados
Escalonamento de processos em sistemas virtualizados
 
Clusters, o que é?
Clusters, o que é?Clusters, o que é?
Clusters, o que é?
 
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
[DataFest-2017] Apache Cassandra Para Sistemas de Alto Desempenho
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário - ...
 
Cluster
ClusterCluster
Cluster
 
Pres clusterpdf
Pres clusterpdfPres clusterpdf
Pres clusterpdf
 
XML-RPC.pdf
XML-RPC.pdfXML-RPC.pdf
XML-RPC.pdf
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
TDC2010 - Trilha Python: Python no iG (Automação de Datacenters)
 
Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3Escalabilidade via Software no ExpressoV3
Escalabilidade via Software no ExpressoV3
 
Aula01
Aula01Aula01
Aula01
 
Sistema Operacional de Tempo Real(vx works)
Sistema Operacional de Tempo Real(vx works)Sistema Operacional de Tempo Real(vx works)
Sistema Operacional de Tempo Real(vx works)
 
Cluster individual
Cluster   individualCluster   individual
Cluster individual
 
Sistema Operacional de Tempo Real (vx works)
Sistema Operacional de Tempo Real (vx works)Sistema Operacional de Tempo Real (vx works)
Sistema Operacional de Tempo Real (vx works)
 
Alta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/LinuxAlta disponibilidade em ambiente GNU/Linux
Alta disponibilidade em ambiente GNU/Linux
 

Plus de Adriano Teixeira de Souza

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Adriano Teixeira de Souza
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaAdriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)Adriano Teixeira de Souza
 

Plus de Adriano Teixeira de Souza (20)

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
 
Estrutura de dados - Árvores Binárias
Estrutura de dados - Árvores BináriasEstrutura de dados - Árvores Binárias
Estrutura de dados - Árvores Binárias
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
 

Sistemas Distribuídos - Clusters

  • 2. Conjunto de servidores agrupados com intenção de ganho de desempenho, disponibilidade, ou facilidade no gerenciamento.  Início em 1994 pela NASA.  Normalmente um cluster é composto por máquinas convencionais ligadas em uma rede de alto desempenho e fornecendo a abstração ao usuário de uma única máquina. Prof. Adriano Teixeira de Souza
  • 4. Alta disponibilidade  Balanceamento de carga  Processamento paralelo (Beowulf cluster) Prof. Adriano Teixeira de Souza
  • 5. Intenção de manter a maior disponibilidade possível dos serviços, através da duplicação de servidores, ambientes de rede, discos, etc.  Disponibilidade x Downtime  Sistema de monitoração interno no cluster garante que, no caso de falha do servidor ativo, o sistema em standby assumirá os serviços automaticamente e “instantaneamente”. Prof. Adriano Teixeira de Souza
  • 6. Requisitos: ◦ Redundância de estrutura ◦ Camada de software de monitoração ◦ Mecanismos de sincronia ◦ Mecanismos de takeover (Mudança de controle) Prof. Adriano Teixeira de Souza
  • 7. Pontos a refletir: ◦ Cluster versus hardware tolerante à falhas ◦ Custo versus Downtime Prof. Adriano Teixeira de Souza
  • 8. Dificuldades: ◦ Implementação de sistema de failover completo, que possa identificar todos tipos de falha (single failure points) e eliminá-los. ◦ Failover de ação rápida; ◦ Manter a consistência de dados entre todos os nodes. ◦ Integridade de dados em caso de failover, e no failback para o node principal. Prof. Adriano Teixeira de Souza
  • 9. Cluster de balanceamento de carga disparam requisições de serviços de rede a múltiplos nós do cluster para balancear a carga de requisições entre os vários nós do cluster. O balanceamento de carga prove escalabilidade de porque você pode "combinar" o número de nós de acordo com a carga de requisições.  Se um nó em um cluster de balanceamento de carga se tornar inoperante, o software de balanceamento de carga detecta a falha e redireciona as requisições para outros nós da rede Prof. Adriano Teixeira de Souza
  • 10. :80 load balancer :8001 :8002 :8003 :8004 :8005 Prof. Adriano Teixeira de Souza
  • 11. Beowulf é uma classe de cluster similar ao original da implementado pela NASA.  Permite a computação paralela de alta performance em PCs comuns.  O nome Beowulf vem de um herói muito valente que tinha a missão de derrotar um monstro. ◦ poema épico em inglês antigo. Prof. Adriano Teixeira de Souza
  • 12. Um cluster Beowulf roda num sistema operacional Unix-like  Rede TCP/IP  Comumente utiliza-se MPI (Message Passing Interface) ou PVM (Parallel Virtual Machine). Prof. Adriano Teixeira de Souza
  • 13. O principal objetivo de um cluster beowulf é aumentar o poder computacional e diminuir o tempo de execução de programas, distribuindo trechos do processamento pelos vários nós.  Muito utilizado em laboratórios que necessitam fazer uma grande quantidade de cálculos numéricos. Prof. Adriano Teixeira de Souza
  • 14. A arquitetura é composta por pelo menos um nó servidor e um conjunto de nós clientes conectados por uma rede Ethernet.  Grandes clusters terão mais de um nó servidor.  Não há nenhum hardware customizado. Prof. Adriano Teixeira de Souza
  • 15. o Cluster Beowulf permite a construção de sistemas de processamento que podem alcançar altos valores de gigaflops ◦ um gigaflop equivale a 1 bilhão de instruções de ponto flutuante executadas por segundo Prof. Adriano Teixeira de Souza
  • 16. Para o funcionamento o Beowulf precisa de um software específico que pode ser o Parallel Virtual Machine (PVM) ou Message Passing Interface (MPI). Prof. Adriano Teixeira de Souza
  • 17. #include <stdio.h> Exemplo MPI #include <mpi.h> int main (int argc, char *argv[]) { int rank, size, MPI_Init (&argc, &argv); MPI_Comm_rank (MPI_COMM_WORLD, &rank); MPI_Comm_size (MPI_COMM_WORLD, &size); printf( "Hello world from process %d of %dn", rank, size ); MPI_Finalize(); return 0; } Prof. Adriano Teixeira 17 Souza de