0

I have two physical servers - Dell Power Egde R710. I installed vCenter Server in order to manage both of them, I have created a cluster and added my 2 ESXi (servers) hosts.

I created a virtual machine but Im wondering if its possible that this single machine use resources of both servers? I mean, my servers have 2 CPUs (one server - 2 CPUs, two servers - 4 CPUs). Is it possible to create a virtual machine and if, how) to be able to use 4 CPUs, two from one server + two from the second server?

2 Answers2

0

No, that is not possible.

There is no way to map memory from a physically separate server to another server. [1]

A CPU needs to see 'local' memory. So, the cores on the other server somehow must be able to see the memory on the other server. Since that is not (practically) doable, the short answer is No.

[1] Actually, there are ways to do that, but the latency would be a killer; every write to the memory must be synced over the network, back and forth, or else the separate CPUs will not see a consistent memory, resulting in crash or corrupted data. Needless to say, this will severely impact any performance gain due to the additional core.

pepoluan
  • 4,918
  • 3
  • 43
  • 71
  • Actually it is possible. I wish uninformed people would just not spread this lie. It is not efficient though. – TomTom Mar 14 '14 at 11:27
  • @TomTom you're right; that's why I edited my answer. I think I'll edit it again just to make the point clear. – pepoluan Mar 14 '14 at 11:29
  • Still fundamentally wrong. See, there are technologies to move memory around extremely fast - so fast it blows up the whole local network bandwidth. Not even arcane - that stuff is not really that hard to get and expensive. It is very practically to do that and it was / is in fact an area where a lot of research is done and thre are commercial single system image products out. – TomTom Mar 14 '14 at 11:30
  • Latency? Are you joking? WHat latency? Please, you move from wrong to ignorant. The latency is PCI-e when done right. And perforamcne impact may be neglegible - basically this is a totally standard solution alread,y it is not worse than NUMA. Every CPU has local fast memory and slower access to remote memory. THis is how any local CPU already works - schedulers just have to be aware. – TomTom Mar 14 '14 at 11:33
  • True, but those setups are not implemented with VMware, which is explicitly mentioned by the OP. – pepoluan Mar 14 '14 at 11:33
0

It is possible, but you do not want it. What you lok for is a single image virtualization.

Starting with the bad news: No ESX, no vmware. this is nieche technology.

Going on: your servers are not worh it ;) The hardware requirements are terrific - as in extreme, especially on the network side (infiniband). It also depends on the application.

So, practically - the answer is no, but it is possible to make them one image.

The technology you ask for is "SIngle System Image" - http://en.wikipedia.org/wiki/Single_system_image

Standard virtualization goes the other way - with good reason. It assumes a (large) machine is cut down to smaller elements. Because seriously speaking any mid range server these days is waaaaay overpowered for most servers that could live on a lot smaller hardware - and standard virtualiaztion allows you to take big savings here on hardware. And large hardware solution - really large - are most of the time better served with a standard HPC cluster where individual nodes work on work tasks. Between those two and special software solution (Oracle RAC) there is not a lot of real world use for single system images these days.

TomTom
  • 50,857
  • 7
  • 52
  • 134