Vous êtes sur la page 1sur 66

METAS DE PROJETO

Introduo Questes Bsicas de Projeto Requisitos do Usurio

Caractersticas de um SD (Requisitos Genricos de Projeto)


Compartilhamento de recursos Sistema Aberto (Openness) Concorrncia
Computao Distribuda Joo Bosco Mangueira Sobral

Escalabilidade (Extensibilidade) Tolerncia Falha

Transparncia de Distribuio
UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Introduo
O projeto de SD objetiva alcanar as metas de projeto chaves: Alta Performance Confiabilidade Escalabilidade Consistncia Segurana
Computao Distribuda Joo Bosco Mangueira Sobral

Abordar as questes tcnicas bsicas de projeto que afetam o alcance destas metas. Focalizar arquiteturas de sistema e componentes usados para satisfazer os requisitos genricos.
UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Introduo
O projeto e a implementao de SD deve ser aberto. O desenvolvimento de aplicaes distribudas frequentemente resulta na necessidade de adicionar novos servios. Esses servios devem ser projetados satisfatoriamente em conjuno com os servios existentes e satisfazer padres similares com respeito a metas de projeto chaves.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Introduo
Neste sentido o desenvolvimento de cada nova aplicao distribuda envolve decises de projeto que objetivam as mesmas metas como no projeto inicial do sistema. Assim o conhecimento do projeto indispensvel, no somente no projeto inicial de SDs, mas tambm para o desenvolvimento de aplicaes distribudas.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Introduo
O que o projeto de um servio distribudo envolve ?
Metas especficas podem ser identificadas com respeito a cada das categorias listadas na Figura 2.1 e, possivelmente, outras categorias especficas de servio.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Introduo
Essas metas podem ser expressas na forma de declaraes formais sobre o comportamento de um sistema, tal como: o servio continuar a estar disponvel aps a falha de qualquer processo servidor, que pode ser verificada, ou por anlise do projeto ou por teste. O alcance de tais metas uma medida do sucesso de um projeto.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Introduo
Nas seo 2.2 seguinte: Principais problemas tcnicos e imprevistos, para o alcance das metas de projeto chaves. Um bom projeto mais do que resolver problemas tcnicos e evitar imprevistos; ele deve ser orientado para as metas em funo dos desenvolvedores de software e dos usurios finais.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Introduo
As necessidades especficas de ambas destas classes (desenvolvedores de software e usurios finais) so notoriamente difceis de identificar.
Requisitos genricos do usurio para sistemas distribudos ( seo 2.3 )
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Questes Bsicas de Projeto


Questes que no so relacionadas natureza distribuda de um sistema - tais como tcnicas de engenharia de software, interao usurio-computador e projeto de algoritmo. Discusso de interesse: questes que surgem especificamente da natureza distribuda do sistema.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Questes Bsicas de Projeto


De natureza distribuda:
Nomeao Comunicao Estrutura do Software Alocao de Carga Manuteno de Consistncia
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Questes Bsicas de Projeto


Nomeao (Naming) SDs so baseados: compartilhamento de recursos e transparncia de distribuio. Os nomes atribudos a recursos ou objetos devem ter significados globais que so independentes da localizao do objeto, e eles devem ser suportados por um sistema de interpretao de nomes.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Nomeao
O sistema de interpretao de nomes deve traduzir nomes, no sentido de habilitar programas acessarem recursos nomeados. Questo de projeto: projetar esquemas de nomeao com escalabilidade para um grau apropriado, no qual nomes so traduzidos eficientemente para satisfazer metas apropriadas de performance.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Nomeao
A proviso de esquemas de propsito geral para nomeao de recursos uma consequncia necessria do compartilhamento de recursos.
Esquemas de nomeao devem ser projetados para suportar escalabilidade e transparncia de localizao.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Nomeao
Servios de nomes mantm a informao necessria para resolver nomes e prover um servio de resoluo de nomes para clientes.
Seu projeto tem impacto sobre a performance, escalabilidade e na segurana de sistemas distribudos.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Questes Bsicas de Projeto


Comunicao A performance e a confiabilidade das tcnicas de comunicao usadas para implementao de SDs so crticas para a performance do sistema. Altas velocidades de transmisso podem ser alcanadas nas redes (LAN ou WAM). Mas, ... ...
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Comunicao
Mesmo com redes de alta velocidade, comunicao pode consumir tempo, por causa do nmero e complexidade das camadas de software envolvidas. Questo de projeto: otimizar a implementao de comunicao em SDs, considerando um modelo de programao de alto nvel para seu uso.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Comunicao
O projeto de subsistemas de comunicao, particularmente os modelos de comunicao para os quais eles so otimizados tm impacto sobre a performance e na abertura do sistema. Os modelos Cliente/Servidor e Multicast so os mais efetivos para a construo de SDs abertos e suas implementaes eficientes so requisitos chave de projeto.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Questes Bsicas de Projeto


Estrutura do Software
A caracterstica de ser aberto alcanada atravs do projeto e construo de componentes de software com interfaces bem-definidas.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Estrutura do Software
Abstrao de Dados uma importante tcnica de projeto para SDs. Servios podem ser vistos como gerenciadores de objetos de um determinado tipo de dados. A interface para um servio pode ser vista como um conjunto de operaes.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Estrutura do Software
Questo de projeto:
Estruturar um sistema de modo que novos servios possam ser introduzidos, para trabalharem em conjuno com o servios j existentes, mas, sem duplicao de elementos de servios que j existem.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Estrutura do Software

Mtodos para se estruturar software so requeridos para se alcanar os benefcios de abertura do sistema.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Estrutura do Software
As escolhas desses mtodos se situam no domnio de projeto de sistemas operacionais (os mtodos pelos quais os recursos bsicos requeridos por todas as aplicaes sero providos e o grau para o qual eles podem ser configurados e otimizados para satisfazer os requisitos do usurio).
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Sistema de Computao Centralizado: Todos os recursos de processador e memria so disponveis para alocao pelo SO, em uma maneira requerida pela carga de trabalho imposta pelo usurio corrente.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Sistema Distribudo Simples (Figura 1.1) A performance do processador e capacidade de memria de uma workstation determina o tamanho da maior tarefa que pode ser realizada por um usurio. Workstation-Server Model
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Existem vantagens substanciais para usurios em colocar os ciclos do processador perto do usurio, especialmente em aplicaes altamente interativas.
Modelo Workstation-Server. Mas, ... ...
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao de Carga de Trabalho


O simples modelo Workstation-Server no otimiza o uso de recursos de processamento e memria, e no habilita ao seu usurio, que tenha tarefa de computao exigindo grande poder de processamento e requerimento de memria, a obter recursos adicionais.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Questes Bsicas de Projeto


Alocao 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.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Duas modificaes no Workstation-Server Model:
Processor Pool Model

Shared Memory Multiprocessor Computers


Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Processor Pool Model (Figura 2.6)
Inclui processadores que podem ser alocados para tarefas dos usurios, dinamicamente. Possibilita tarefas serem alocadas para workstations ociosas ou sub-utilizadas.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Shared-Memory Multiprocessors (Figura 2.7)
Pode ser aplicado a ambos os modelos, especialmente para uma grande carga de computao, que pode ser manipulada por diversos processadores separados, como no caso de servidores muito sobrecarregados.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Alocao da Carga de Trabalho tem impacto na efetividade com qual os recursos de hardware de um SD so usados, e portanto, na performance total do sistema.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Computadores multiprocessadores de memria compartilhada so frequentemente usados para tarefas intensivas de processador em SDs. Abordagem para construo de software para o uso de workstation ociosas, para realizar tarefas computacionais de longa durao de execuo, pode ser usada para alocao da carga de trabalho.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Alocao da Carga de Trabalho


Questo de Projeto para SDs:
Como dispor o processamento, a comunicao e os recursos, distribudos em uma rede, visando obter um efeito timo no processamento de uma carga de trabalho que estar sempre mudando.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Questes Bsicas de Projeto


Manuteno de Consistncia Questes de consistncia frequentemente surgem da separao dos recursos de processamento e da concorrncia em SDs.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Manuteno de Consistncia
Existem diversos problemas de consistncia que podem surgir em SDs:
consistncia de: cache, clock, falha (failure), replicao, atualizao (update) e interface do usurio.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Manuteno de Consistncia
Sua significncia para o projeto est no seu impacto sobre a performance de SDs e aplicaes distribudas.
Questo de Projeto: A manuteno de consistncia em um custo razovel talvez o mais difcil problema encontrado no projeto de um SD.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Manuteno de Consistncia
A necessidade para consistncia: Quando dados compartilhados ou recursos so atualizados por diversos processos independentes e existe a necessidade para manter consistncia entre cpias de dados replicados, incluindo o caso importante, no qual cpias ou partes de recursos so cached em computadores clientes.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Requisitos do Usurio
Considerao pelos projetistas de SDs das necessidades dos usurios potenciais. A maior parte dos SDs so projetados para prover facilidades de computao de propsito geral ...
Os mais importantes requisitos que surgem em sistemas prticos:
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Requisitos do Usurio
Funcionalidade O que o sistema deve fazer para os usurios. Qualidade de Servio Envolvendo questes sobre performance, confiabilidade e segurana. Reconfigurao A necessidade para um sistema acomodar mudanas sem causar desrupo da proviso de servio existente.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Requisitos do Usurio
Habilitam usurios e programas de aplicao a explorarem as caractersticas especiais de sistemas distribudos, sem comprometer as caractersticas-chaves e as metas de projeto j identificadas.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
Quais servios podem usurios e desenvolvedores de aplicao esperar de um sistema distribudo ? Quais aplicaes os usurios podem rodar ?

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
Benefcios de Sistemas Distribudos so: (a) a economia e a convenincia proporcionada pelo compartilhamento de recursos de HW e de informao; (b) o melhoramento potencial em performance e confiabilidade oriunda da separao dos componentes de software, de modo que possam ser executados em computadores separados.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
O requisito mnimo para um sistema distribudo a de que a funcionalidade provida por um tal sistema, no deve ser menor do que o usurio poderia esperar de qualquer um nico computador isolado.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
O requisito mais forte que um sistema distribudo deve proporcionar um melhoramento com relao aos servios providos por qualquer computador isolado, exceto, compartilhamento de recursos, atravs de uma ou ambas melhorias:
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
Compartilhamento atravs de uma rede pode trazer uma variedade de recursos, do que poderia ser proporcionado por um nico computador. Utilizao das vantagens de distribuio pode ser possvel a nvel de API, de modo que aplicaes que executam compartilhamento explcito, tolerncia falha ou aplicaes paralelas podem ser programadas.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
A maioria dos usurios esto interessados, principalmente, na questo de quais aplicaes eles podem rodar.
Por um lado, novas funcionalidades aquelas que no existem em um sistema centralizado - podem ser providas em um sistema distribudo.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
Por outro lado, j existe muito software, que roda em sistemas centralizados. Muito esforo e investimento financeiro foi feito para a produo e manuteno desse software. Assim, de um indivduo ou organizao que tenha investido nesse software, surge a questo:
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
Esse software ainda trabalhar na transio para um novo sistema distribudo ?
Algum software tem de ser substitudo em uma transio para um sistema que explora as vantagens da distribuio ?

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
Existem quatro opes abertas, quando considerando a migrao de computao centralizada multi-usurio, ou computao baseada em PC de um nico usurio, para a computao distribuda:

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

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 servios, como aplicaes no topo do UNIX, sempre que possvel, mas modificase o kernel, em alguns casos importantes, para prover transparentemente, uma implementao distribuda de uma facilidade existente.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
2. Migrar para um inteiramente novo sistema operacional projetado para sistemas distribudos; Para se obter as vantagens totais da distribuio, os projetistas no devem estar restritos pelas caractersticas de sistemas antigos. Todos os servios de sistemas operacionais podem ser abertos e distribudos nesta opo. O software existente torna-se em desuso.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
3. Emulao: Migra-se para um novo sistema operacional projetado para sistemas distribudos, 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 distribuio. Ambos tipos de software podem rodar lado-a-lado.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Funcionalidade
A opo 1 um pouco limitada nas possibilidades para novas funcionalidades que ela oferece. A opo 2 representa um ideal do ponto de vista do projetista, mas pode deixar muitos usurios insatisfeitos. A opo 3 parece prefervel em relao a qualquer das outras duas.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Reconfigurao
A escalabilidade de um projeto de sistema distribudo e sua habilidade para acomodar heterogeneidade, so relevantes quando o projeto para ser implementado em instalaes separadas de diferentes tamanhos e mquinas, e quando uma instalao particular expandida. No ltimo caso, a mudana deve ocorrer sem parar o sistema.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Reconfigurao
Existem duas escalas de tempo em sistemas distribudos, sobre as quais, mudanas so causas potenciais para parar o sistema, e que devem ser consideradas no projeto do software do sistema:
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Reconfigurao
Mudanas a Curto-Prazo: O software de sistema distribudo deve ser projetado para tratar as seguintes mudanas em condies de tempo de execuo:

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Reconfigurao
Um processo com falha, computador ou componente da rede substitudo por um outro, trabalhando replicando o outro. Carga computacional deslocada de mquinas sobrecarregadas para mquinas menos sobrecarregadas, de forma a aumentar o throughput do sistema distribudo.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Reconfigurao
Comunicaes de rede so minimizadas para transferir dados entre mquinas, em um tal modo, para tornar esses dados, localmente acessveis, e assim evitar comunicaes de redes.

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Reconfigurao
Evoluo a Mdio ou Longo-Prazo: Em adio a mudanas devido a expanso em escala e a necessidade para acomodar componentes heterogneos que ocorrem como parte de um desenvolvimento normal de sistema distribudo, mquinas existentes so, algumas vezes, atribudas com novos papis, ou aquisies de novas mquinas so feitas.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Reconfigurao
A habilidade para acomodar mudanas sobre qualquer destas escalas de tempo chamada de reconfigurao do sistema ( reconfigurability ), e as prprias mudanas individuais so chamadas reconfiguraes. O requisito para efetuar reconfiguraes sem parar o sistema importa em torn-las transparentes.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Qualidade de Servio
Uma vez que usurios so providos com a funcionalidade que eles requerem de um servio em um SD, podemos ir indagar sobre a proviso da qualidade de servio, e se existe qualquer valor adicionado surgido da distribuio.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Qualidade de Servio
Discutimos qualidade de servio sobre os seguintes aspectos:
- Performance (tempo de resposta experimentado pelos seus usurios).

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Qualidade de Servio
- Confiabilidade (medida de quo pequena a probabilidade do sistema desviar do comportamento como ele foi projetado, em relao especificao de seu comportamento correto).

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Qualidade de Servio

- Disponibilidade ( medida da proporo de tempo que o sistema est disponvel para uso).

Computao Distribuda Joo Bosco Mangueira Sobral

UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Qualidade de Servio
- Segurana (o problema tem dois aspectos) - privacidade e integridade dos dados que viajam na rede;
- abertura interferncia com software de sistema.
Computao Distribuda Joo Bosco Mangueira Sobral UNIRONDON - Cuiab - MT Daniela Barreiro Claro

Vous aimerez peut-être aussi