Kerrighed
Origem: Wikipédia, a enciclopédia livre.
O Kerrighed é uma base operacional para sistemas de imagem única (Single System Image Operating System (SSI OS)) destinado para cluster construídos a partir de PCs padrões de mercado. Um sistema operacional SSI dá a ilusão de uma máquina de SMP aos programas que são executados em cima dele. Kerrighed é uma extensão kernel do Linux. Não obstante, um cluster rodando Kerrighed não é uma máquina de SMP física real.
Foi iniciado em outubro de 1998 no grupo de pesquisa de Paris em IRISA, sob o comando de Christine Morin.
A sua maior originalidade está no uso intensivo que faz de Distributed Shared Memory (DSM). Os sistemas DSM simulam a existência de memória comum aos vários nós, sem que fisicamente tal memória exista.
As metas do Kerrighed são alto desempenho de aplicações, alta disponibilidade do cluster, administração de recursos eficiente, alta customizabilidade do sistema operacional e facilidade de uso.
Kerrighed é implementado como uma extensão a sistema operacional GNU/Linux (uma coleção de módulos e um pequeno ``patch para o kernel Linux).
Índice |
[editar] As principais características do Kerrighed são:
- Escalonador customizável para o cluster.
Processos e threads são automaticamente escalonados através dos nós do cluster para balancear o uso de CPU através do escalonador padrão do Kerrighed. Porém, Kerrighed oferece um toolkit para escrever escalonadores sob encomenda com facilidade, que podem serem adicionados ``a quente" nos módulos do kernel.
- Memória Compartilhada.
Threads e segmentos de memória do sistema podem ser operados através do cluster, como em uma máquina SMP.
- Mecanismos de migração de fluxo de alta performance.
Podem ser migrados processos que usam fluxos (socket, pipe, fifo, char device, etc) sem penalidade no desempenho de comunicação depois de migração.
- Sistema de arquivo distribuído.
Um único espaço de nome de arquivo é visto no cluster. Todos os discos do cluster são fundidos em um único disco virtual em um customização parecida como um RAID.
- Verificação de processos.
Os processos podem ser verificados e reiniciados em qualquer um nó do cluster.
- Interface de Thread Posix completa.
A interface de Thread Posix pode ser operada com threads espalhadas pelos nós do cluster.
- Interface de processos Unix visível em todo o cluster.
Toda a interface tradicional de comandos de gerenciamento de processos Unix (top, ps, kill, etc) são operados pelo cluster. Além disso, os identificadores de processos (pid) são únicos no cluster.
- Características customizáveis da imagem única de sistema.
As características do SSI (memória compartilhada, escalonador global, migração de fluxos, etc) podem ser ativados ou não por base de processos.
[editar] Kerrighed não é:
- Um paralelizador automático.
Kerrighed não paraleliza automaticamente suas aplicações. Isso implica que caso você tenha um grande processo seqüencial, ele não rodará mais rápido no Kerrighed. Para rodar mais rápido, sua aplicação precisará ser paralelizada. Se sua aplicação roda mais rapidamente em uma maquina com vários processadores do que em uma máquina com apenas um processador, essa aplicação poderá rodar mais rápido com o Kerrighed. Se a aplicação não roda mais rápido em uma maquina com vários processadores, ela não rodará mais rápido com o Kerrighed.
- Um Middleware.
Kerrighed é um sistema operacional, e não um middleware. Ele roda dentro do kernel linux, e não em cima do kernel linux. Ele estende as funcionalidades do linux de gerenciamento de serviços de cluster.
- Uma máquina virtual.
Kerrighed não tem correlação nenhuma com tecnologias de virtualização como VMWare ou XEN. Ele não cria um cluster virtual, ele dá a ilusão que um cluster físico de PCs são uma máquina SMP única.