Sistemas Distribuídos (DCC/UFRJ)



Documentos relacionados
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Aula 03-04: Modelos de Sistemas Distribuídos

Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Sistemas Distribuídos. Introdução

Infra-estrutura de Software. Apresentação!

Infra-estrutura de Software

Arquitetura dos Sistemas de Informação Distribuídos

Motivos para você ter um servidor

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

PRÓ - REITORIA ACADÊMICA PLANO DE ENSINO

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

REDES DE COMPUTADORES HISTÓRICO E CONCEITOS


Classificação Quanto. Sistemas de Lotes (2) Sistemas de Lotes (3)

Capítulo 3 Projeto de Arquitetura

Curso: Redes II (Heterogênea e Convergente)

Modelos de Sistemas Distribuídos. . Requerimentos de Projeto para Arquiteturas Distribuídas

Questão 1. Benefícios. Benefícios. Desafios. Desafios. 1. Quais são os desafios e benefícios em potencial da computação distribuída?

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

Sistemas Distribuídos Aula 2

Introdução à Computação: Sistemas de Computação

PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO (PROENG) ASSESSORIA DE DESENVOLVIMENTO ASSESSORIA JURÍDICA

Rede de Computadores (REC)

CURSO DE SISTEMAS DE INFORMAÇÃO

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Capítulo II Modelos de Programação Distribuída

Nível do Sistema Operacional

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

Estrutura de um Rede de Comunicações

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados

Diagrama lógico da rede da empresa Fácil Credito

MODELAGEM DE PROCESSOS USANDO BPMN (BUSINESS PROCESS MODEL AND NOTATION) E IOT (INTERNET DAS COISAS)

Sistemas Operacionais. Prof. André Y. Kusumoto

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

ICORLI INSTALAÇÃO, CONFIGURAÇÃO E OPERAÇÃO EM REDES LOCAIS E INTERNET

Arquiteturas de Sistemas Distribuídos

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Requisitos de Sistemas

Edeyson Andrade Gomes.

Redes de Computadores

Topologia de rede Ligação Ponto-a-Ponto

Sistemas Distribuídos

Modelos de Arquiteturas. Prof. Andrêza Leite

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Política comercial Válida a partir de Agosto de 2015

Diagrama de Estrutura Composta

Redes de Computadores. Prof. Ivair Teixeira

Paradigmas de Linguagens de Programação

Banco de Dados Orientado a Objetos

Arquitetura dos Sistemas Operacionais

Política Gestão de Configuração e Mudança

Load Balance Benefícios e vantagens dessa funcionalidade.

SISTEMAS DISTRIBUIDOS

Modelos Arquiteturais

DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS

SISTEMAS DISTRIBUIDOS E PARALELOS 2014/2015 1º SEMESTRE

Prof. Samuel Henrique Bucke Brito

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Camada de Transporte, protocolos TCP e UDP

SUPLEMENTO Nº 02. O presente Suplemento tem por finalidade introduzir no Edital da Licitação as seguintes alterações:

Interconexão de Redes. Aula 03 - Roteamento IP. Prof. Esp. Camilo Brotas Ribeiro cribeiro@catolica-es.edu.br

Manual de instalação, configuração e utilização do Enviador XML

Administração de Sistemas de Informação

Componente de Formação Técnica. Disciplina de

DDoS: como funciona um ataque distribuído por negação de serviço

Sistemas Distribuídos. Fundamentos. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais Arquitetura e organização de sistemas operacionais: Uma visão estrutural hardware & software. Prof. MSc.

JSensor: Uma plataforma paralela e distribuída para simulações de redes de sensores

Infra-Estrutura de TI: Hardware e Software

Domínios. Domínios Mundiais Usado para atividades comerciais. Usado em instituições sem fins lucrativos. Usado para nomes pessoais.

MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF.

Universidade Salgado de Oliveira

ÁREA DISCIPLINAR DE CIÊNCIA E TECNOLOGIA DA PROGRAMAÇÃO. Tem sob a sua responsabilidade as seguintes unidades curriculares:

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

PRÓ-REITORIA DE EXTENSÃO, PESQUISA E INOVAÇÃO DIRETORIA DE INOVAÇÃO E PESQUISA FORMULÁRIO II: Relatório de Atividades de Pesquisa

Redes de Computadores II

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Estudo dos Principais Conceitos de Virtualização

Organização de Computadores 1. Prof. Luiz Gustavo A. Martins

UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC CENTRO DE EDUCAÇÃO SUPERIOR DO ALTO VALE DO ITAJAÍ CEAVI PLANO DE ENSINO

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Transcrição:

Sistemas Distribuídos (DCC/UFRJ) Aula 1: 4 de abril de 2016

1 Conceitos básicos sobre sistemas distribuídos 2

Computação distribuída

Computação distribuída A computação distribuída envolve o projeto, implementação e avaliação de algoritmos que executam em processadores distintos, interconectados por meio de canais de comunicação Cenários de SDs: telecomunicações, serviços Web, computação científica, controle de processos de tempo real, cidades inteligentes, etc. Os SDs devem funcionar de forma correta, mesmo com processadores individuais e canais de comunicação operando em diferentes velocidades, e mesmo na ocorrência de falhas em parte dos componentes do sistema

Motivação para sistemas distribuídos Compartilhamento de recursos: impressoras, páginas Web, registros de bases de dados, capacidade de processamento e armazenamento, etc Gerenciamento de recursos por atores especiais: servidores gerenciam recursos acessados por clientes remotos Integração de diferentes agentes e fontes de informação: tecnologias de sensoreamento, mobilidade, atuação, etc

Comunicação entre processos Processos na mesma máquina usam primitivas de comunicação inter-processos (providas pelo SO), em máquinas distintas é preciso usar troca de mensagens : Sockets: processos enviam e recebem mensagens através do seu socket (interface entre a camada de aplicação e a camada de transporte) Endereçamento de processos: nome ou endereço da máquina destino identificador do processo na máquina destino (número da porta, ex., porta 80 para um servidor WEB)

Características de sistemas distribuídos Características fundamentais Consistem de componentes autônomos Os usuários (ou programas) vêem o sistema como um todo (i.e., de uma forma ou de outra os componentes precisam colaborar) Como estabelecer essa colaboração é o núcleo do desenvolvimento de sistemas distribuídos Consequências Execução de tarefas concorrentes Ausência de relógio global Independência de falhas (cada componente pode falhar isoladamente, enquando os demais permanecem em execução)

Desafios principais para sistemas distribuídos 1 Heterogeneidade 2 Segurança 3 Escalabilidade 4 Tratamento de falhas 5 Concorrência 6 Transparência 7 Formas de acesso aos serviços

Heterogeneidade SDs são construídos sobre uma variedade de redes, SOs, plataformas de hardware e LPs Em geral, nenhuma premissa deve ser feita com relação ao tipo dos computadores (PCs, mainframes) e ao modo de interconexão (cabeada, sem fio)

Segurança Conceitos básicos sobre sistemas distribuídos Segurança em SDs envolve proteger os recursos compartilhados e as informações trocadas via mensagens

Escalabilidade Dimensões de escalabilidade Escalabilidade em SDs pode ser medida em três dimensões: 1 Tamanho: medida da dificuldade e custo de adicionar recursos e usuários ao sistema 2 Geografia: até que ponto usuários e recursos podem estar distantes uns dos outros 3 Administração: medida da dificuldade de gerenciar o sistema, especialmente quando envolve várias organizações

Escalabilidade Técnicas de escalabilidade Comunicação assíncrona: oculta a latência de comunicação Distribuição: particiona um componente em partes menores e espalha essas partes pelo sistema Replicação: aumenta a disponibilidade e permite balanceamento de carga (pode gerar problema de consistência)

Tratamento de falhas Processos, rede e hardware podem falhar independentemente dos outros elementos Cada componente precisa ser projetado de forma a saber lidar com as possíveis falhas

Concorrência O desenvolvimento de um SD consiste em dividir a aplicação em tarefas que podem ser submetidas à execução concorrente Cada componente precisa ser projetado de forma a saber lidar com as questões referentes à concorrência (exclusão mútua, estratégia de interação entre os elementos da aplicação e de controle da evolução da aplicação)

Transparência O conceito de transparência pode ser aplicado a vários aspectos de um SD: 1 Acesso: oculta diferenças na representação dos dados e no modo de acesso a um recurso 2 Localização: oculta o local que o recurso está armazenado 3 Realocação: oculta a possibilidade de movimentação do recurso enquanto em uso 4 Replicação: oculta o fato do recurso ser replicado 5 Concorrência: oculta o fato do recurso poder ser acessado por vários usuários simultaneamente 6 Falha: oculta a falha e recuperação de um recurso

Transparência Embora a transparência seja em geral desejada, há situações nas quais ocultar completamente dos usuários o aspecto da distribuição não é a melhor opção ex., atualizações que envolvem várias réplicas em continentes distintos: é melhor o usuário saber o custo para atualizar as informações outro ex., com a mobilidade dos dispositivos, a noção de localização e percepção de contexto pode ser útil e necessária

Formas de acesso aos serviços Um SD que oferece serviços conhecidos deve adotar regras padronizadas de sintaxe e semântica para garantir o acesso remoto

Objetivos da disciplina Objetivo geral Apresentar as principais motivações e desafios da área de computação distribuída, e os algoritmos e modelos arquiteturais fundamentais para o desenvolvimento de sistemas distribuídos www.dcc.ufrj.br/(til)silvana/sd Metodologia Aulas teóricas intermeadas com exercícios práticos de implementação

Aplicação alvo

Programa da disciplina Conceitos fundamentais sobre sistemas distribuídos Comunicação entre processos via troca de mensagens Paradigmas de sistemas distribuídos (cliente/servidor, p2p) Modelos (de interação, de falhas de canais e processos) Sincronização e coordenação (relógios lógicos, causalidade, estados globais, eleição de ĺıder, acordo distribuído, exclusão mútua distribuída) Tolerância a falhas Medidas de eficiência Abstrações de programação (RPC, publish/subscribe) Redes de sensores

Avaliação O cálculo da média final do aluno será feito através da seguinte equação: M f = (N p 0.5) + (T 0.5), onde N p equivale à nota de participação do aluno (frequência, participação nas aulas, implementação correta dos exercícios propostos). Se o aluno obtiver média final (M f ) igual ou superior a 7.0 ele será dispensado da prova suplementar e sua nota final será a média obtida (N f = M f ). Caso contrário, se o aluno obtiver média final (M f ) maior ou igual a 3.0 e menor que 7.0, ele deverá fazer a P s e sua nota final será dada pela equação: N f = (M f + P s )/2 Os alunos que alcançarem nota final (N f ) igual ou superior a 5.0 e frequência mínima de 75% serão aprovados.

Referências bibliográficas 1 Sistemas Distribuídos - Princípios e Paradigmas, A. S.Tanenbaum e M. Van Steen, 2ed., Pearson Prentice Hall, 2007 2 Introduction to Reliable and Secure Distributed Programming, C. Cachin, R. Guerraoui and L. Rodrigues, Springer, 2011 3 Distributed Systems: Concepts and Design, G. Coulouris, J. Dollimore and T. Kindberg, Addison Wesley, 4 ed., 2005 4 Redes de Computadores e a Internet, Kurose and Ross, Pearson, 2010 5 Artigos científicos