quinta-feira, 12 de novembro de 2015

Tipos de Cluster: parte 2 - MOSIX, OpenSSI e Kerrighed

Olá! Como já falado no post "anteanterior" e o anterior. Clusters são nada mais que computadores conectados entre si para que juntos formem um "supercomputador", com capacidade de processamento igual a soma da capacidade dos PCs que o formam. Existem muitas maneiras de se criar Clusters , porém as mais comum são usando o MOSIX, o OpenSSI e o Kerrighed. Nesse post falaremos sobre elas!

MOSIX
MOSIX (Multicomputer Operating System for Unix - Sistema Operacional de Multicomputador para UNIX) é um gerenciador de Cluters desenvolvido para sistemas operacionais de base Unix. É ideal para sistemas de Clusters, ao qual seja necessário a implementação de Cluster dos tipos: balanceamento de carga e de alto desempenho.
Esse tipo de Cluster faz uso de algoritmos que implementam a Migração Preemptiva de Processos e Balanceamento Dinâmico de Carga, que basicamente possibilitam, no Cluster, a migração de tarefas de um nó que já esteja sobrecarregado, ou ainda, que não ache que "dará conta do serviço", para outro que nó ainda mais poderoso e/ou desocupado tudo isso de forma transparente.

OpenSSI
OpenSSI é um solução Cluster baseado no MOSIX, e assim como ele, é destinado a Sistemas operacionais de base no UNIX. Sua diferenciação se dá na implementação da tecnologia SSI (Single System Image), que consiste basicamente de dar a ilusão ao usuário de que todo o Cluster é somente uma máquina. Nela, todos os recursos de todos os nós se relacionam, fazendo assim, o usuário "enxergar" como se todos fossem pertencentes a somente um único computador.
O OpenSSI, embora tenha recurso para implementação dos Clusters de balanceamento de carga, sua principal finalidade são os Clusters de tipo de alto desempenho e de alta disponibilidade.

Kerrighed 
O Kerrighed também usa a tecnologia SSI, e como os outros dois, é feito para sistemas de base Unix. A sua grande diferença, em relação aos dois acima, é a aplicação do conceito de DSM (Distributed Shared Memory - memória compartilhada, tradução não literal) onde a memória de todos os nós se somam e funcionam como uma só. O que em alguns casos pode parecer muito vantajoso


Referências
"Mosix - Instalação e configuração de um Cluster de balanceamento de carga", por rodrigo8819 - http://www.vivaolinux.com.br/artigo/Mosix-Instalacao-e-configuracao-de-um-Cluster-de-balanceamento-de-carga

"Cluster: conceito e características", por InfoWester - http://www.infowester.com/Cluster.php

"Aula 5 – Clusters", por Guilherme Galante - http://www.inf.unioeste.br/~guilherme/tsc/aula5

"Migração de Processos: Panorama de Soluções Populares e Avanços Recentes ", por Márcio Parise Boufleur, Rodolfo Leffa de Oliveira, Andrea Schwertner Charão - http://www-usr.inf.ufsm.br/~rodox/publicacoes/mig_resumo.pdf

"Montando um Cluster com Kerrighed", por João F. M. Figueiredo - http://www.joaomatosf.com/blog/index.php?option=com_content&view=article&id=57:montando-um-Cluster-com-kerrighed&catid=43:projetosdiversos&Itemid=60

Um comentário: