Imagem única do sistema - Single system image
Na computação distribuída , um cluster de imagem de sistema único ( SSI ) é um cluster de máquinas que parece ser um único sistema. O conceito é muitas vezes considerado sinônimo de sistema operacional distribuído , mas uma única imagem pode ser apresentada para fins mais limitados, apenas o agendamento de tarefas, por exemplo, que pode ser alcançado por meio de uma camada adicional de software sobre as imagens convencionais do sistema operacional em execução em cada nó . O interesse em clusters SSI é baseado na percepção de que eles podem ser mais simples de usar e administrar do que clusters mais especializados.
Diferentes sistemas SSI podem fornecer uma ilusão mais ou menos completa de um único sistema.
Recursos dos sistemas de cluster SSI
Diferentes sistemas SSI podem, dependendo do uso pretendido, fornecer algum subconjunto desses recursos.
Migração de processo
Muitos sistemas SSI fornecem migração de processos . Os processos podem ser iniciados em um nó e movidos para outro, possivelmente para equilíbrio de recursos ou razões administrativas. Conforme os processos são movidos de um nó para outro, outros recursos associados (por exemplo, recursos IPC ) podem ser movidos com eles.
Ponto de verificação de processo
Alguns sistemas SSI permitem a verificação de processos em execução, permitindo que seu estado atual seja salvo e recarregado em uma data posterior. O ponto de verificação pode ser visto como relacionado à migração, pois a migração de um processo de um nó para outro pode ser implementada, primeiro fazendo o ponto de verificação do processo e, em seguida, reiniciando-o em outro nó. Alternativamente, o checkpoint pode ser considerado como migração para o disco .
Espaço de processo único
Alguns sistemas SSI fornecem a ilusão de que todos os processos estão sendo executados na mesma máquina - as ferramentas de gerenciamento de processos (por exemplo, "ps", "kill" em sistemas semelhantes ao Unix ) operam em todos os processos no cluster.
Raiz única
A maioria dos sistemas SSI oferece uma visão única do sistema de arquivos. Isso pode ser alcançado por um servidor NFS simples , dispositivos de disco compartilhados ou até mesmo replicação de arquivos.
A vantagem de uma visão raiz única é que os processos podem ser executados em qualquer nó disponível e acessar os arquivos necessários sem precauções especiais. Se o cluster implementar a migração do processo, uma única visualização raiz permite o acesso direto aos arquivos do nó onde o processo está em execução.
Alguns sistemas SSI fornecem uma maneira de "quebrar a ilusão", tendo alguns arquivos específicos do nó, mesmo em uma única raiz. O HP TruCluster fornece um "link simbólico dependente do contexto" (CDSL) que aponta para arquivos diferentes dependendo do nó que o acessa. O HP VMScluster fornece um nome lógico de lista de pesquisa com arquivos específicos do nó que obstruem os arquivos compartilhados do cluster quando necessário. Esse recurso pode ser necessário para lidar com clusters heterogêneos , onde nem todos os nós têm a mesma configuração. Em configurações mais complexas, como vários nós de várias arquiteturas em vários sites, vários discos locais podem se combinar para formar a única raiz lógica.
Espaço de E / S único
Alguns sistemas SSI permitem que todos os nós acessem os dispositivos de E / S (por exemplo, fitas, discos, linhas seriais e assim por diante) de outros nós. Pode haver algumas restrições sobre os tipos de acesso permitidos (por exemplo, o OpenSSI não pode montar dispositivos de disco de um nó em outro).
Espaço único IPC
Alguns sistemas SSI permitem que processos em nós diferentes se comuniquem usando mecanismos de comunicação entre processos , como se estivessem em execução na mesma máquina. Em alguns sistemas SSI, isso pode até incluir memória compartilhada (pode ser emulada com memória compartilhada distribuída por software ).
Na maioria dos casos, o IPC entre nós será mais lento do que o IPC na mesma máquina, possivelmente drasticamente mais lento para a memória compartilhada. Alguns clusters SSI incluem hardware especial para reduzir essa lentidão.
Endereço IP do cluster
Alguns sistemas SSI fornecem um " endereço IP do cluster ", um único endereço visível de fora do cluster que pode ser usado para contatar o cluster como se fosse uma máquina. Isso pode ser usado para balancear a carga de chamadas de entrada para o cluster, direcionando-as para nós com carga leve, ou para redundância, movendo o endereço do cluster de uma máquina para outra conforme os nós entram ou saem do cluster.
Exemplos
Os exemplos aqui variam de plataformas comerciais com recursos de dimensionamento a pacotes / estruturas para a criação de sistemas distribuídos, bem como aqueles que realmente implementam uma única imagem do sistema.
| Nome | Migração de processo | Ponto de verificação do processo | Espaço de processo único | Raiz única | Espaço de E / S único | Espaço único IPC | Endereço IP do cluster | Modelo Fonte | Última data de lançamento | SO Suportado |
|---|---|---|---|---|---|---|---|---|---|---|
| Ameba | sim | sim | sim | sim | Desconhecido | sim | Desconhecido | Abrir | 30 de julho de 1996 | Nativo |
| AIX TCF | Desconhecido | Desconhecido | Desconhecido | sim | Desconhecido | Desconhecido | Desconhecido | Fechadas | 30 de março de 1990 | AIX PS / 2 1.2 |
| Guardião NonStop | sim | sim | sim | sim | sim | sim | sim | Fechadas | 2018 | NonStop OS |
| Inferno | Não | Não | Não | sim | sim | sim | Desconhecido | Abrir | 4 de março de 2015 | Nativo, Windows , Irix , Linux , OS X , FreeBSD , Solaris , Plan 9 |
| Kerrighed | sim | sim | sim | sim | Desconhecido | sim | Desconhecido | Abrir | 14 de junho de 2010 | Linux 2.6.30 |
| LinuxPMI | sim | sim | Não | sim | Não | Não | Desconhecido | Abrir | 18 de junho de 2006 | Linux 2.6.17 |
| LOCUS | sim | Desconhecido | sim | sim | sim | sim | Desconhecido | Fechadas | 1988 | Nativo |
| MOSIX | sim | sim | Não | sim | Não | Não | Desconhecido | Fechadas | 24 de outubro de 2017 | Linux |
| openMosix | sim | sim | Não | sim | Não | Não | Desconhecido | Abrir | 10 de dezembro de 2004 | Linux 2.4.26 |
| Open-Sharedroot | Não | Não | Não | sim | Não | Não | sim | Abrir | 1 de setembro de 2011 | Linux |
| OpenSSI | sim | Não | sim | sim | sim | sim | sim | Abrir | 18 de fevereiro de 2010 | Linux 2.6.10 ( Debian , Fedora ) |
| Plano 9 | Não | Não | Não | sim | sim | sim | sim | Abrir | 9 de janeiro de 2015 | Nativo |
| Sprite | sim | Desconhecido | Não | sim | sim | Não | Desconhecido | Abrir | 1992 | Nativo |
| TidalScale | sim | Não | sim | sim | sim | sim | sim | Fechadas | 17 de agosto de 2020 | Linux , FreeBSD |
| TruCluster | Não | Desconhecido | Não | sim | Não | Não | sim | Fechadas | 1 de outubro de 2010 | Tru64 |
| VMScluster | Não | Não | sim | sim | sim | sim | sim | Fechadas | 8 de abril de 2021 | OpenVMS |
| z / VM | sim | Não | sim | Não | Não | sim | Desconhecido | Fechadas | 11 de novembro de 2016 | Nativo |
| Clusters UnixWare NonStop | sim | Não | sim | sim | sim | sim | sim | Fechadas | Junho de 2000 | UnixWare |
- ^ Muitos dos clusters SSI baseados em Linux podem usar o servidor virtual Linux para implementar um único endereço IP de cluster
- ^ Verde significa que o software foi desenvolvido ativamente
- ^ O desenvolvimento do Amoeba é realizado pelo Dr. Stefan Bosse no BSS Lab. Arquivado em 03/02/2009 na Wayback Machine
- ^ Guardian90 TR90.8 Baseado em P&D da Tandem Computers c / o Andrea Borr em [1]
- ^ LinuxPMI é um sucessor do openMosix
- ^ LOCUS foi usado para criar IBM AIX TCF
- ^ LOCUS usou tubos nomeados para IPC
- ^ openMosix era um fork do MOSIX
- ^ Open-Sharedroot é um cluster de raiz compartilhada da ATIX
- ^ UnixWare NonStop Clusters era uma base para OpenSSI
Veja também
- Clusters de computador
- Cluster de raiz compartilhada sem disco
- Gerenciador de bloqueio distribuído
- Cache distribuído
- Máquina Virtual Paralela - alternativa de imagem de sistema múltiplo
- Interface de passagem de mensagem - alternativa de imagem de sistema múltiplo
Notas
- ^ por exemplo, pode ser necessário mover processos de longa execução para fora de um nó que deve ser fechado para manutenção
- ^ Checkpointing é particularmente útil em clusters usados para computação de alto desempenho , evitando a perda de trabalho no caso de um cluster ou reinício de nó.
- ^ "sair de um cluster" é muitas vezes um eufemismo para travar