O que é um cluster?
A primeira questão a ser definida diz respeito ao conceito de cluster ou como classificá-lo junto às demais arquiteturas paralelas e distribuídas.
Um cluster pode ser definido como um conjunto de nós processadores (PCs ou estações) autônomos e que interligados comportam-se como um sistema de imagem única. O conceito de imagem única dita que um sistema paralelo ou distribuído, independente de ser composto por vários processadores ou recursos geograficamente distribuídos, deve comportar-se com um sistema centralizado do ponto de vista do usuário. Dessa forma, todos os aspectos relativos à distribuição de dados e de tarefas, comunicação e sincronização entre tarefas e a organização física do sistema devem ser abstraídos do usuário, ou seja, devem ser transparentes a ele.
Os nós de uma rede tendem a ser menos complexos do que os nós de um cluster, uma vez que em sua maioria correspondem a PCs ou estações monoprocessadas. Os nós de um cluster podem conter dois ou quatro processadores, sendo de igual ou maior complexidade do que máquinas MPP (máquinas proprietárias de processamento massivo), se considerarmos a presença de discos e sistemas operacionais completos no primeiro em comparação com a ausência de discos e sistemas operacionais baseados em microkernel no segundo. Máquinas SMP (máquinas multiprocessadas) geralmente são mais complexas, pois podem conter um número maior de processadores.
O fornecimento de imagem única ou transparência é maior em máquinas SMP, que o suportam em praticamente todos os níveis da arquitetura. Máquinas MPP suportam esse conceito em apenas alguns níveis (por exemplo, aplicação). Os clusters provêem transparência em um nível comparável ao de máquinas MPP - o sistema operacional encarrega-se da gerência dos vários processadores e as ferramentas mais recentes de gerenciamento permitem uma visão centralizada de todos os nós do cluster. As redes de estações não suportam esse conceito, visto que a autonomia dos nós impõe múltiplas imagens.
Essas arquiteturas ainda podem ser comparadas em relação ao tipo de sistema operacional que utilizam (monolítico ou modular e heterogêneo ou homogêneo), em relação ao modelo de comunicação empregado (memória compartilhada ou troca de mensagens) ou ainda ao protocolo e tecnologia de rede utilizada.
Figura 1: Um sistema em Cluster.
As redes de comunicação podem ser baseadas em switches de alta velocidade, permitindo a transmissão simultânea de pacotes pertencentes a diferentes pares de comunicação a altas taxas. Como o caso do fast ethernet e gigabit ethernet.
A camada de middleware (intermediária) é responsável pela implementação de serviços que forneçam o conceito de imagem única ao sistema, permitindo que todos os nós trabalhem como um único recurso para a solução de aplicações. Essa camada não é obrigatória, sendo que em algumas plataformas existentes ela não aparece. Existe uma grande discussão entre diversos grupos de trabalho sobre quais serviços devem compor essa camada, de forma que ela possa prover eficiência, disponibilidade, transparência e a ilusão de uma única máquina paralela. Entretanto, esse conjunto de serviços não é facilmente atingível, visto que cada classe de aplicações possui necessidades diferentes e, conseqüentemente, serviços básicos diferentes. Este conceito será muito explorado no decorrer deste livro nos sistemas operacionais distribuídos.
Aplicações paralelas e até mesmo seqüenciais podem executar em plataformas baseadas em clusters, mesmo que no segundo caso a maioria dos recursos disponíveis seja subtilizada. Para o caso de aplicações paralelas, diferentes ambientes de programação podem ser utilizados. Esses ambientes correspondem a bibliotecas, depuradores, monitores e linguagens de programação capazes de interagir com o software de comunicação utilizado pela rede e prover alto desempenho para as aplicações.
Respostas recomendadas
Não há comentários para mostrar.
Crie uma conta ou entre para comentar
Você precisa ser um usuário para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar agora