Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking at clustering about five machines and I wanted to get some opinions about what is the best way to go about it. I'm wanting to run one VM over the five machines, firstly I want to ask,

1: If I cluster the five machines will their hardware be combined? HDD's CPU's Ports etc..

2: Would the hardware be accessible (Usable) within the VM

Ultimately what I am asking is If I cluster five machines and run a VM over them will that make the VM a 'speed demon' combining CPU's and HDD's?

Also what are some of the clustering operating systems out there at the moment? I have looked around but it seems that a lot of it is deprecated or just old.

If you need any more information just ask.

NOTE: I'm not wanting the cluster to process files parallel, I want the speed of the processors, RAM and HDD's combined into one VM working over top of the cluster

share|improve this question

What you're talking about is called a Single System Image cluster, or sometimes a distributed shared memory system (in a more limiting context). There are some projects listed on the linked Wikipedia pages you should look into. I've used the SGI Altix cluster (the NUMAlink ones), and it can be quite powerful if you have a process that requires a huge memory footprint.

With the increase in CPU speed and memory capacity of individual nodes, this seems to be less of a popular computational clustering technique any more. Most people use message passing APIs to allow parallel computation to communicate over fast interconnect or simple ethernet.

share|improve this answer

There is no way to "just" combine the resources of the individual machines. The software you run on top of your cluster has to be written with parallel in mind. You can't expect a single computation intensive process to magically split up between multiple cores, or even machines. And even if the software is written for parallel execution, once you go from multiple cores to multiple machines you can easily run into a message passing bottleneck over the slow network link in between machines.

I'm curious, what were the "deprecated solutions" that you found so far? Does anyone of those do what you're looking for?

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.