sist706 – sistemas distribuídos · pdf filedefinição curiosa...

24
Slide01 Introdução e Conceitos de Sistemas Distribuídos SIST706 – Sistemas Distribuídos 2013/1 Prof. Jéfer Benedett Dörr @: [email protected] profjefer.wordpress.com

Upload: hathuy

Post on 01-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Slide01

Introdução e Conceitos

de

Sistemas Distribuídos

SIST706 – Sistemas Distribuídos2013/1

Prof. Jéfer Benedett Dörr@: [email protected]

Page 2: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Sistema Distribuído

● Definição de Andrew Tanenbaum é uma "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente"

● Definição de George Coulouris diz que "Sistema Distribuído é uma coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados"

Page 3: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Definição curiosa“Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede que você faça qualquer trabalho” - Leslie Lamport

Page 4: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Exemplos● Banco e agências● Internet● Computação Móvel e Ubíqua● Top 500 supercomputadores● P2P● Napster

Page 5: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Sistemas multiusuários centralizadosMainframes

Alto custo•Baixa flexibilidade•Baixa escalabilidade•Baixa tolerância a falhas

Page 6: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Linux Terminal Server Project (LTSP)

(LTSP) é um projeto baseado em GNU/Linux que agrupa várias ferramentas e protocolos, com a finalidade de proporcionar um ambiente de trabalho remoto.

Page 7: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Multiterminal

Page 8: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Multiterminal

Page 9: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Cluster

Um cluster, ou aglomerado de computadores, é formado por um conjunto de computadores, que utiliza um tipo especial de sistema operacional classificado como sistema distribuído. Muitas vezes é construído a partir de computadores convencionais (personal computers), os quais são ligados em rede e comunicam-se através do sistema, trabalhando como se fossem uma única máquina de grande porte. Há diversos tipos de cluster. Um tipo famoso é o cluster da classe Beowulf, constituído por diversos nós escravos gerenciados por um só computador.

Page 10: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Cluster

*Avatar: Cluster de renderização40.000 CPUSTop200 SupercomputadoresUbuntu

* Cluster Knoppix* SO local

Page 11: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Cluster Específico

Page 12: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

GRIDHeterogeneidade

Recursos de diferentes organizações sãoreunidos para permitir a colaboração de umgrupo de pessoas ou instituições

PlanetLab: http://www.planet-lab.org

Page 13: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

NUMA

Page 14: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

NUMA

Page 15: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Processadores*Mais núcleos ou núcleos mais rápidos?

*Existe uma vantagem real em ter um processador com vários núcleos?

*Hyper-threading: um núcleo real, dois núcleos lógicos

*Muitos núcleos gastam menos ou mais energia?

* I7 Lynnfield serie 8XX (HT)

* Nvidia Tegra 3 (Quad-Core com um quinto núcleo para economia de

bateria)

Page 16: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

MultiprogramaçãoProcesso X ThreadP0, P1, P2......

Page 17: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Programação DistribuídaCORBA (abreviado de Common Object Request Broker Architecture) é a arquitetura padrão criada pelo Object Management Group para estabelecer e simplificar a troca de dados entre sistemas distribuídos heterogêneos.

Message Passing Interface (MPI) é um padrão para comunicação de dados em computação paralela. Existem várias modalidades de computação paralela, e dependendo do problema que se está tentando resolver, pode ser necessário passar informações entre os vários processadores ou nodos de um cluster, e o MPI oferece uma infraestrutura para essa tarefa.

O OpenMP (do inglês Open Multi-Processing, ou Multi-processamento aberto) é uma interface de programação de aplicativo(API) para a programação multi-processo dememória compartilhada em múltiplas plataformas. Permite acrescentar simultaneidade aos programas escritos em C, C++ e Fortran sobre a base do modelo de execução fork-join.

Page 18: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Programação DistribuídaChamada remota de procedimento (RPC, acrônimo de Remote Procedure Call) é uma tecnologia de comunicação entre processos que permite a um programa de computadorchamar um procedimento em outro espaço de endereçamento (geralmente em outro computador, conectado por uma rede)

O RMI (Remote Method Invocation) é uma interface de programação que permite a execução de chamadas remotas no estilo RPC em aplicações desenvolvidas em Java. É uma das abordagens da plataforma Java para prover as funcionalidades de uma plataforma de objetos distribuídos.

O XML-RPC é um protocolo de chamada de procedimento remoto (CPR) que utiliza XML para codificar suas chamadas e HTTP como um mecanismo de transporte.

Page 19: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Network File System - NFSNFS é um sistema de arquivos distribuído que permite aos usuários acessar arquivos e diretórios localizados em computadores remotos e tratá-los como se fossem locais.

O protocolo Network File System é especificado nas seguintes RFCs: RFC 1094, RFC 1813 e RFC 3530.

Page 20: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

HeterogeneidadeComputação Ubíqua ou pervasiva: termo usado para descrever a onipresença da informática no cotidiano das pessoas.

Page 21: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Sistemas distribuídos não são redesA computação distribuída não é o mesmo que redes de comunicação:As redes preocupam-se como envio de mensagens de um ponto A para outro Be não com o que se faz com a mensagemA computação distribuídaassume que existe alguma forma de enviar a mensagem(o transporte da mensagem é assegurado pela rede de comunicação)preocupa-se com as propriedades dessas mensagense como construir um sistema com o uso de mensagens

Page 22: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Evento da Área

http://sbrc2013.unb.br/

O Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC) é um evento anual promovido pela Sociedade Brasileira de Computação (SBC) e pelo Laboratório Nacional de Redes de Computadores (LARC). Ao longo dos anos, o SBRC tornou-se o mais importante evento científico nacional em redes de computadores e sistemas distribuídos do país, e um dos mais concorridos em Informática.

Page 23: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Bibliografia

Page 24: SIST706 – Sistemas Distribuídos · PDF fileDefinição curiosa “Você sabe que existe um sistema distribuído quando a falha de um computador que você nunca ouviu falar impede

Exercício1. O que é um Sistema distribuído? Cite um exemplo diferente

dos apresentados no slide. Cite outro exemplo que SD do dia a dia.

2. Quais os principais objetivos de "distribuir um sistema?3. Quais diferenças entre Mainframe e LTSP?4. Qual motivo de os atuais processadores terem mais de um

núcles em um única pastilha? Em que situação tem vantagem ter 2 núcleos de 1.2 MHz no lugar de um de 2.4MHz? O inverso pode ser verdade?

5. Para que serve o NFS? Tem alguma vantagem?6. Qual a diferença entre OpenMP e MPI? Podem ser usadas

juntas?7. O que é Beowulf?