Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm searching for open source software to create my own cloud computing environment, like Ubuntu UEC or Eucalyptus.

What I need is that each virtual machine can use resources from multiple nodes (CPU, RAM). And apparently, neither UEC nor Eucalyptus offer this feature.

An example:

I have 5 hardware nodes with each 2x Quadcore. I want that one VM can use up to 20 cores (in this case).

My question

Which open source software can meet this requirement?

#Edit#

At first, I think this is possible with current technology, with computers connected using gigabit network.

Companies like the VPS.net offer services that make a single virtual machine to be formed from the resources of multiple nodes. (At least it seems to be so)

Is this just an abstraction made ​​by VPS.net? Is this approach recommended?

share|improve this question
    
A single HT bus on a single Opteron (They usually have two or more) runs around 200Gbps, you're 1Gbps network connection ain't even in the ballpark of what 5 dual CPU nodes would take. –  Chris S Jun 8 '11 at 13:01
    
Excellent comment. Thank you, Chris! –  Paulocoghi Jun 8 '11 at 18:38
add comment

2 Answers

up vote 2 down vote accepted

You might need to look at changing the architecture of your hardware to suit the problem. I'm not sure what type of problems you are actually trying to solve with this. You are likely to end up with one very slow VM if you set things up like this.

You might be better served with a four-socket server with 6 or 8-cores in each socket. This would allow you to use 20 cores spread over 3-4 sockets, which would be better for performance.

Using multiple cores across different sockets on a single machine can be tricky to tune for performance. Trying to spread the work across multiple hardware nodes over the network will slow things down further as all data has to pass through the network layer.

The traditional solution to this sort of computing requirement is to use something like MPI or MOSIX. However, it is a solution for a specific type of work-load - where the data is nicely partitioned or can be spread out easily and where synchronisation does not regularly happen.

share|improve this answer
    
Ok, thank you very much! Nice answer! –  Paulocoghi Jun 8 '11 at 5:19
    
But the system of VPS.net behaves exactly like this: virtual machines formed by the union of multiple nodes. See the description: "VPS systems are made up of one or more nodes. Each node provides ... RAM, ... storage, ... dedicated CPU and ... bandwidth." How did they do that? –  Paulocoghi Jun 8 '11 at 5:26
    
I think you are confusing what they are selling with hardware nodes. I think that they mean VM instances when they say nodes. So, if you need more computing power, you can spawn more VM instances (not have a single VM spread across multiple hardware machines). –  sybreon Jun 8 '11 at 11:28
1  
Also, they seem to max out at 12GHz, 7.6GB RAM, 200GB HDD. This would seem to be the size of a single server - Hex-core 2GHz, 8GB RAM, 200GB HDD. –  sybreon Jun 8 '11 at 11:30
    
Your answer makes more sense now. Thank you. –  Paulocoghi Jun 8 '11 at 18:31
add comment

I don't know of any open source software that does this, but there is a commercial product made by a company called scalemp http://www.scalemp.com/ that does exactly this.

Note that they recommend Infiniband rather than ethernet, and even so, the NUMA factor is rather large, so it's far from a general purpose solution.

share|improve this answer
    
Thank you, Janneb. Good answer too. –  Paulocoghi Jun 8 '11 at 18:31
add comment

Your Answer

 
discard

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.