Sistemas Distribuídos

Documentos relacionados
STD29006 Sistemas Distribuídos

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

Introdução aos Sistemas Distribuídos

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

SIST706 Sistemas Distribuídos

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

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuidos. Prof. Walter Gima

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

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

Sistemas distribuídos. Prof. Emiliano Monteiro

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

Curso: Redes de Computadores

SISTEMAS DISTRIBUÍDOS

de Redes de Computadores Linux

Sistemas Distribuídos

Características de Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS

Linguagem de Programação II

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

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

SISTEMAS DISTRIBUÍDOS

Introdução a Sistemas Distribuídos

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

SUSEPE. Banca: Fundação La Salle

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

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

Computação Distribuída

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

Introdução à Informática

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

Caracterização de Sistemas Distribuídos

Programação Concorrente

Sistema de Software Distribuído

Arquitetura de sistemas distribuídos

Supercomputador Pleiades

Tipos de Sistemas Operacionais

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

Informática I. Aula /09/2006 1

Conceitos de Sistemas Distribuídos

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

SI06 DIMENSÃO TECNOLÓGICA I

BCD29008 Banco de dados

Características de Sistemas Distribuídos

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

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA

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

Barramento compartilhado

Programação Paralela e Distribuída

Sistemas Distribuídos. Edy Hayashida

Sistemas Operacionais Distribuídos

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

Aula 1 Conceitos Básicos

Escola Politécnica da Universidade de São Paulo

Sistemas Distribuídos

Informática I. Aula 2. Ementa

Organização de Computadores I

Sistemas Operacionais. Tipos de SO

Sistemas Distribuídos

BCD29008 Banco de dados

Barramento. Prof. Leonardo Barreto Campos 1

Organização e Arquitetura de Computadores I

Organização de Computadores Sistema de Interconexão. Professor: Francisco Ary

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

Arquitetura de Computadores. Processamento Paralelo

Prof. Gregorio Perez 2007

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core

Sistemas Distribuídos

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Sistemas Distribuídos

Infra Estrutura Hardware e Software

Cliente-servidor Código móvel Agentes de software Processos pares. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

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

Introdução à Computação MAC0110

Transcrição:

Sistemas Distribuídos Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br 29 de julho de 2015 1/21

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: 36hs teóricas + 18hs práticas 07:30 09:20 - quarta-feira (2hs) semana alternada 07:30 09:20 - toda quinta-feira (2hs) Notas de aulas e interação Página da disciplina: http://www.sj.ifsc.edu.br/~mello/std Comunicação através de lista de e-mails 2/21

Apresentação da disciplina Avaliações 02 avaliações teóricas (individual) Uma única recuperação no último dia de aula Conteúdo: Tudo que for passado em sala (inclusive material para leitura) e a bibliografia básica Projetos práticos (individual ou em dupla) Serão executados ao longo do semestre Não haverá recuperação para projetos Critérios para aprovação Obter no mínimo o conceito C em todas as avaliações, inclusive na recuperação Possuir no mínimo 75% de presença, inclusive para pleitear a avaliação de recuperação 3/21

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

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/21

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/21

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/21

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/21

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/21

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

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

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/21

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/21

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

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

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

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

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/21

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/21

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

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/21

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/21

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/21

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

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

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

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/21

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/21

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/21

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/21

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/21

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/21

Exercícios 1 Veja em http://bit.ly/1p8an13 a lista de TCCs defendidos no CST de Telecomunicações. Escolha 03 que possuam relação com a área de Sistemas Distribuídos e apresente um resumo dos mesmos para justificar sua escolha. Entrega para próxima semana 21/21