STD29006 Sistemas Distribuídos

Documentos relacionados
Sistemas Distribuídos

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Introdução aos Sistemas Distribuídos

SIST706 Sistemas Distribuídos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuidos. Prof. Walter Gima

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

BCD29008 Banco de dados

Sistemas distribuídos. Prof. Emiliano Monteiro

Introdução à Ciência da Computação

Sistemas Distribuídos

Características de Sistemas Distribuídos

BCD29008 Banco de dados

Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

SISTEMAS DISTRIBUÍDOS

1- Confiabilidade ( 2 ) Proteção contra perdas e estragos. 2- Integridade ( 3 ) Proteção contra interferência de cortes de funcionamento

Curso: Redes de Computadores

de Redes de Computadores Linux

Arquitetura de sistemas distribuídos

Introdução a Sistemas Distribuídos

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

SISTEMAS DISTRIBUÍDOS

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Computação Distribuída

Conceitos de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos

Sistema de Software Distribuído

SUSEPE. Banca: Fundação La Salle

Administração de Serviços de Redes. Introdução a Clusters. Prof. Dayvidson Bezerra Contato:

Linguagem de Programação II

Tipos de Clusters. Introdução. Introdução 21/03/12

Arquitetura de Computadores Unidade 2 Organização Funcional dos Sistemas de Computação tópico Barramentos

Sistemas Distribuídos

Sistemas Distribuídos

Características de Sistemas Distribuídos

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Programação Concorrente

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

SI06 DIMENSÃO TECNOLÓGICA I

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA

Sistemas Distribuídos. Edy Hayashida

Informática I. Aula /09/2006 1

Tipos de Sistemas Operacionais

Introdução à Informática

Supercomputador Pleiades

Sistemas Operacionais Distribuídos

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS EVOLUÇÃO DA COMPUTAÇÃO

Programação Paralela e Distribuída

Processamento Paralelo

Aula 1 Conceitos Básicos

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

O que é um sistema distribuído?

Caracterização de Sistemas Distribuídos

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação

PROJETO LÓGICO DE REDE

Arquitetura de Computadores. Processamento Paralelo

Sistemas Distribuídos

Sistemas Distribuídos

Prof. Gregorio Perez 2007

Escola Politécnica da Universidade de São Paulo

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Infra Estrutura Hardware e Software

Organização de Computadores I

Introdução a SD e suas Metas

Organização e Arquitetura de Computadores I

Barramento. Prof. Leonardo Barreto Campos 1

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

ORGANIZAÇÃO DE COMPUTADORES

Sistemas Distribuídos

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Transcrição:

STD29006 Sistemas Distribuídos Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 28 de julho de 2017 1/22

Apresentação da disciplina Objetivo da disciplina Apresentar uma visão geral sobre conceitos de sistemas distribuídos e propiciar aos alunos meios para desenvolver aplicações distribuídas Carga horária: 36h teóricas + 18h práticas 09:40 11:30 - sexta-feira (semana alternada) 09:40 11:30 - toda terça-feira Local Lab. Redes II e Sala 12 Notas de aulas e interação Página da disciplina: http://docente.ifsc.edu.br/mello/std Comunicação por meio de lista de e-mails 2/22

Avaliação Avaliação escrita (AE) (individual e sem consulta) Quantidade: 01 Peso: 50% Recuperação: Avaliação escrita substitutiva no final do semestre abrangendo todo o conteúdo da disciplina Projeto prático (PP) (grupo com até 2 pessoas) Quantidade: 02 Peso: 50% Recuperação: Dedução de 10% do valor total da nota para cada dia de atraso após o prazo de entrega Conceito final (CF) CF = AE 0, 5 + 2 i=1 PP i 0, 25, CF N Critérios para aprovação na disciplina Mínimo 75% de presença e CF 6 3/22

Apresentação da disciplina Relação com outras unidades curriculares Laboratórios envolverão aplicativos Linux, linguagens C e Java 4/22

Apresentação da disciplina Conteúdo programático 1 Introdução aos sistemas distribuídos 2 Arquitetura de sistemas distribuídos 3 Comunicação em sistemas distribuídos 4 Serviço de nomes 5 Sincronismo em sistemas distribuídos 6 Tolerância a faltas 7 Segurança 5/22

Bibliografia TANENBAUM, Andrew S.; STEEN, Maarten van Sistemas Distribuidos: Princípios e paradigmas COULOURIS, George; KINDBERG, Tim; DOLLIMORE, Jean Sistemas Distribuídos: Conceitos e Projeto TANENBAUM, Andrew S. Sistemas operacionais modernos 6/22

Introdução aos Sistemas Distribuídos Definições TANENBAUM, Andrew S.; STEEN, Maarten van É uma coleção de computadores independentes que para os usuários se apresentam como um único sistema 7/22

Introdução aos Sistemas Distribuídos Definições COULOURIS, George; KINDBERG, Tim; DOLLIMORE, Jean É um sistema cujo componentes estão espalhados em computadores distintos que usam a rede para se comunicarem e coordenarem suas ações 7/22

Introdução aos Sistemas Distribuídos Definições Leslie Lamport Você sabe que tem um sistema distribuído quando a falha de um computador, que se quer sabia de sua existência, torna seu próprio computador inútil 7/22

Exemplo de Sistemas Distribuídos Aplicações Web 8/22

Exemplo de Sistemas Distribuídos Aplicações Web Brasil 8/22

Exemplo de Sistemas Distribuídos Aplicações Web Após digitar a URL o que acontece por debaixo? Como a página aparece no navegador? 9/22

Exemplo de Sistemas Distribuídos Aplicações Web Após digitar a URL o que acontece por debaixo? Como a página aparece no navegador? Passos 1 Resolver nome para IP Consultar servidor DNS Diversos IP podem estar associados 2 Conectar no IP HTTP GET e POST 3 Processar HTML 9/22

Exemplo de Sistemas Distribuídos Datacenter distribuídos Primeiros equipamentos da Google 10/22

Exemplo de Sistemas Distribuídos Datacenter distribuídos 10/22

Exemplo de Sistemas Distribuídos Datacenter distribuídos 10/22

Exemplo de Sistemas Distribuídos Datacenter distribuídos 10/22

Exemplo de Sistemas Distribuídos Computação distribuída Grande quantidade de informação a ser processada Supercomputadores são caros, combinar milhares de computadores é a saída mais barata SETI@HOME Use o tempo ocioso do teu CPU para buscar ETs http://setiathome.berkeley.edu Folding@HOME Simulação de enrolamento de proteínas para entender doenças com o mal de Alzheimer http://folding.stanford.edu Renderização de animações (p.e. Monstros S.A) Fazenda de renderização com 3.500 processadores A renderização de cada quadro de Sullivan demorou 12 horas 11/22

Exemplo de Sistemas Distribuídos Computação distribuída Grande quantidade de informação a ser processada Supercomputadores são caros, combinar milhares de computadores é a saída mais barata Em 1994 a NASA constrói o primeiro cluster Beowulf, usando 1.024 computadores comuns com sistema operacional Linux interconectados através de uma rede de computadores local (alta velocidade e baixa latência) e compartilhando um sistema de arquivos Hoje você pode construir o teu cluster Beowulf a partir de 2 computadores comuns e com distribuições Linux livecd 11/22

Exemplo de Sistemas Distribuídos Aviação 12/22

Por que Sistemas Distribuídos? Evolução nas taxas de transmissão Taxas de transmissão LAN 1976 2.94Mbps 1985 10Mbps 1991 10BaseT 10Mbps 1995 100Mbps 1998 1Gbps 2001 10Gbps 2010 100Gbps Taxas de transmissão WAN 1958 110bps 1984 2400bps 1991 14.4Kbps 1994 28.8Kbps 1996 33.6Kbps 2000 56Kbps 2005 24Mbps (ADSL2+) 13/22

Por que Sistemas Distribuídos? Evolução dos computadores 1945 Computadores caros e grandes 1974 Intel 8080 2Mhz 2004 Intel Pentium4 3.6Ghz 2011 Intel Xeon 10-core 3.33Ghz 2013 Intel i7 4-core 3.0Ghz 14/22

Por que Sistemas Distribuídos? Evolução dos computadores 1945 Computadores caros e grandes 1974 Intel 8080 2Mhz 2004 Intel Pentium4 3.6Ghz 2011 Intel Xeon 10-core 3.33Ghz 2013 Intel i7 4-core 3.0Ghz Não conseguimos mais aumentar a velocidade do processador Solução: Criar vários núcleos em um processador Sistemas paralelos em um chip 14/22

Sistemas paralelos: Multiprocessadores simétricos (SMP) Todos CPUs conectados em um barramento Memória compartilhada Relógio compartilhado Tudo ou nada falha 15/22

Sistemas paralelos: Multiprocessadores simétricos (SMP) Todos CPUs conectados em um barramento Memória compartilhada Relógio compartilhado Tudo ou nada falha 15/22

Sistemas paralelos: Multiprocessadores simétricos (SMP) Todos CPUs conectados em um barramento Memória compartilhada Relógio compartilhado Tudo ou nada falha 15/22

Comunicação com múltiplos computadores Não existe memória compartilhada Toda comunicação é através da rede de dados Tráfego é bem menor se comparado com o acesso a memória 16/22

O que é um Sistema Distribuído TANENBAUM, Andrew S.; STEEN, Maarten van É uma coleção de computadores independentes que para os usuários se apresentam como um único sistema Sem memória compartilhada e sem relógio compartilhado Usuário imagina que está interagindo com um único sistema Computadores autônomos que colaboram Como estabelecer esta colaboração é o principal ponto do desenvolvimento dos sistemas distribuídos 17/22

O que é um Sistema Distribuído Vantagens e Dificuldades Sistema continua operando mesmo diante da falha de um de seus integrantes (isolamento físico) O isolamento físico implica que nenhum nó terá conhecimento do estado global Como garantir a consistência da informação nos nós diante de atrasos ou perda de mensagens? 18/22

O que é um Sistema Distribuído Permite a comunicação entre aplicações Esconde das aplicações as diferenças de hardware e sistemas operacionais 19/22

Por que Sistemas Distribuídos? Sistemas com multiprocessadores não são escaláveis Desempenho vs Custo Renderização do Sullivan precisaria de um computador com 3.500 CPU. Algumas aplicações são nativamente distribuídas Navegação web, sistemas de monitoramento, sistemas de controle Algumas aplicações são críticas Deverá continuar funcionando, mesmo diante de uma falha (p.e. em um computador) 20/22

Por que Sistemas Distribuídos? Sistemas com multiprocessadores não são escaláveis Desempenho vs Custo Renderização do Sullivan precisaria de um computador com 3.500 CPU. Algumas aplicações são nativamente distribuídas Navegação web, sistemas de monitoramento, sistemas de controle Algumas aplicações são críticas Deverá continuar funcionando, mesmo diante de uma falha (p.e. em um computador) Por que estudar Sistemas Distribuídos na Eng. de Telecomunicações? Desenvolvimento de produtos na área necessariamente envolverá desenvolvimento de software Sistemas de telecomunicações são distribuídos por natureza 20/22

Resumo: características e dificuldades Distribuição Concorrência Comunicação Tempo Coordenação Falhas Segurança Como tratar problemas de comunicação, coordenação e segurança em um mundo com a presença de falhas e ausência da noção de tempo comum? 21/22

Exercício Você foi contratado para especificar uma solução escalável (hardware e software) para hospedar uma aplicação web desenvolvida em PHP + banco de dados MySQL. O principal requisito não funcional para solução é: menor custo inicial possível 1 Explique como sua solução oferecerá a escalabilidade vertical (scale up) 2 Explique como sua solução oferecerá a escalabilidade horizontal (scale out) 3 Das soluções apresentadas para as questões 1 e 2, quais necessariamente são sistemas distribuídos? Entrega: Discussão em sala na próxima aula 22/22