Sistemas Distribuídos

79
Sistemas Distribuídos Faculdade Ieducare Professor: Rhyan Ximenes 8º Semestre – Sistemas de Informação 1 Sistemas Distribuídos

description

Sistemas Distribuídos. Faculdade Ieducare. 8º Semestre – Sistemas de Informação. Professor: Rhyan Ximenes. Sistemas Operacionais Distribuídos. O que é um sistema distribuídos? - É uma coleção de computadores independentes que aparenta ser um único computador aos seus usuários. - PowerPoint PPT Presentation

Transcript of Sistemas Distribuídos

Sistemas Operacionais

Sistemas DistribudosFaculdade IeducareProfessor: Rhyan Ximenes8 Semestre Sistemas de Informao1Sistemas DistribudosSistemas Operacionais DistribudosO que um sistema distribudos? - uma coleo de computadores independentes que aparenta ser um nico computador aos seus usurios. Exemplos: Rede com estaes de trabalho e processadores stand-alone alocados por demanda com um sistema de arquivos unificado; Sistema bancrio com terminais espalhados geograficamente e um nico banco de dados.Sistemas Distribudos2Stand-alone Programas que rodam sozinhos.Sistemas Operacionais DistribudosComo se tornou possvel o surgimento desses sistemas?Com o surgimento de computadores mais rpidos e baratos e o surgimento de redes de computadores de alta velocidade.Sistemas Distribudos3Vantagens de S.D sobre sistemas centralizados.Lei de Grosch O poder de computao de um computador proporcional ao quadrado do seu preo. (Aplicvel a mainframes);No caso de microprocessadores, mais barato se comprar vrios processadores e mont-los em um sistema multi-processador (preo);Em alguns casos, teoricamente impossvel de se construir um computador centralizado que possa ser comparado a um sistema distribudo com uma grande quantidade de processadores (velocidade);Sistemas Distribudos4Vantagens de S.D sobre sistemas centralizados.Algumas aplicaes so inerentemente distribudas - Sistema de uma cadeia de lojas, jogos ou outras aplicaes cooperativas(distributividade inerente);Maior confiabilidade, til em aplicaes de alto risco (confiabilidade);Crescimento incremental acaba com necessidade da compra de mainframes cada vez maiores, agora o sistema pode ser trocado aos poucos (crescimento incremental).Sistemas Distribudos5Vantagens de S.D sobre micros independentes:Compartilhamento de dados (colaborao e preo);Compartilhamento de dispositivos (preo);Comunicao;Mistura de computadores pessoais e compartilhados pode permitir uma distribuio de tarefas mais eficiente (flexibilidade).Sistemas Distribudos6Desvantagens de S.DSoftware Sistemas Operacionais, linguagens de programao e aplicaes;Comunicao Tratamento e recuperao de mensagens; Melhoria da rede pode acarretar em custos altos.Segurana Compartilhamento de dados implica em esquemas especiais para proteo de dados sigilosos.Sistemas Distribudos7Caractersticas de S.DSistema de comunicao interprocessos nico, independente se os dois processos esto localizados na mesma mquina ou no;Esquema de proteo global;Gerenciamento de processos nico, isto , como eles so criados, destrudos, iniciados ou parados;Sistemas Distribudos8Caractersticas de S.DA idia usada nos sistemas operacionais de rede de se estabelecer protocolos para a comunicao cliente-servidor no suficiente;Deve haver um nico conjunto de chamadas de sistema em todas as mquinas e as chamadas devem ser projetadas levando em conta o ambiente distribudo.Sistemas Distribudos9Caractersticas de S.DSistema de arquivos deve ter a mesma viso e regras em todas as mquinas.Segurana deve ser implementada em relao aos usurios e no em relao as mquinas.Sistemas Distribudos10Caractersticas de S.DGeralmente, o mesmo ncleo (kernel) roda em todas as mquinas, j que os mesmos implementam as mesmas funes e chamadas;Cada ncleo pode ter um controle razovel sobre os recursos locais; - Exemplo: no gerenciamento de memria, swapping, ou at escalonamento de processos, no caso de uma CPU possuir mais de um processo sendo executado.Sistemas Distribudos11Sistemas Distribudos VerdadeiroAs vezes so chamados de sistemas operacionais distribudos;Software fortemente acoplado (tightly-coupled) em um hardware fracamente acoplado (loosely-coupled);Sistemas Distribudos12Sistemas Distribudos VerdadeiroO objetivo: - Criao de uma iluso para os usurios que o sistema de multicomputadores funciona como uma grande mquina de tempo compartilhado; - As vezes so referenciados como sistemas de imagem nica ou uni processador virtual.Sistemas Distribudos13Sistemas Operacionais de RedesLoosely coupled Comunicao explicitamente solicitada pelo usurio e se d atravs da troca de mensagens;Distribuio do sistema clara para o usurio;Servidores de arquivos fornecem arquivos a mquinas clientes;Sistemas Distribudos14Sistemas Operacionais de RedesUsurios diferentes tem vises diferentes do sistema, devido a diferenas em como os sistemas de arquivo locais esto organizados e quais dispositivos locais as mquinas possuem, etc.Sistemas Distribudos15Sistemas Operacionais de RedesMquinas podem rodar diferentes verses de um mesmo S.O ou at diferentes S.Os desde que os protocolos de comunicao e servios sejam usados por todas as mquinas;A coordenao (mnima) de servios entre as mquinas feita atravs da aderncia aos protocolos.Sistemas Distribudos16Definio de Sistema DistribudosUm Sistema Distribudo (SD) :

Exemplo de S.D

Sistemas Distribudos17Um conjunto de computadoresindependentes que se apresentaa seus usurios como um sistemanico e coerente.Exemplo de S.D (2)Sistemas Distribudos18

Definio de Sistema Distribudo(5)Sistemas Distribudos19

Um Sistema Distribudo organizado como um middleware.O SD oculta as diferenas de hardware e de sistemas operacionais das aplicaes distribudas;A camada middleware se estende por vrias mquinas e oferece a mesma interface a cada aplicao.Middleware ou mediador, no campo da computao distribuda, um programa de computador que faz a mediao entre software e demais aplicaes. utilizado para mover ou transportar informaes e dados entre programas de diferentes protocolos de comunicao, plataformas e dependncias do sistema operacional.Metas de projetoUm Sistema Distribudo deve: Oferecer fcil acesso a seus recursos groupware;Ocultar razoavelmente bem o fato de que os recursos so distribudos por uma rede (Transparncia);Ser aberto Inerface Definition Language (IDL) ePoder ser expandido (Escalabilidade).Sistemas Distribudos20Transparncia em um Sistema DistribudoSistemas Distribudos21

Diferentes formas de transparncia em um sistema distribudo.EscalabilidadeA escalabilidade pode ser medida segundo trs dimenses:Escalabilidade de tamanho: fcil adicionar mais usurios e recursos no sistemaEscalabilidade geogrfica: usurios e recursos podem estar distantes entre siEscalabilidade administrativa: fcil de gerenciar, mesmo que abranja muitas organizaes administrativas diferentesSistemas Distribudos22Problemas na Escalabilidade (1)Sistemas Distribudos23

Problemas na Escalabilidade (2)Caractersticas dos algoritmos descentralizados:Nenhuma mquina tem informaes completas sobre o estado do sistemas.

Sistemas Distribudos24Problemas na Escalabilidade (2)As mquinas tomam decises tendo como base somente informaes locais.A falha de uma mquina no arruna o algoritmo.No h nenhuma premissa implcita quanto existncia de um relgio global.

Sistemas Distribudos25Tcnicas de Escalabilidade(1)Sistemas Distribudos26

Tcnicas de Escalabilidade (2)ocultar latnciaSistemas Distribudos27

Latncia a diferena de tempo entre o incio de um evento e o momento em que seus efeitos tornam-se perceptveis.Tcnicas de Escalabilidade (3)distribuioSistemas Distribudos28

Algum sabe como funciona o DNS?ODNS(DomainNameSystem- Sistema de Nomes de Domnios ) um sistema de gerenciamento de nomes hierarquicose distribudo visando resolver nomes de domnios em endereos de rede (IP).Sistemas Distribudos29Algum sabe como funciona o DNS?Ele baseia-se em nomes hierrquicos e permite a inscrio de vrios dados digitados alm do nome do host e seuIP. O servidor DNS traduz nomes para os endereos IP e endereos IP para nomes respectivos, e permitindo a localizao de hosts em um domnio determinado. Sistemas Distribudos30Algum sabe como funciona o DNS?Existem 13 servidores DNS raiz no mundo todo e sem eles a Internet no funcionaria. Destes, dez esto localizados nos Estados Unidos da Amrica, um na sia e dois na Europa. Sistemas Distribudos31Algum sabe como funciona o DNS?Para Aumentar a base instalada destes servidores, foram criadas rplicas localizadas por todo o mundo, inclusive no Brasil desde 2003.Ou seja, os servidores de diretrios responsveis por prover informaes como nomes e endereos das mquinas so normalmente chamados servidores de nomes. Sistemas Distribudos32Ciladas Quando DesenvolvemosSistemas DistribudosSistemas Distribudos33

Tipos de Sistemas Distribudos:Sistemas Distribudos34

Tipos de Sistemas Distribudos:Sistemas Distribudos35

Sistemas de Computao de Alto DesempenhoSistemas Distribudos36Sistemas de Computao de Alto DesempenhoAplicaes: - Sistemas meteorolgicos; - Ferramentas de mapeamento gentico; - Simuladores geotrmicos; - Programas de renderizao de imagens tridimensionais; - Computao em Nuvens, necessidade de ter uma infraestrutura tecnolgica respondendo a vrios clientes simultaneamente de maneira remota, por exemplo; - Aplicaes crtica - que no pode parar de funcionar ou no pode perder dados (os sistemas bancrios, por exemplo); - Entre tantos outros.

Sistemas Distribudos37Sistemas de Computao de ClusterO que cluster? Sistema que relaciona dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. Estas mquinas dividem entre si as atividades de processamento e executam este trabalho de maneira simultnea.Como funciona? Cada computador que faz parte do cluster recebe o nome den(ounode); No h limite mximo de ns; Mas o cluster deve ser "transparente", ou seja, ser visto pelo usurio ou por outro sistema que necessita deste processamento como um nico computador.Sistemas Distribudos38Dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado.Sistemas de Computao de Cluster necessrio alguma padronizao? - Os ns do cluster devem ser interconectados, preferencialmente, por uma tecnologia de rede conhecida, para fins de manuteno e controle de custos, como a Ethernet; - importante que o padro adotado permita a incluso ou a retirada de ns com o cluster em funcionamento, do contrrio, o trabalho de remoo e substituio de um computador que apresentar problemas, por exemplo, faria a aplicao como um todo parar.Sistemas Distribudos39Sistemas de Computao de ClusterDe que composto os ns? - Na computao em cluster os ns podem at mesmo ser compostos por computadores simples, como PCs de desempenho mediano;Finalidade - Configura um sistema de processamento com capacidade suficiente para dar conta de determinadas aplicaes que, se fossem atendidas por supercomputadores ou servidores sofisticados, exigiriam investimentos muito maiores.

Sistemas Distribudos40Fotografia de um Cluster.

Sistemas Distribudos41No necessrio haver um conjunto de hardware exatamente igual em cada n; importante que todas as mquinas utilizem o mesmo sistema operacional, de forma a garantir que o software que controla o cluster consiga gerenciar todos os computadores que o integram.Sistemas de Computao de Cluster (1)Sistemas Distribudos42

Sistemas de Computao de Cluster (2)Sistemas Distribudos43

Sistemas de Computao de Cluster (3)Sistemas Distribudos44

Tipos de clustersCluster de Alto Desempenho (High Performance Computing Cluster)Cluster de Alta Disponibilidade (High Availability Computing Cluster)Cluster para Balanceamento de Carga (Load Balancing)Combinao de tipos de clustersSistemas Distribudos45Cluster de Alto Desempenho (High Performance Computing Cluster)So direcionados a aplicaes bastante exigentes no que diz respeito ao processamento;Onde so utilizados?Em sistemas utilizados em pesquisas cientficas, onde h a necessidade de analise uma grande variedade de dados rapidamente e realizar clculos bastante complexos.Qual o foco deste tipo de cluster?O processamento direcionado aplicao fornea resultados satisfatrios em tempo hbil, mesmo que haja grande volume de dados a serem analisados e processados por segundo.

Sistemas Distribudos46Cluster de Alta Disponibilidade (High Availability Computing Cluster)Qual o foco desse tipo de cluster? - Sempre manter a aplicao em pleno funcionamento; - No aceitvel que o sistema pare de funcionar, se acontecer, a paralisao deve ser a menor possvel.Que recursos so utilizados para atingirem o objetivo? - Ferramentas de monitoramento que identificam ns defeituosos ou falhas na conexo, - Replicao (redundncia) de sistemas e computadores para substituio imediata de mquinas com problemas, - Uso de geradores para garantir o funcionamento em caso de queda de energia, entre outros.

Sistemas Distribudos47Cluster de Alta Disponibilidade (High Availability Computing Cluster)Observao: - tolervel que o sistema apresente algum grau de perda de desempenho, especialmente quando esta situao consequncia de algum esforo para manter a aplicao em atividade.

Sistemas Distribudos48Cluster para Balanceamento de Carga (Load Balancing)As tarefas de processamento so distribudas o mais uniformemente possvel entre os ns;Cada computador recebe e atende a uma requisio e no, necessariamente, divide uma tarefa com outras mquinas.Por exemplo: - Imagine que um grande site na internet receba por volta de mil visitas por segundo e que um cluster formado por 20 ns tenha sido desenvolvido para atender a esta demanda. Como se trata de uma soluo de balanceamento de carga, estas requisies so distribudas igualmente entre as 20 mquinas, de forma que cada uma receba e realize, em mdia, 50 atendimentos a cada segundo.Sistemas Distribudos49Cluster para Balanceamento de Carga (Load Balancing)Obs1.: - No basta ao cluster de balanceamento de carga ter um mecanismo meramente capaz de distribuir as requisies; - necessrio que este procedimento seja executado de forma a garantir um "equilbrio" na aplicao;Como feito? - Monitoramento constante dos ns para verificar, por exemplo, qual mquina est lidando com a menor quantidade de tarefas e direcionar uma nova requisio para esta.Obs2.: - O balanceamento de carga pode ser utilizado em vrios tipos de aplicaes; - Uso comum na internet.Sistemas Distribudos50Combinao de tipos de clustersConforme a necessidade;Como feito? - Combinando caractersticas de tipos diferentes no intuito de atender plenamente aplicao;Por exemplo: - Uma loja na internet pode utilizar um cluster de alta disponibilidade para garantir que suas vendas possam ser realizadas 24 horas por dia e, ao mesmo tempo, aplicar balanceamento de carga para suportar um expressivo aumento eventual no nmero de pedidos causados por uma promoo.

Sistemas Distribudos51Funcionamento bsico dos clusterCada computador de um cluster denominado n ou nodo;Todos devem ser interconectados, de maneira a formarem uma rede, de qualquer topologia;A rede precisa ser criada de uma forma que permita o acrscimo ou a retirada de um n (em casos de danos, por exemplo), mas sem interromper o funcionamento do cluster;Sistemas Distribudos52Funcionamento bsico dos clusterSistema operacional usado nos computadores deve ser de um mesmo tipo;Isso porque existe particularidades em cada sistema operacional que poderiam impedir o funcionamento do cluster.Sistemas Distribudos53Cluster BeowulfOBeowulfpadro de clustering disponibilizado pela NASA (National Aeronautics and Space) em 1994 e amplamente adotado desde ento.Origem do nome: - Nome de um poema extenso e bastante antigo, cujo manuscrito foi encontrado no sculo XI; - A obra descreve os atos de um heri de mesmo nome que se destaca por sua fora descomunal e que, portanto, enfrenta um perigoso monstro para salvar um reino; - A histria serviu de inspirao para que os pesquisadores Thomas Sterling e Donald Becker, da NASA, batizassem o projeto de cluster no qual trabalhavam de Beowulf.

Sistemas Distribudos54Cluster BeowulfDefine-se, basicamente, pela nfase nas seguintes caractersticas:- Entre os ns, deve haver pelo menos um que atue como mestre para exercer o controle dos demais;Mquinas mestres so chamadas defront-end; as demais, deback-end;Possibilidade de existir mais de um n no front-end para que cada um realize tarefas especficas, como monitoramento.

Sistemas Distribudos55Cluster Beowulf

Sistemas Distribudos56Como funciona? Cluster BeowulfComunicao entre os ns pode ser feita por redes do tipo Ethernet, mais comuns e mais baratas;No necessrio o uso de hardware exigente, nem especfico;A ideia a de se aproveitar componentes que possam ser encontrados facilmente. At mesmo PCs considerados obsoletos podem ser utiliz-los;Sistemas Distribudos57Como funciona? Cluster BeowulfO sistema operacional deve ser de cdigo aberto, razo pela qual o Linux e outras variaes do Unix so bastante utilizados em cluster Beowulf;Os ns devem se dedicar exclusivamente ao cluster;Deve-se fazer uso de uma biblioteca de comunicao apropriada, como aPVM(Parallel Virtual Machine) ou aMPI(Message Passing Interface); Ambas so direcionadas troca de mensagens entre os ns.

Sistemas Distribudos58Vantagens Cluster BeowulfSoluo consideravelmente mais barata e menos complexa que um supercomputador.Construo de um cluster "poderoso" ;Poupar gastos com equipamentos;Licenas de software;Manuteno.Curiosidade: - O cluster montado por Thomas Sterling e Donald Becker para a NASA, por exemplo, era composto por 16 PCs com processador Intel 486 DX4 e sistema operacional Linuxconectados por uma rede Ethernet de 10 Mb/s;

Sistemas Distribudos59Vantagens de Desvantagens de ClusterPode-se obter resultados to bons quanto ou at superiores que um servidor sofisticado a partir de mquinas mais simples e mais baratas (tima relao custo-benefcio);No necessrio depender de um nico fornecedor ou prestador de servio para reposio de componentes;A configurao de um cluster no costuma ser trivial, mas fazer um supercomputador funcionar poder ser muito mais trabalhoso e exigir pessoal especializado;Sistemas Distribudos60Vantagens de Desvantagens de Cluster possvel aumentar a capacidade de um cluster com a adio de ns ou remover mquinas para reparos sem interromper a aplicao;H opes de softwares para cluster disponveis livremente, o que facilita o uso de uma soluo do tipo em universidades, por exemplo;Sistemas Distribudos61Vantagens de Desvantagens de ClusterRelativa facilidade de customizao para o perfeito atendimento da aplicao;Um cluster pode ser implementado tanto para uma aplicao sofisticada quanto para um sistema domstico criado para fins de estudos, por exemplo;Entre outras.Sistemas Distribudos62 uma rede de computadores na qual os recursos do computador so compartilhados com todo e qualquer computador no sistema; O que pode ser partilhado?

Poder de processamento;Memria;Armazenamento de dados; 63Computao em gradeViso sobre Computao em Grade Pode ser to simples quanto uma coleo de computadores parecidos rodando no mesmo sistema operacional; Podem ser to complexo quanto sistemas de redes mltiplas que abrangem todas as plataformas de computador possamos imaginar. 64Computao em grade - Grid Computing um tipo especial de computao distribuda.Grid ComputingSistemas Distribudos65

Sistemas de Computao em Grid (2)Diferentes dos sistemas baseados em Clusters, os sistemas de computao em Grid tem um alto grau de heterogeneidades, diferentes hardwares, SOs, redes, ...Usurios e recursos de diferentes organizaes so interligados, permitindo total colaborao, criando uma Organizao Virtual (V.O. = Virtual Organization)Os membros das V.O. tem total acesso a um conjunto comum de recursos (por exemplo, os sistemas da polcia americana, do FBI e de outras agencias formam um grid).Sistemas Distribudos66Sistemas de Computao em GridSistemas Distribudos67

Sistemas de Computao em Grid (4)Sistemas Distribudos68

Middleware ou mediador- Programa de computadorque faz a mediao entre software e demais aplicaes.Camadas do modelo de Grid Computing:1. Camada de Coletiva (Collective layer): manipula o - Acesso a mltiplos recursos, normalmente consiste em servios para descoberta de recursos, alocao e escalonamento de tarefas.2. Camada de Conectividade (Connectivity layer): - Consiste em protocolos de comunicao para suportar transaes da grade que abranjam a utilizao de mltiplos recursos.Sistemas Distribudos69Camadas do modelo de Grid Computing:3. Camada de Recurso (Resource layer): - Gerencia um nico recurso, como criar um processo ou ler um dado.4. Camada Base (Fabric layer): - Fornece interfaces para recursos locais em um site especfico.Sistemas Distribudos70Sistemas para Processamento de Transaes Propriedades caractersticas das transaes: Atmicas: para o mundo exterior, a transao acontece como se fosse indivisvel. Consistentes: a transao no viloa as invariantes do sistema. Isoladas: transaes interferem umas com as outras. Durveis : uma vez terminada uma transao as alteraes so permanentes.Sistemas Distribudos71Integrao de Aplicaes Comerciais Vrios pacotes de middleware e protocolos de comunicao so usados para dar suporte as aplicaes comerciais, entre eles: CORBA (Common Object Request Broker Architecture) DCOM (Distributed Component Object Management) RPC (Remote Procedure Call) RMI (Remote Method Invocation)Sistemas Distribudos72Sistemas Embarcados Distribudos Requisitos para aplicaes embarcadas: Adotar mudanas contextuais (significa que um dispositivo deve estar ciente do fato de seu ambiente pode mudar o tempo todo). Incentivar composio ad hoc (usos diferentes para usurios diferentes, por exemplo os PDA podem ter diferentes usos). Reconhecer compartilhamento como padro (isso requer meios para ler, armazenar gerenciar e compartilhar informaes com facilidade).Sistemas Distribudos73Sistema Eletrnico para Tratamento (pessoal) de Sade Questes inerentes a aplicao: Onde e como os dados monitorados devero ser armazenados? Como podemos evitar a perda de dados cruciais? Qual a infraestrutura necessria para gerar e transmitir sinais de alerta? Como os mdicos podem dar retorno on-line? Como pode ser alcanada a extrema robustez do sistema de monitorao? Quais so as questes de segurana e como as polticas adequadas podem ser impostas?Sistemas Distribudos74Sistema Eletrnico para Tratamento de SadeSistemas Distribudos75

Redes de SensoresSistemas Distribudos76

Redes de Sensores Questes referentes a redes de sensores: Como montar (dinamicamente) um rvore eficiente em uma rede de sensores? Como ocorre a agregao de resultados? Ela pode ser controlada? O que acontece quando os enlaces falham?Sistemas Distribudos77Redes de SensoresSistemas Distribudos78

Redes de SensoresSistemas Distribudos79