Buscar

AULA # 1 SISTEMAS DISTRIBUÍDOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sejam bem-vindos!
2020.2
Prof. Ricardo Barbosa
ricardo.barbosa@ibmr.br
Doutorado em Engenharia Nuclear (COPPE/UFRJ), com atuação em Inteligência Artificial, Machine
Learning, Métodos Probabilísticos combinados com Deep Learning e Decision Making. Mestrado em
Tecnologia, com ênfase em Modelagem Computacional (CEFET/RJ). Especialista em Ciência de
Dados (IM/UFRJ). Especialista em Física Nuclear (IEN/CNEN). Graduação em Física (UERJ). Na
área de educação, 30 anos de experiência como Professor de Cursos Regulares de Graduação,
Pós-Graduação, Extensão e Educação a Distância.
ricardopbarbosa@gmail.com
SISTEMAS DISTRIBUÍDOS
EMENTA
Aborda questões relacionadas ao projeto e gerenciamento de sistemas distribuídos,
discussão de ambientes, modelos de comunicação e arquiteturas existentes, além de
implementações de aplicações paralelas e distribuídas, como sistemas de arquivos
distribuídos, sistemas de transações distribuídas, clusters, grids, computação em
nuvem e web services.
Competências que vamos
DESENVOLVER
ANALISAR E RESOLVER PROBLEMAS
TRABALHAR EM EQUIPE
ESPÍRITO DE PESQUISA 
Sistema de Avaliações
D I S C I P L I N A S
TEÓRICAS e TEÓRICO-PRÁTICAS
N1
PESO 
4
N2
PESO 
6
A2 – AVALIAÇÃO(ÕES) A SER(EM) DEFINIDA(S) DE ACORDO COM OS 
OBJETIVOS DE APRENDIZAGEM (9,0 pontos) + APS (1,0 ponto)
Ou
SUB – AVALIAÇÃO SUBSTITUTIVA (APENAS se o aluno não realizar a A2
ou não alcançar a média 6,0 na disciplina. Substitui a nota da A2 quando a nota da 
SUB for superior)
0  10
CÁLCULO MÉDIA FINAL (MF) (N1*0,4) + (N2*0,6)
MODA L I D A D E
PRESENCIAL
A1 – AVALIAÇÃO(ÕES) A SER(EM) 
DEFINIDA(S) DE ACORDO COM OS OBJETIVOS DE 
APRENDIZAGEM
0  10
Nossas avaliações... 
APS
ANEXO APS
As atividades práticas supervisionadas (APS) compreendem atividades individuais ou em grupo
que prevêem a aplicação prática do que foi lecionado nas disciplinas. São integralizadas à
carga horária da disciplina conforme dispositivo legal definido pelo Ministério da Educação
(MEC).
Atividade Prática Supervisionada tem como objetivos proporcionar a você estudante:
• A aplicação dos conhecimentos adquiridos na disciplina;
• O desenvolvimento da sua autonomia no cumprimento das tarefas, mediante supervisão;
• A corresponsabilidade pelo seu aprendizado;
• A contextualização das especificações da área de conhecimento e/ou mercado de trabalho.
APS
AUTOAVALIAÇÃO
As estratégias metacognitivas integram o desenvolvimento de competências que implicam não somente
a assimilação de novos conteúdos, mas principalmente a tomada de consciência, da autoanálise e do
autojulgamento dos processos cognitivos, por meio dos quais o estudante pode decidir como melhor
realizar atividades ou alicerçar novas aprendizagens.
Ao assumir o controle e acompanhamento de sua própria aprendizagem, você desenvolverá sua
autonomia pedagógica, autoavaliando o processo de aprendizagem na construção da Atividade Prática
Supervisionada dessa disciplina.
Nossas
AVALIAÇÕES
Descrição Datas
N1
A1 Prova teórica (10,0 pontos) 21/10
N2 APS Atividade Prática Supervisionada (1,0 ponto) 28/10
A2 Prova teórica (9,0 pontos) 02/12
Substitutiva (10 pontos) 16/12
Datas
IMPORTANTES
N1
21/10
N2
02/12
APS
28/10
SUB.
16/12
Nossa Biblioteca... 
Nossas
BIBLIOTECAS
ibmr.br/biblioteca 
Acervo físico:
• Livros –
• Multimeios –
• TCC –
Acervo eletrônico:
• Livros –
• Periódicos –
• Teses e Dissertações – Acesso com login e 
senha
Referência bibliográfica: TANENBAUM, Andrew S., Sistemas Distribuídos Princípios e Paradigmas. São Paulo,
Pearson Prentice Hall, 2007. [Biblioteca virtual].
Nossas Aulas Remotas...
Aulas
REMOTAS
 Fique atento ao Mural de Avisos. Lá você encontrará todas as principais informações da sua 
disciplina.
 Ingresse pontualmente na aula. Atrasos atrapalham a dinâmica da aula e pode comprometer o andamento 
da disciplina.
 As avaliações podem ser acessadas em Atividades.
 Os materiais da disciplina poderão ser acessados em Material de Aulas.
Aulas
REMOTAS
Principais informações da 
disciplina
Material de estudo postado pelo 
seu professor
Aqui você acessa suas avaliações 
para realizá-las
Aqui você verifica suas notas e 
provas já realizadas 
Acesso às aulas remotamente
Acesso às aulas gravadas pelo seu 
professor e ao link de registro de presença 
(frequência mínima para aprovação: 75%)
GUIA DO
ALUNO
https://lp.ibmr.br/guiadoaluno/
https://lp.ibmr.br/guiadoaluno/
Bom semestre!
“Educação não transforma o mundo. Educação muda 
as pessoas. Pessoas transformam o mundo.”
Paulo Freire
FUNDAMENTOS DE SISTEMAS DISTRIBUÍDOS
INTRODUÇÃO
Nos primeiros momentos...
 Computadores: máquinas grandes e caras.
 Desenvolvimento do Microprocessador
 Desenvolvimento das Redes de Computadores
 Essas são as bases para o surgimento e crescimento dos sistemas distribuídos
atualmente.
SISTEMAS CENTRALIZADOS
Primeiros sistemas:
- Centralizados
- Único computador fazia controle do hardware e software disponível.
- Na década de 60
 Multiprogramação
 Tempo compartilhado: quantidade de usuários e trabalhos que podem ser realizados
eficientemente
 Número de usuários reduz a fatia de tempo (time-slice) disponível para cada um
 Aumento de interrupções e consumo dos recursos do sistema para tarefas de gerenciamento
 Barramento: eventual gargalo no sistema pela limitação de dados que podem circular nas
conexões.
 Desenvolvimento dos microprocessadores: Mainframes, com múltiplos processadores
aumentam a quantidade de trabalhos produzida por unidade de tempo (throughput), porém
mantendo suas características de segurança.
SISTEMAS PARALELOS (Múltiplos processadores)
Década de 70:
 Desenvolvimento dos microprocessadores
 Computadores de menor porte e de grande desempenho, definindo uma tendência para o
downsizing dos sistemas computacionais.
 Substituição de sistemas de grande porte por computadores de menor porte interligados e a
consequente descentralização.
 Sistemas Paralelos: sistemas genéricos de processamento distribuído entre vários nós
(computadores individuais, não necessariamente homogêneos) de maneira que um processo de
grande consumo possa ser executado em um nó disponível ou subdividido por vários nós.
Figura 1 - Mainframe IBM 3083 (32 Mb de armazenamento)
 Sistemas com múltiplos processadores:
 Tolerante à falhas.
 Se um processador falhar, outro processador assume a tarefa.
Tecnologia multicore (duo-core, quad-core, ...) pode ser considerada como uma arquitetura SMP
aplicada aos núcleos que fazem o papel de processadores conectados por barramento e
compartilhamento memória e sistema operacional.
 O ganho óbvio:
 Possibilidade de uma tarefa ser divisível em várias subtarefas que serão executadas
simultaneamente em paralelo.
 Necessidade de implementação de um Sistema de Controle de Processamento para gerenciar e
distribuir as tarefas entre os processadores resultando em um tempo de processamento total maior
que a soma das partes.
 Com a descentralização, ocorre a distribuição dos dados e processos entre vários ambientes
computacionais que mantém comunicação, podendo estar dispersos geograficamente.
 Benefícios:
 Mais processadores: mais tarefas em menos tempo, aumentando a produção (Throughput);
 Economia, pois o custo do processador é inferior ao custo do computador;
 Maior confiabilidade (Sistema Tolerante a Falha): a falha de um processador não paralisa o sistema.
 Características específicas dos sistemas paralelos: são definidas pela forma de comunicação entre
os processadores e o grau de compartilhamento dos recursos:
 Sistemas Fortemente Acoplados (Tightly Coupled): processadores compartilham memória (único
espaço de endereçamento) e são interligados por um barramento
 Sistemas Fracamente Acoplados (Loosely Coupled): computação distribuída entre vários
processadores físicos que trocam mensagens através de linhas de comunicação e possuem sua
própria memória local.
Sistemas Fortemente Acoplados
 O mais comum é definido como MultiprocessamentoSimétrico (Symmetric Multiprocessing - SMP)
 Não há hierarquia entre os processadores
 Cada processador executa uma cópia idêntica do Sistema Operacional que é responsável pelo
gerenciamento dos processos e compartilhamento de recursos.
 Em sistemas de Multiprocessamento Assimétrico
 Processador tem controle de todos os recursos do sistema em uma estrutura mestre/escravo que
se assemelha aos sistemas centralizados, possuindo mesmos benefícios e problemas.
 Utilizam processadores específicos para tarefas específicas podendo aumentar a eficiência para
tais tarefas, porém aumentando a complexidade do sistema.
Figura 2 - Burroughs B5500 (1961) (University of Virginia Computer Museum)
Sistemas Fracamente Acoplados
 Atuam de maneira independente e trocam mensagens através de uma infraestrutura de rede que
pode ser local (LANs - Local Area Network) ou de longa distância (WANs - Wide Area Network)
 É possível trabalhar com arquiteturas do tipo cliente-servidor ou peer-to-peer.
Figura 3 - Arquitetura cliente-servidor e ponto-a-ponto
 Os computadores estão interligados entre si, mas mantém sua “individualidade”, isto é, cada
computador tem seus próprios recursos de processador e memória local e utilizam um sistema de
comunicação como linha telefônica ou barramento de alta velocidade para trocar mensagens com
os demais computadores da rede.
 Não há necessidade dos computadores envolvidos na rede possuírem configurações similares de
hardware ou software podendo, cada computador, ter seu Sistema Operacional particular. Tudo o
que é necessário é conhecer o protocolo de comunicação.
 Estes sistemas são altamente flexíveis, pois são independentes da tecnologia, porém a
comunicação através de troca de mensagens reduz o desempenho do processamento global.
Sistemas Distribuídos
 Semelhante aos Sistemas de Rede, são menos autônomos, com seus componentes, interagindo o
suficiente para dar a impressão de um único sistema.
 Vantagens:
 Eficiente compartilhamento de recursos e da carga de trabalho
 Distribuição mais eficiente permite computação mais rápida
 Capacidade de Redundância
 Sistema de Tolerância a Falhas.
 Precisam que seus componentes possuam a mesma tecnologia para obter a ilusão de um sistema
único. Esta tecnologia única pode ser obtida através de hardware ou de software que implemente a
portabilidade dos sistemas.
 Um Sistema Operacional único para todos os computadores pode permitir o balanceamento da
carga de trabalho e dos recursos e controlar a redundância dos dados.
 Muitas vezes utilizado como sinônimo de Sistemas Distribuídos, o Cluster é o principal exemplo de
sistema distribuído e oferece um compartilhamento de armazenamento, sendo uma arquitetura
intermediária entre sistemas de multiprocessamento utilizada para computação de alto
desempenho com alta confiabilidade.
 Clustering assimétrico: Um servidor executa a(s) aplicação(ções) enquanto os outros ficam em
espera.
 Clustering simétrico: Todos os hosts estão executando a(s) aplicação(ções) .
Figura 4 – Cluster Beowulf
Sistemas Distribuídos x Redes
 Os termos Sistemas em Rede e Sistemas Distribuídos são utilizados para designar sistemas
fracamente acoplados que possuem as características de compartilhamento de recursos e
confiabilidade (tolerância a falhas), porém possuem características próprias que os diferenciam:
 Em Sistema de Redes temos computadores interligados em que o usuário (requisitante do serviço)
deve explicitamente especificar em qual máquina irá executar seus programas ou obter seus
recursos
 Em sistemas distribuídos temos a Transparência do Sistema: o usuário não “vê” os demais
computadores interligados permitindo que o sistema procure os recursos
SISTEMAS DISTRIBUÍDOS
 Os primeiros conceitos sugiram na década de 70 quando as redes de computadores começaram a
se tornar viáveis técnica e economicamente.
“Um Sistema Distribuído consiste de um conjunto
de processos distintos, espacialmente separados
que se comunicam por troca de mensagens”
Lamport, 1978
 Por Lamport, em 1978, qualquer rede de computadores interligada é considerado um sistema
distribuído.
 O conceito de tempo associado à transmissão de uma mensagem é importante em sistemas
distribuídos e é derivado do conceito de ordem dos eventos e é de particular interesse na solução
de problemas de sincronização.
 Nesta definição, computadores conectados em rede devem estar espacialmente separados por
alguma distância entre si, resultando como consequências:
 Concorrência
 Não existência de relógio global
 Falhas Independentes
 Concorrência (e seus problemas) existe porque no ambiente de redes, cada computador é
independente permitindo o trabalho simultâneo em várias máquinas.
 Inexistência de relógio global é consequência do fato do tempo necessário para a troca de
mensagens não ser desprezível em sistemas geograficamente dispersos.
 Todos os sistemas computacionais podem falhar de várias maneiras e é possível isolar uma parte
do sistema sem acarretar falha global. Algumas destas falhas são associadas a problemas diversos
de comunicação e algumas vezes são referidas como falhas Bizantinas.
“Sistema no qual os componentes de hardware e
software localizados em uma rede de computadores
se comunicam e coordenam suas ações somente
por troca de mensagens”
Coulouris et al, 2001
“Sistema Distribuído é um conjunto de
processadores que não compartilham memória nem
relógio. Os processadores se comunicam por meio
de redes de comunicação”
Silberschatz, 2000
 Os sistemas distribuídos são mais flexíveis e seus componentes possuem maior autonomia se
assemelhando muito a sistemas de rede, porém com o controle de um único Sistema Operacional,
Figura 5 - Rede de Comunicação
 A necessidade de um único sistema operacional se traduz em um ambiente homogêneo. Esta
opção pode não ser a mais apreciada, uma vez que o ambiente heterogêneo é um atrativo em
sistemas de compartilhamento de recursos dispersos, mas facilitaria a configuração e gerência
destes sistemas.
“Sistema Distribuído é um conjunto de computadores
independentes (autônomos) que se apresenta a seus
usuários (pessoas ou programas) como um sistema único
e coerente”
Tanenbaum, 2007
 Sistemas com autonomia reduzida, tipicamente unidos por uma camada de software e comumente
chamados de Middleware permitindo que possuam seu sistema operacional local.
 Para um conjunto de componentes autônomos aparentarem ser um único sistema deve ter
componentes que colaboram entre si. Precisarão executar as tarefas de maneira cooperativa,
estando sujeitos aos mesmos problemas de sincronização referidos anteriormente.
Apesar dos diferentes conceitos apresentados o termo “Distribuído” usualmente é reservado para
sistemas formados por processadores dispersos geograficamente compartilhando recursos e
cooperando para a realização de alguma tarefa.
Finalmente...
Sistema Distribuído é um conjunto de sistemas autônomos (independentes em recursos),
interligados por uma rede de comunicação que se comporta como um sistema fortemente
acoplado.
Características de Sistemas Distribuídos
 Ter um Sistema Distribuído não significa que ele é a melhor solução.
 Os principais objetivos de um sistema distribuído são:
 Compartilhamento de Recursos
 Confiabilidade
 Desempenho
COMPARTILHAMENTO DE RECURSOS
 Facilitar o acesso a recursos remotos (hardware, dados, páginas Web, etc...) e seu
compartilhamento.
 A razão óbvia para o compartilhamento dos recursos é a economia.

Outros materiais