1
No Início
Sistemas Distribuídos
D
ESCENTRALIZAÇÃO DOS
S
ISTEMAS
Prof. Gregorio Perez Peiro
gregorio@uninove.br
Esta apresentação visa esclarecer as diferenças entre sistemas monoprocessados e sistemas com
múltiplos processadores (sistemas paralelos) mostrando a evolução dos primeiros sistemas
centralizados até os atuais distribuídos de forma a permitir a escolha e configuração do sistema
mais adequado para cada situação através da análise de benefícios e custos.
L
ICENÇA DE
U
SO
Este material está disponível sob a licença CreativeCommons2.5 Brasil de
Atribuição-uso Não – Comercial – Compartilhamento pela mesma licença 2.5 Brasil
http://creativecommons.org/licenses/by-nc-sa/2.5/br/
Você pode:
Sob as seguintes condições:
Para cada novo uso ou distribuição, você deve deixar claro para outros os termos da licença desta obra.
Qualquer uma destas condições podem ser renunciadas, desde que Você obtenha permissão do autor.
Nada nesta licença prejudica ou restringe os direitos morais do autor
2 S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro
Atribuição Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante
Uso Não-Comercial Você não pode utilizar esta obra com finalidades comerciais
Compartilhamento
pela mesma Licença Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta
copiar, distribuir, exibir e executar a obra
2
No Início
Conteúdo
No Início ...3
Sistemas Centralizados ...3
Sistemas Paralelos ...5
Multiprocessamento Assimétrico ...7
Multiprocessamento Simétrico (SMP) ...7
Sistemas de Rede ...9
Sistemas Distribuídos ... 10
Sistemas de Redes x Sistemas Distribuídos ... 11
Cluster ... 12
Considerações Finais ... 12
Sistemas Monoprocessador x Sistemas Multiprocessados ... 12
Sistemas Centralizados x Sistemas Descentralizados ... 13
Questões de Verificação ... 14
Questões ENADE, 2005 ... 14
Referência Bibliográfica ... 14
Leitura Recomendada ... 15
3
No Início
No Início
De uma máquina que custava U$ 10.000.000 e executava 1 operação por segundo, chegamos a máquinas que custam U$ 1.000 e executam 1 bilhão de instruções por segundo, um ganho de 1013 em pouco mais de 50 anos. Se os
carros tivessem melhorado nessa proporção, um Rolls Royce (ou talvez uma Ferrari) custaria U$ 1 e faria 1 bilhão de km por litro – e provavelmente necessitaria de um manual de 200 páginas para ensinar a abrir a porta
[Tanenbaum, 01].
Dois dos principais avanços tecnológicos que mudaram os sistemas informatiza-dos ocorreram na década de 1970. O desenvolvimento do Microprocessador
permitiu a redução do tamanho físico dos sistemas sem perdas de desempenho o que
levaria ao desenvolvimento dos
Computadores Pessoais (PCs) ainda em meados da década. Isto tornaria os computadores mais atrativos, mas sistemas
menores são pouco produtivos se
trabalharem individualmente.
As Redes de Computadores se tornaram viáveis com o desenvolvimento do protocolo TCP/IP e do padrão Ethernet o que permitiria
que centenas de máquinas fossem
conectadas possibilitando a transferência de dados entre usuários.
Sistemas Centralizados
Os primeiros sistemas funcionavam
com uma organização de sistemas
centralizados, onde um único computador (monoprocessado) detinha o controle do hardware e software disponível. Estes sistemas eram ineficientes, uma vez que apenas uma tarefa podia ser realizada em cada instante deixando grande parte do sistema ocioso.
Na década de 1960, com o desenvolvimento da multiprogramação, sistemas de tempo compartilhado permitiram vários usuários acessarem os recursos de uma máquina central através dos chamados “terminais burros”. O objetivo básico destes sistemas é
aumentar a produtividade com um menor custo de utilização do sistema, mas para isso foi necessário desenvolver um sistema on-line para acesso dos usuários ao computador central (mainframe) de forma a distribuir os recursos automaticamente.
Com o objetivo de aumentar o throughput do sistema (quantidade de trabalhos realizados por unidade de tempo) e garantir que a falha de um processador não comprometa todo o sistema, alguns sistemas centralizados tipicamente associados a mainframes passam a contar com múltiplos processadores ainda na década de 1960.
N
OI
NÍCIO...
S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 3 Os computadores eram máquinas grandes e caras Avanços tecnológicos mudaram a visão dos sistemas: O desenvolvimento do Microprocessador
O desenvolvimento de Redes de Computadores
Descentralização dos Sistemas
IBM /360
4
Sistemas Centralizados
Benefício
Os dados e os processos ocupam um único local físico e o gerenciamento centralizado garante a segurança do sistema. Além disso, o compartilhamento de recursos entre os vários usuários possibilita alta produtividade com redução dos custos.
Problemas
A configuração dos sistemas centralizados de tempo compartilhado define a quantidade de usuários e trabalhos que podem ser reali-zados de maneira eficiente. Um maior número de usuários reduz a fatia de tempo (time-slice) disponível para cada um e aumenta o número de interrupções e consumo dos recursos do sistema para tarefas de gerenciamento. Além disso, o barramento pode causar um gargalo no sistema pela limitação de dados que podem circular nas conexões. O barramento e a eficiência global do sistema são definidos na arquitetura de modo que o aumento da capacidade destes sistemas não é possível.
F
AMÍLIA DEM
AINFRAMESIBM
S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 6 O sistema IBM 3083 permaneceu operacional de 1982 a
1987 e oferecia até 32 megabytes de armazenamento
Sistemas Centralizados
Anunciado em 1982, o
complexo de processamento IBM 3083 representa uma das famílias de computadores IBM para usuários que necessitavam desempenho de médios e grandes sistemas de processamento de dados [Arquivos da IBM - 05].
S
ISTEMASC
ENTRALIZADOS S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 4 Organização Centralizada Sistemas de Tempo Compartilhado
No Início ...
C
ARACTERÍSTICAS S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 5 Sistemas centralizados necessitam um sistema on-linepara acesso dos usuários ao computador central
Benefícios
Gerenciamento facilitado Segurança do sistema Problemas
Quantidade de trabalho limitada pela configuração Crescimento impossibilitado pela arquitetura
5
Sistemas Paralelos
Sistemas Paralelos
Sistemas multiproces-sados surgiram ainda na década de 1960 com o objetivo primário de tornar os sistemas mais confiáveis (tolerantes a falhas). Estes sistemas centra-lizados trabalhavam com máquinas que possuíam dois ou mais processadores ope-rando de maneira que, se um falhasse, outro continuaria funcionando evitando a parali-sação do sistema. Posterior-mente estes processadores puderam trabalhar de maneira cooperativa aumentando a pro-dução e permitindo que tarefas fosse divididas entre vários processadores.
A partir da década de 1970, o desenvolvimento dos micropro-cessadores permite obter com-putadores de menor porte e de grande desempenho, definindo uma tendência para o down-sizing dos sistemas computa-cionais. Esta tendência leva a substituição de sistemas de grande porte por computado-res de menocomputado-res interligados e a conseqüente descentralização. Com ela, ocorre a distribuição dos dados e processos entre
vários ambientes computacionais que mantém comunicação, mas podem estar dispersos geograficamente.
Assim, a visão de Sistemas Paralelos está associada a sistemas genéricos de proces-samento distribuído entre vários nós de processamento de maneira que um processo de grande consumo possa ser executado em um nó disponível ou subdividido por vários nós. Estes nós de processamento podem ser processadores individuais ou sistemas mais complexos constituídos por computadores independentes mono e multiprocessados, não necessariamente homogêneos.
O ganho mais óbvio na distribuição das tarefas está na possibilidade de uma tarefa ser divisível em várias sub-tarefas que serão executadas simultaneamente em paralelo; mais processadores executam mais tarefas em menos tempo, aumentando a Produção (Throughput). Apesar do aumento de produção, é necessário implementar um Sistema de Controle de Processamento para gerenciar e distribuir as tarefas entre os processadores resultando em um tempo de processamento total maior que a soma das partes implicando em perda de desempenho.
S
ISTEMASP
ARALELOS S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 7 Vários processadores trabalhando de maneira cooperativa Década de 1970:utilização de microcomputadores interligados em rede
Sistemas com Múltiplos Processadores
S
ISTEMASP
ARALELOS S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 8 O trabalho cooperativo entre processadores é obtidoatravés de troca de mensagens
Benefícios
Produção (Throughput)
Confiabilidade (Sistema Tolerante a Falha) Economia
Problemas Gerenciamento Desempenho
6
Sistemas Paralelos
Sistemas Paralelos são Tolerantes a Falhas, aumentando a confiabilidade do sistema uma vez que a degradação pode ser controlada. Além disso a falha de um processador não paralisa o sistema. Mesmo com o aumento da confiabilidade, em sistemas paralelos compostos de processadores independentes a Segurança pode ser comprometida, uma vez que o aumento da dispersão dos componentes exige maior comunicação podendo abrir brechas para intrusões.
Estes sistemas também têm um fator de Economia importante. Como o custo do processador é inferior ao custo do sistema, a
aquisição e manutenção destes sistemas podem ser realizadas por partes.
Um bom exemplo destes sistemas é o sistema IBM modelo 900 (foto). Este sistema de 6 processadores refrigerado a água pro-porcionava cerca de 9 Gigabytes de armaze-namento central expansível – o dobro da capacidade de armazenamento disponível no maior modelo da família anterior, o 600J da família ES/3090. O modelo 900 apresentava desempenho comercial quase 2 vezes superior e era quase 3 vezes mais rápido em aplicações de computação numérica que o modelo 600J. [Arquivos da IBM - 06]
Figura: IBM – modelo 900 família ES/9000 [06] O modelo 900 (no centro) era o maior computador da família de processadores ES/9000 da IBM em 1990. Possuía 6 processadores, processamento vetorial e possibilitava 9 Gb de armazenamento !
Foto cortesia da IBM
Impossível não associar este sistema IBM ao computador HAL 9000 (Heuristically programmed ALgorithmic computer, ou Computador Algorítmico Programado Heurísticamente). Considerado um dos maiores vilões dos filmes, este computador de inteligência artificial seria responsável pelo funcionamento de toda nave Discovery do clássico “2001, uma odisséia no espaço” de Arthur C. Clarke, adaptado ao cinema por Stanley Kubrick.
Desde seu lançamento em 1968,
permaneceu a semelhança das siglas: HAL são as letras imediatamente anteriores as letras IBM no alfabeto, mas segundo Clarke, foi mera coincidência ... mesmo porque o computador da IBM foi lançado 20 anos após o filme de Kubrick que consagrou a obra. Talvez também seja coincidência fato do computador HAL 9000 de Clarke tenha sido criado (no livro) na década de 90 assim como o computador 9000 da IBM ... ou não.
As características específicas dos sistemas paralelos são definidas pela forma de comunicação entre os processadores e o grau de compartilhamento dos recursos
[03].
O compartilhamento de recursos nos sistemas fortemente acoplados se dá através de interrupções e a comunicação é feita via memória compartilhada. Estes sistemas trabalham essencialmente como sistemas centralizados com a grande diferença de possuírem vários processadores no centro do sistema.
7
Sistemas Paralelos
Nos sistemas fracamente acoplados, os processadores
possuem seus próprios
recursos individuais (memória local, sistema operacional, ...) e estão conectados por uma linha de comunicação que pode ser uma linha telefônica, uma rede ou outro meio de comunicação, inclusive um barramento de alta velocidade. A computação é distribuída entre vários processadores físicos que trocam mensagens através destas linhas de comunicação.
Multiprocessamento Assimétrico
Em sistemas fortemente acoplados Assimétricos, um processador tem o controle de todos os recursos do sistema em uma
estrutura Mestre-Escravo onde o
processador Mestre tem o controle total do sistema. Estes sistemas podem utilizar processadores específicos para tarefas específicas podendo aumentar a eficiência para tais tarefas, porém aumentando a complexidade do sistema. De modo geral apresentam os mesmos benefícios e problemas dos sistemas centralizados
monoprocessados, mas com maior produção e confiabilidade.
Problemas adicionais surgem com muitas tarefas que realizam grande número de requisições ao processador Mestre gerando um excesso de interrupções que podem reduzir a eficiência do sistema. Além disso, falhas neste processador Mestre podem comprometer a confiabilidade do sistema.
Multiprocessamento Simétrico (SMP)
O sistema fortemente acoplado mais comum é definido como Multiprocessamento Simétrico (Symmetric Multiprocessing -
SMP). No SMP não há
hierarquia entre os proces-sadores e cada processador executa uma cópia idêntica do SO que é responsável pelo gerenciamento dos processos e
do compartilhamento de
recursos. Atualmente, a maioria dos sistemas opera-cionais modernos suporta SMP.
S
ISTEMASP
ARALELOS S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 10 Os tipos de sistemas paralelos são definidos por Forma de comunicação entre os processadores e Grau de compartilhamento dos recursos
Sistemas Fortemente Acoplados (Tightly Coupled)
Processadores compartilham memória (único espaço de
endereçamento) e são interligados por um barramento
Sistemas Fracamente Acoplados (Loosely Coupled) Processadores apresentam alguma autonomia
(memória local e SO) e os processadores trocam mensagens através de linhas de comunicação
Sistemas com Múltiplos Processadores
M
ULTIPROCESSAMENTOS
IMÉTRICO(SMP)
S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 11 Symmetric MultiProcessing - SMPNão há hierarquia entre os processadores SO é responsável pelo gerenciamento
8
Sistemas Paralelos
Foto: Borroughs B 5500 O primeiro sistema a utilizar a arquitetura SMP foi o Borroughs B 5500 em 1961 que podia utilizar 1 ou 2 processadores. Seu valor de aluguel variava entre U$13.500 e U$ 50.000 por mês dependendo do sistema e seu valor de venda entre U$ 540.000 e U$ 2 milhões e foi desenvolvido para trabalhar eficientemente com ALGOL e COBOL [08]. Foto cortesia da Univer-sidade da Virgínia [07]Como todos os sistemas com múltiplos processadores, o SMP também é tolerante à falhas, se um processador falhar, outro processador assume a tarefa.
Sendo gerenciado pelo Sistema Operacional e sendo um ambiente tipicamente homogê-neo, estes sistemas apresen-tam eficiente distribuição da carga de trabalho e das operações de entrada e saída. Assim, o sistema SMP permite que muitos processos sejam executados simultaneamente em paralelo sem queda do
desempenho. Com esta possibilidade, em situações onde há mais de uma tarefa a ser realizada, um sistema SMP pode atingir desempenho melhor que os sistemas monoprocessados. De fato, esta é a arquitetura que apresenta a melhor eficiência de desempenho para múltiplas tarefas.
Similar a esta arquitetura, a tecnologia multi-core (duo-core, quad-core, ...) pode ser considerada como uma arquitetura SMP aplicada aos núcleos que fazem o papel de
processadores conectados por barramento e compartilhamento memória e sistema operacional.
Apesar do grande desempenho, este sistema é limitado por configuração não podendo “crescer”. Além disso, se houver necessidade da troca de componentes, todo sistema deve ser paralisado. Alguns sistemas possuem tecnologia “de ponta” com arquiteturas dife-renciadas que permite resolver alguns dos problemas citados, porém estes sistemas não representam (ainda) os sistemas típicos de mercado.
M
ULTIPROCESSAMENTOS
IMÉTRICO(SMP)
S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 13 O eficiente balanceamento da carga de trabalho trazbenefícios adicionais aos sistemas fortemente acoplados
Benefício
Eficiência de Desempenho
Problema
Limitação de Recursos Manutenção
9
Sistemas Paralelos
Sistemas de Rede
Sistemas de Rede são sistemas fracamente acoplados (Loosely Coupled) onde os computadores estão interligados entre si, mas mantêm sua “individualidade”, isto é, cada computador tem seus próprios recursos de processador, sistema opera-cional e memória local.
Um sistema de comunicação, como uma linha telefônica ou barramento de alta velocidade, é utilizado para trocar mensagens com os demais computadores da rede. A infra-estrutura de rede pode ser local (LANs) ou de longa distância (WANs), além de possibilitar o trabalho com arquiteturas do tipo cliente– servidor ou peer-to-peer.
Não há necessidade dos
computadores envolvidos na rede possuírem configurações similares de hardware ou software podendo, cada compu-tador, ter seu Sistema Opera-cional particular. Tudo o que é necessário é conhecer o protocolo de comunicação. Estes sistemas são altamente flexíveis, pois são independentes da tecnologia, porém a comunicação através de troca de mensagens reduz o desempenho do processamento global. Apesar da possibilidade de agregar grandes quantidades de recursos, isto leva a grande quantidade de comunicação que afeta não apenas o despenho, mas também a segurança dos dados. A grande conectividade necessária e desejada abre
brechas para intrusões,
tornando a segurança do sistema vulnerável.
S
ISTEMAS DER
EDE S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 14 São sistemas fracamente acoplados Computadores independentes
Comunicação através de uma infra-estrutura de rede
Sistemas Fracamente Acoplados
S
ISTEMAS DER
EDE S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 15Sistemas Fracamente Acoplados
S
ISTEMAS DER
EDE S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 16 Os benefícios e dificuldades destes sistemas éconseqüência direta de terem componentes independentes da tecnologia
Benefício Flexibilidade
Possibilidade de Crescimento Problema
Limitações pela Linha de Comunicação Segurança
10
Sistemas Paralelos
Sistemas Distribuídos
Sistemas Distribuídos são sistemas semelhantes aos Sistemas de Rede; são siste-mas fracamente acoplados, porém apresentando menor autonomia entre seus compo-nentes, de forma que possam interagir o suficiente para dar a impressão de um único sistema e coeso.
Os sistemas distribuídos preci-sam que seus componentes possuam a mesma tecnologia (não necessariamente partes iguais) para obter a ilusão de um sistema único. Esta
tecno-logia única pode ser obtida através de hardware ou de software que implemente a portabilidade dos sistemas. Por exemplo, um Sistema Operacional único ou um software de integração para todos os computadores pode permitir o balanceamento da carga de trabalho e dos recursos e controlar a redundância dos dados.
Estes softwares que implementam a integra-ção dos sistemas devem seguir um padrão de arquitetura para obter a portabilidade. Os padrões mais conhecidos são:
DCE Distributed Computing Environment
CORBA Common Object Request Broker Architecture
OLE Object Linking and Embedding RPC Remote Procedure Call
RMI Remote Method Invocation (RPC para Java)
DCOM Distributed Component Object Model (RPC para Windows) SOAP Simple Object Access Protocol
(RPC para Web Services)
Uma vez que a autonomia de cada processador é controlada para obter o comportamento de um sistema único, o compartilhamento de recursos e o balanceamento da carga de trabalho são feitos de maneira eficiente.
Isto reduz as perdas pela troca de mensa-gem, possibilitando um sistema de alta eficiência. Com o correto gerenciamento e uma arquitetura adequada é possível converter esta eficiência em desempenho levando a alto poder de processamento. Sistemas SMP tem maior eficiência, porém menor quantidade de recursos. Conseqüen-temente, Sistemas Distribuídos são a alternativa aos sistemas SMP para sistemas de alto desempenho quando os sistemas SMP atingem seu limite de desempenho. Uma vez que a autonomia de cada proces-sador é controlada para obter o comporta-mento de um sistema único, o compartilha-mento de recursos e o balanceacompartilha-mento da carga de trabalho são feitos de maneira eficiente. Isto reduz as perdas pela troca de mensagem, possibilitando um sistema de alta eficiência.
Com o correto gerenciamento e uma arqui-tetura adequada é possível converter esta eficiência em desempenho levando a alto poder de processamento. Sistemas SMP têm maior eficiência, porém menor quantidade de recursos. Conseqüentemente, Sistemas Distribuídos são alternativa aos sistemas SMP para sistemas de alto desempenho quando os sistemas SMP atingem seu limite de desempenho.
S
ISTEMASD
ISTRIBUÍDOS S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 17 Sistemas fracamente acoplados Autonomia reduzida de seus componentes Ilusão de um sistema único e coeso
11
Sistemas Paralelos
Sendo um sistema fracamente acoplado, Sistemas Distribuídos podem possuir grande capacida-de capacida-de redundância e, portanto, são Tolerantes a Falhas. Os problemas de segurança devidos a comunicação encontrados nos sistemas de Redes são evitados pelo gerenciamento único impli-cando em um sistema de maior confiabilidade.
Apesar das características que tornam os Sistemas Distribuídos vantajosos para a maior parte das aplicações, seu funciona-mento adequado depende de um
sistema de gerenciamento único e eficiente o que, em muitos casos, é extremamente difícil de ser obtido.
Sistemas de Redes x Sistemas Distribuídos
Apesar de todos os sistemas fracamente acoplados pos-suírem importantes caracterís-ticas comuns e serem referen-ciados quase como sinônimos, é necessário reconhecer as diferenças entres os sistemas de Rede e Distribuídos, pois suas características próprias determinam seu grau de desempenho e confiabilidade, sendo uma informação impor-tante para a configuração de um sistema que proverá a solução de algum problema. Enquanto nos Sistemas de
Rede os computadores têm total autonomia e nenhuma dependência entre si, nos sistemas distribuídos a autonomia é reduzida. Esta diferença está relacionada com os objetivos básicos de cada sistema. O principal objetivo de uma organização que monta um Sistema em Rede é compartilhar os recursos para pos-sibilitar o acesso aos recursos remotos e, des-ta forma, reduzir os custos operacionais do sistema. Em um sistema distribuído deseja-se obter alto desempenho e/ou confiabilidade, mesmo que o custo possa se tornar maior.
Além disso, como os dois sistemas exibem comportamento diferente, nos Sistema de Redes temos computadores interligados em que o usuário (requisitante do serviço) deve explicitamente especificar em qual máquina irá executar seus programas ou obter seus recursos e nos Sistemas Distribuídos temos a Transparência do Sistema: o usuário não “vê” os demais computadores interligados permitindo que o sistema procure os recursos sem o conhecimento deste usuário.
S
ISTEMASD
ISTRIBUÍDOS S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 18 A autonomia reduzia e gerenciamento único se traduzemem um sistema eficiente para várias tarefas
Benefício
Alta eficiência de desempenho Computação mais rápida Confiabilidade
Problema
Sistema de gerenciamento complexo
Sistemas Fracamente Acoplados
S
ISTEMAS EMR
EDE XD
ISTRIBUÍDOSS ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 19 São sistemas fracamente acoplados, permitem
compartilhamento de recursos tolerância a falhas
Sistemas Fracamente Acoplados
Sistema de Rede Sistemas Distribuídos
Componentes autônomos Autonomia reduzida
Acesso aos recursos remotos Desempenho e/ou Confiabilidade
12
Considerações Finais
Cluster
Muitas vezes utilizado como
sinônimo de Sistemas
Distribuídos, o Cluster oferece
um compartilhamento de
armazenamento, sendo uma arquitetura intermediária entre sistemas de multiprocessa-mento utilizada para compu-tação de alto desempenho com alta confiabilidade. Na prática é um Sistema Distribuído de estrutura homogênea (todos seus componentes apresentam a mesma configuração) que oferece estrutura similar aos
sistemas SMP possuindo
excelente balanceamento de carga de trabalho.
Tipicamente se refere a clusters quando se
tem uma grande combinação de
processadores trabalhando de maneira cooperativa em um sistema único controlado por uma máquina central (servidor).
Nestes casos é usual considerar o Clustering assimétrico em que um servidor executa a(s) aplicação(ções) enquanto os outros ficam em espera e o Clustering simétrico onde todos os nós de processamento estão executando a(s) aplicação(ões).
Considerações Finais
Quando comparados os sistemas mono-processados com sistemas com múltiplos processadores e sistemas centralizados com sistemas descentralizados, verificamos que
existem características de interesse em cada um destes sistemas. Então qual sistema escolher?
Sistemas Monoprocessador x Sistemas Multiprocessados
Sistemas monoprocessados são pouco utilizados atualmente. Apesar da eficiência do sistema para tarefas únicas e do baixo custo de operação, a maioria das aplicações de hoje trabalham com tarefas variadas, além de haver uma tendência para trabalhar com máquinas de menor custo, pois a manutenção e atualização do sistema se torna mais fácil e barata.
Os argumentos a favor dos sistemas com múltiplos processadores são a maior produção uma vez que as tarefas podem ser realizadas em paralelo e a tolerância a falhas. Além disso, normalmente é possível montar e substituir apenas partes do sistema reduzindo seu custo de aquisição e manutenção. Sistemas multiprocessados são os sistemas mais utilizados hoje, mas apresentam problemas ligados à troca de mensagens entre os processadores, em particular, problemas de concorrência que exigem soluções de sincronização.
S
ISTEMAS EMC
LUSTER S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 20 Clusters são sistemas distribuídos de alto desempenhoSistemas Distribuídos
13
Considerações Finais
Sistemas Centralizados x Sistemas Descentralizados
Os principais argumentos em
favor dos sistemas
centralizados são a facilidade de controle de segurança, integridade e implantação de padrões e disponibilidade de dados para a gerência. O custo de operação destes sistemas também pode ser baixo se tratado pelos fatores definidos pela lei de Grosch [09] que inclui fatores de economia de escala, ao determinar que o custo por unidade de trabalho decresce à medida que o
tamanho do processador
cresce.
Sistemas descentralizados são beneficiados pela sua flexibilidade que permite várias arquiteturas facilitando o acréscimo de grande quantidade e tipos de recursos. A estes fatores alia-se o acesso a recursos facilitado em sistemas descentralizados, tipicamente geograficamente separados.
Além disso, a validade da Lei de Grosch apresenta limitações devido às diferentes tecnologias aplicadas a sistemas de grande porte e a ambiente de rede que utilizam, tipicamente, sistemas de pequeno porte interligados, com computadores pessoais.
M
ONO XM
ULTIP
ROCESSAMENTOS ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 21
Descentralização dos Sistemas
Monoprocessamento
Multiprocessamento
Máxima eficiência para tarefas únicas Máxima produção para tarefas múltiplas
Baixo custo de operação Baixo custo de aquisição e manutenção
Tolerância a Falhas
Limitado por configuração Limitado pela comunicação
Concorrência
C
ENTRALIZADO XD
ESCENTRALIZADO S ist ema s D ist ri b u íd os -S D 0 2 v 1 1 1 -p ro f. G reg ori o Perez Pei ro 22Descentralização dos Sistemas
Centralizado
Descentralizado
Segurança Flexibilidade
Disponibilidade para a gerência Acesso a recursos remotos
Capacidade de crescimento
14
Questões de Verificação
Questões de Verificação
Questões ENADE, 2005
Duas possibilidades para a construção de sistemas com múltiplos processadores são: processadores idênticos com um único espaço de endereçamento interligados por um barramento único (SMP); e máquinas monoprocessadas conectadas por uma rede (cluster). Com relação a esses sistemas, analise as afirmações seguintes e discuta sua veracidade
1. A comunicação entre processadores de um cluster é, potencialmente, muito mais rápida que a comunicação entre
processadores de um sistema SMP, pois redes atuais possuem taxa de
transmissão da ordem de gigabits/s, enquanto as melhores memórias operam somente com freqüências da ordem de centenas de megahertz.
2. Comunicação entre processos pode ser implementada de forma muito mais eficiente em um cluster que em um sistema SMP, pois, nesse último, todos os processos precisam compartilhar os mesmos dispositivos de entrada e saída.
3. Em um sistema SMP, é mais simples substituir um processador defeituoso, pois, em um cluster, toda a rede de comunicação deve ser desabilitada para que a troca seja efetuada sem prejudicar a troca de mensagens entre os
processos.
4. Alocação de memória para processos é muito mais simples em um cluster, pois cada processador executa um único processo na sua memória exclusiva e, dessa forma, não existe o problema de distribuição de processos no espaço de endereçamento único da máquina SMP. 5. Em um cluster, o custo da escalabilidade
é muito menor, pois, para a interconexão entre as máquinas, podem ser utilizados equipamentos comuns usados em uma rede local de computadores, ao passo que um sistema SMP exige conexões extras no barramento e gabinetes especiais.
Referência Bibliográfica
[01] A.Tanenbaum e M.Van Steen; Sistemas Distribuídos. Princípios e Paradigmas, 2ª ed., Ed. Pearson (2007)
[02] Deitel, Deitel e Choffnes; Sistemas Operacionais; 3ª ed., Ed. Pearson (2007) (www.prenhall.com/deitel_br)
[03] A.Silberschatz, P.Galvin, G.Gagne, Sistemas Operacionais, Conceitos e Aplicações, 6ª ed. Ed. Campus (2001)
[04] A.Tanenbaum, Sistemas Operacionais Modernos; 2ª ed., Ed. Pearson (2001) (www.prenhall.com/tanenbaum_br)
[05] IBM Archives - www-03.ibm.com/ibm/history/exhibits/ mainframe/mainframe_PP3083.html
[06] IBM Archives – www-03.ibm.com/ibm/history/exhibits/ mainframe/ mainframe_2423PH9000.html
[07] University of Virginia Computer Museum -
http://www.cs.virginia.edu/brochure/museum.html [08] University of Virginia Computer Museum -
15
Referência Bibliográfica
[09] H.A. Grosh,; Grosh's Law Revisited, Computerworld 16 (Apr.16,75) 24
[10] Phillip Ein-Dor, Grosch's Law Re-Revisited: CPU Power and the Cost of Computation, Communications of the ACM, v 28, n 2, p 142-151 (1985)
Leitura Recomendada
[01] L.Lamport, R.Shostak and MPease, The Byzantine Generals Problem, SRI International, ACM Transactions on Programming Languages and Systems, Vol. 4, No 3, 1982, pages 382-401 [02] L.Lamport, Time, Clocks and the Ordering of Events, CACM, v 21, n 7, Jul 78, p 558-565. [03] L.Kleinrock, Distributed Systems, CACM, v. 28, n. 11, nov. 1985, p.1200-1213
Referência na Internet
As fotos utilizadas neste trabalho e os valores atribuídos aos sistemas foram obtidos nos sites dos fabricantes e instituições de ensino, abaixo relacionados, e tem objetivo puramente ilustrativo ou histórico
Columbia University (NY - USA)
www.columbia.edu/acis/history
Centro Nacional de Alto Desempenho em São Paulo http://www.cenapad.unicamp.br/
Nordhon Antiques & Collectables
www.nordhornantiques.com/vintage_computers.htm Computer Science Lab
www.computersciencelab.com/ComputerHistory/HistoryPt4.htm Beowulf – Computação de Alto Desempenho (Cluster)
http://www.beowulf.org/