A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

METAS DE PROJETO Introdução Questões Básicas de Projeto Requisitos do Usuário.

Apresentações semelhantes


Apresentação em tema: "METAS DE PROJETO Introdução Questões Básicas de Projeto Requisitos do Usuário."— Transcrição da apresentação:

1 METAS DE PROJETO Introdução Questões Básicas de Projeto Requisitos do Usuário

2 Características de um SD ( Requisitos Genéricos de Projeto) Compartilhamento de recursos Sistema Aberto (Openness) Concorrência Escalabilidade (Extensibilidade) Tolerância à Falha Transparência de Distribuição Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

3 Introdução O projeto de SD objetiva alcançar as metas de projeto chaves: Alta Performance Confiabilidade Escalabilidade Consistência Segurança Abordar as questões técnicas básicas de projeto que afetam o alcance destas metas. Focalizar arquiteturas de sistema e componentes usados para satisfazer os requisitos genéricos. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

4 Introdução O projeto e a implementação de SD deve ser aberto. O desenvolvimento de aplicações distribuídas frequentemente resulta na necessidade de adicionar novos serviços. Esses serviços devem ser projetados satisfatoriamente em conjunção com os serviços existentes e satisfazer padrões similares com respeito a metas de projeto chaves. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

5 Introdução Neste sentido o desenvolvimento de cada nova aplicação distribuída envolve decisões de projeto que objetivam as mesmas metas como no projeto inicial do sistema. Assim o conhecimento do projeto é indispensável, não somente no projeto inicial de SDs, mas também para o desenvolvimento de aplicações distribuídas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

6 Introdução O que o projeto de um serviço distribuído envolve ? Metas específicas podem ser identificadas com respeito a cada das categorias listadas na Figura 2.1 e, possivelmente, outras categorias específicas de serviço. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

7 Introdução Essas metas podem ser expressas na forma de declarações formais sobre o comportamento de um sistema, tal como: o serviço continuará a estar disponível após a falha de qualquer processo servidor, que pode ser verificada, ou por análise do projeto ou por teste. O alcance de tais metas é uma medida do sucesso de um projeto. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

8 Introdução Nas seção 2.2 seguinte: Principais problemas técnicos e imprevistos, para o alcance das metas de projeto chaves. Um bom projeto é mais do que resolver problemas técnicos e evitar imprevistos; ele deve ser orientado para as metas em função dos desenvolvedores de software e dos usuários finais. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

9 Introdução As necessidades específicas de ambas destas classes (desenvolvedores de software e usuários finais) são notoriamente difíceis de identificar. Requisitos genéricos do usuário para sistemas distribuídos ( seção 2.3 ) Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

10 Questões Básicas de Projeto Questões que não são relacionadas à natureza distribuída de um sistema - tais como técnicas de engenharia de software, interação usuário-computador e projeto de algoritmo. Discussão de interesse: questões que surgem especificamente da natureza distribuída do sistema. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

11 Questões Básicas de Projeto De natureza distribuída: Nomeação Comunicação Estrutura do Software Alocação de Carga Manutenção de Consistência Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

12 Questões Básicas de Projeto Nomeação (Naming) SDs são baseados: compartilhamento de recursos e transparência de distribuição. Os nomes atribuídos a recursos ou objetos devem ter significados globais que são independentes da localização do objeto, e eles devem ser suportados por um sistema de interpretação de nomes. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

13 Nomeação O sistema de interpretação de nomes deve traduzir nomes, no sentido de habilitar programas acessarem recursos nomeados. Questão de projeto: projetar esquemas de nomeação com escalabilidade para um grau apropriado, no qual nomes são traduzidos eficientemente para satisfazer metas apropriadas de performance. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

14 Nomeação A provisão de esquemas de propósito geral para nomeação de recursos é uma consequência necessária do compartilhamento de recursos. Esquemas de nomeação devem ser projetados para suportar escalabilidade e transparência de localização. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

15 Nomeação Serviços de nomes mantém a informação necessária para resolver nomes e prover um serviço de resolução de nomes para clientes. Seu projeto tem impacto sobre a performance, escalabilidade e na segurança de sistemas distribuídos. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

16 Questões Básicas de Projeto Comunicação A performance e a confiabilidade das técnicas de comunicação usadas para implementação de SDs são críticas para a performance do sistema. Altas velocidades de transmissão podem ser alcançadas nas redes (LAN ou WAM). Mas, Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

17 Comunicação Mesmo com redes de alta velocidade, comunicação pode consumir tempo, por causa do número e complexidade das camadas de software envolvidas. Questão de projeto: otimizar a implementação de comunicação em SDs, considerando um modelo de programação de alto nível para seu uso. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

18 Comunicação O projeto de subsistemas de comunicação, particularmente os modelos de comunicação para os quais eles são otimizados têm impacto sobre a performance e na abertura do sistema. Os modelos Cliente/Servidor e Multicast são os mais efetivos para a construção de SDs abertos e suas implementações eficientes são requisitos chave de projeto. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

19 Questões Básicas de Projeto Estrutura do Software A característica de ser aberto é alcançada através do projeto e construção de componentes de software com interfaces bem-definidas. Abstração de Dados é uma importante técnica de projeto para SDs. Serviços podem ser vistos como os gerenciadores de objetos de um determinado tipo de dados Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

20 Estrutura do Software Abstração de Dados é uma importante técnica de projeto para SDs. Serviços podem ser vistos como gerenciadores de objetos de um determinado tipo de dados. A interface para um serviço pode ser vista como um conjunto de operações. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

21 Estrutura do Software Questão de projeto: Estruturar um sistema de modo que novos serviços possam ser introduzidos, para trabalharem em conjunção com o serviços já existentes, mas, sem duplicação de elementos de serviços que já existem. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

22 Estrutura do Software Métodos para se estruturar software são requeridos para se alcançar os benefícios de abertura do sistema. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

23 Estrutura do Software As escolhas desses métodos se situam no domínio de projeto de sistemas operacionais (os métodos pelos quais os recursos básicos requeridos por todas as aplicações serão providos e o grau para o qual eles podem ser configurados e otimizados para satisfazer os requisitos do usuário). Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

24 Alocação da Carga de Trabalho Sistema de Computação Centralizado: Todos os recursos de processador e memória são disponíveis para alocação pelo SO, em uma maneira requerida pela carga de trabalho imposta pelo usuário corrente. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

25 Alocação da Carga de Trabalho Sistema Distribuído Simples (Figura 1.1) A performance do processador e capacidade de memória de uma workstation determina o tamanho da maior tarefa que pode ser realizada por um usuário. Workstation-Server Model Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

26 Alocação da Carga de Trabalho Existem vantagens substanciais para usuários em colocar os ciclos do processador perto do usuário, especialmente em aplicações altamente interativas. Modelo Workstation-Server. Mas, Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

27 Alocação de Carga de Trabalho O simples modelo Workstation-Server não otimiza o uso de recursos de processamento e memória, e não habilita ao seu usuário, que tenha tarefa de computação exigindo grande poder de processamento e requerimento de memória, a obter recursos adicionais. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

28 Questões Básicas de Projeto Alocação de Carga de Trabalho Boa performance é um requisito para a maior parte dos produtos oriundos da engenharia, e é de interesse primordial para a maioria dos programadores e projetistas de sistemas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

29 Alocação da Carga de Trabalho Duas modificações no Workstation-Server Model: Processor Pool Model Shared Memory Multiprocessor Computers Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

30 Alocação da Carga de Trabalho Processor Pool Model (Figura 2.6) Inclui processadores que podem ser alocados para tarefas dos usuários, dinamicamente. Possibilita tarefas serem alocadas para workstations ociosas ou sub-utilizadas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

31 Alocação da Carga de Trabalho Shared-Memory Multiprocessors (Figura 2.7) Pode ser aplicado a ambos os modelos, especialmente para uma grande carga de computação, que pode ser manipulada por diversos processadores separados, como no caso de servidores muito sobrecarregados. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

32 Alocação da Carga de Trabalho Alocação da Carga de Trabalho tem impacto na efetividade com qual os recursos de hardware de um SD são usados, e portanto, na performance total do sistema. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

33 Alocação da Carga de Trabalho Computadores multiprocessadores de memória compartilhada são frequentemente usados para tarefas intensivas de processador em SDs. Abordagem para construção de software para o uso de workstation ociosas, para realizar tarefas computacionais de longa duração de execução, pode ser usada para alocação da carga de trabalho. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

34 Alocação da Carga de Trabalho Questão de Projeto para SDs: Como dispor o processamento, a comunicação e os recursos, distribuídos em uma rede, visando obter um efeito ótimo no processamento de uma carga de trabalho que estará sempre mudando. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

35 Questões Básicas de Projeto Manutenção de Consistência Questões de consistência frequentemente surgem da separação dos recursos de processamento e da concorrência em SDs. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

36 Manutenção de Consistência Existem diversos problemas de consistência que podem surgir em SDs: consistência de: cache, clock, falha (failure), replicação, atualização (update) e interface do usuário. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

37 Manutenção de Consistência Sua significância para o projeto está no seu impacto sobre a performance de SDs e aplicações distribuídas. Questão de Projeto: A manutenção de consistência em um custo razoável é talvez o mais difícil problema encontrado no projeto de um SD. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

38 Manutenção de Consistência A necessidade para consistência: Quando dados compartilhados ou recursos são atualizados por diversos processos independentes e existe a necessidade para manter consistência entre cópias de dados replicados, incluindo o caso importante, no qual cópias ou partes de recursos são cached em computadores clientes. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

39 Requisitos do Usuário Consideração pelos projetistas de SDs das necessidades dos usuários potenciais. A maior parte dos SDs são projetados para prover facilidades de computação de propósito geral... Os mais importantes requisitos que surgem em sistemas práticos: Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

40 Requisitos do Usuário Funcionalidade O que o sistema deve fazer para os usuários. Qualidade de Serviço Envolvendo questões sobre performance, confiabilidade e segurança. Reconfiguração A necessidade para um sistema acomodar mudanças sem causar desrupção da provisão de serviço existente. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

41 Requisitos do Usuário Habilitam usuários e programas de aplicação a explorarem as características especiais de sistemas distribuídos, sem comprometer as características-chaves e as metas de projeto já identificadas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

42 Funcionalidade Quais serviços podem usuários e desenvolvedores de aplicação esperar de um sistema distribuído ? Quais aplicações os usuários podem rodar ? Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

43 Funcionalidade Benefícios de Sistemas Distribuídos são: (a) a economia e a conveniência proporcionada pelo compartilhamento de recursos de HW e de informação; (b) o melhoramento potencial em performance e confiabilidade oriunda da separação dos componentes de software, de modo que possam ser executados em computadores separados. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

44 Funcionalidade O requisito mínimo para um sistema distribuído é a de que a funcionalidade provida por um tal sistema, não deve ser menor do que o usuário poderia esperar de qualquer um único computador isolado. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

45 Funcionalidade O requisito mais forte é que um sistema distribuído deve proporcionar um melhoramento com relação aos serviços providos por qualquer computador isolado, exceto, compartilhamento de recursos, através de uma ou ambas melhorias: Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

46 Funcionalidade Compartilhamento através de uma rede pode trazer uma variedade de recursos, do que poderia ser proporcionado por um único computador. Utilização das vantagens de distribuição pode ser possível a nível de API, de modo que aplicações que executam compartilhamento explícito, tolerância à falha ou aplicações paralelas podem ser programadas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

47 Funcionalidade A maioria dos usuários estão interessados, principalmente, na questão de quais aplicações eles podem rodar. Por um lado, novas funcionalidades - aquelas que não existem em um sistema centralizado - podem ser providas em um sistema distribuído. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

48 Funcionalidade Por outro lado, já existe muito software, que roda em sistemas centralizados. Muito esforço e investimento financeiro foi feito para a produção e manutenção desse software. Assim, de um indivíduo ou organização que tenha investido nesse software, surge a questão: Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

49 Funcionalidade Esse software ainda trabalhará na transição para um novo sistema distribuído ? Algum software tem de ser substituído em uma transição para um sistema que explora as vantagens da distribuição ? Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

50 Funcionalidade Existem quatro opções abertas, quando considerando a migração de computação centralizada multi-usuário, ou computação baseada em PC de um único usuário, para a computação distribuída: Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

51 Funcionalidade 1. Adaptar sistemas operacionais existentes: Continua-se a usar sistemas operacionais existentes, que tenham sido adaptados para rede, tal como o UNIX; adiciona-se serviços, como aplicações no topo do UNIX, sempre que possível, mas modifica- se o kernel, em alguns casos importantes, para prover transparentemente, uma implementação distribuída de uma facilidade existente. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

52 Funcionalidade 2. Migrar para um inteiramente novo sistema operacional projetado para sistemas distribuídos; Para se obter as vantagens totais da distribuição, os projetistas não devem estar restritos pelas características de sistemas antigos. Todos os serviços de sistemas operacionais podem ser abertos e distribuídos nesta opção. O software existente torna-se em desuso. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

53 Funcionalidade 3. Emulação: Migra-se para um novo sistema operacional projetado para sistemas distribuídos, mas um que possa emular um ou mais sistemas operacionais existentes. Assim, o software existente continuará a rodar, mas um novo software pode ser escrito usando a interface de chamadas de sistema do novo sistema operacional, para se obter as vantagens da distribuição. Ambos tipos de software podem rodar lado-a-lado. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

54 Funcionalidade A opção 1 é um pouco limitada nas possibilidades para novas funcionalidades que ela oferece. A opção 2 representa um ideal do ponto de vista do projetista, mas pode deixar muitos usuários insatisfeitos. A opção 3 parece preferível em relação a qualquer das outras duas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

55 Reconfiguração A escalabilidade de um projeto de sistema distribuído e sua habilidade para acomodar heterogeneidade, são relevantes quando o projeto é para ser implementado em instalações separadas de diferentes tamanhos e máquinas, e quando uma instalação particular é expandida. No último caso, a mudança deve ocorrer sem parar o sistema. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

56 Reconfiguração Existem duas escalas de tempo em sistemas distribuídos, sobre as quais, mudanças são causas potenciais para parar o sistema, e que devem ser consideradas no projeto do software do sistema: Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

57 Reconfiguração Mudanças a Curto-Prazo: O software de sistema distribuído deve ser projetado para tratar as seguintes mudanças em condições de tempo de execução: Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

58 Reconfiguração Um processo com falha, computador ou componente da rede é substituído por um outro, trabalhando replicando o outro. Carga computacional é deslocada de máquinas sobrecarregadas para máquinas menos sobrecarregadas, de forma a aumentar o throughput do sistema distribuído. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

59 Reconfiguração Comunicações de rede são minimizadas para transferir dados entre máquinas, em um tal modo, para tornar esses dados, localmente acessíveis, e assim evitar comunicações de redes. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

60 Reconfiguração Evolução a Médio ou Longo-Prazo: Em adição a mudanças devido a expansão em escala e a necessidade para acomodar componentes heterogêneos que ocorrem como parte de um desenvolvimento normal de sistema distribuído, máquinas existentes são, algumas vezes, atribuídas com novos papéis, ou aquisições de novas máquinas são feitas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

61 Reconfiguração A habilidade para acomodar mudanças sobre qualquer destas escalas de tempo é chamada de reconfiguração do sistema ( reconfigurability ), e as próprias mudanças individuais são chamadas reconfigurações. O requisito para efetuar reconfigurações sem parar o sistema importa em torná-las transparentes. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

62 Qualidade de Serviço Uma vez que usuários são providos com a funcionalidade que eles requerem de um serviço em um SD, podemos ir indagar sobre a provisão da qualidade de serviço, e se existe qualquer valor adicionado surgido da distribuição. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

63 Qualidade de Serviço Discutimos qualidade de serviço sobre os seguintes aspectos: - Performance (tempo de resposta experimentado pelos seus usuários). Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

64 Qualidade de Serviço - Confiabilidade (medida de quão pequena é a probabilidade do sistema desviar do comportamento como ele foi projetado, em relação à especificação de seu comportamento correto). Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

65 Qualidade de Serviço - Disponibilidade ( medida da proporção de tempo que o sistema está disponível para uso). Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

66 Qualidade de Serviço - Segurança (o problema tem dois aspectos) - privacidade e integridade dos dados que viajam na rede; - abertura à interferência com software de sistema. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro


Carregar ppt "METAS DE PROJETO Introdução Questões Básicas de Projeto Requisitos do Usuário."

Apresentações semelhantes


Anúncios Google