O tipo de cluster que se apresenta como um único sistema operacional com muita memória, várias CPUs e pode executar o que normalmente seria executado na versão não clusterizada desse sistema operacional é chamado de Imagem única do sistema . Isso leva vários nós de cluster e faz exatamente o que você disse, mescla-os em uma única instância do sistema operacional.
Isso não é comumente feito porque é extremamente difícil criar um sistema desse tipo corretamente, e os sistemas que se agrupam no nível de aplicativo ao invés do nível são muito mais fáceis para configurar e, muitas vezes, executar muito melhor.
A razão para a diferença de desempenho tem a ver com suposições. Um processo em execução em um sistema operacional pressupõe que todos os recursos disponíveis sejam locais. Um processo pronto para cluster (como um farm de renderização) assume que alguns recursos são locais e outros remotos. Por causa das diferenças de suposição de como os recursos são alocados são muito diferentes.
Adotar um sistema operacional de nó único de uso geral, como o Linux, e convertê-lo em um cluster de estilo SSI exige muita reformulação dos componentes internos do kernel. Conceitos como a localização da memória (consulte também: numa ) são extremamente importantes em tais um sistema, e o custo de mudar um processo para uma CPU diferente pode ser muito maior. Em segundo lugar, um conceito não presente no Linux, localidade da CPU, também é muito importante; Se você tiver um processo multi-threaded, ter dois processos em execução em um nó e dois em outro pode executar muito mais lento do que todos os quatro em execução no mesmo nó. Cabe ao sistema operacional fazer escolhas locais versus remotas para processos que são cegos a essas distinções.
No entanto, se você tiver um aplicativo pronto para cluster (como aqueles listados pelo Chopper), o próprio aplicativo tomará decisões locais / remotas. O aplicativo está totalmente ciente das implicações locais e remotas das operações e agirá de acordo.