mrdelurk
Contributor
Contributor

Virtual SMP: a question and an idea

Jump to solution

The question: Is virtual SMP possible with computer CPUs on a network (a.k.a. clustering), or is it meant only for computers with multiple CPUs *inside* the box?

The idea: there's an insane amount of processing power in modern $150 video cards, and one can put 2 on an average motherboard. Imagine tapping *that* for virtual SMP: a pair of GTX 460's is 336 cores per card, 675MHz base frequency, overclockable comfortably to 800MHz... 537.6GHz of processing power from one box, not even counting the CPU...

0 Kudos
1 Solution

Accepted Solutions
FredPeterson
Expert
Expert

You're basically asking whether GRID style computing could apply to a concept like Virtual Machines, but in the sense of a second CPU for the operating system rather then sharing compute instructions.

Not at this time, no.  GRID computing operating systems are specially designed as well as applications that utilize that kind of functionality.  There is a real reason MS has Windows HPC Compute Cluster Server 2008 and its not to just brand a different OS to sell it differently Smiley Happy

Bandwidth between systems as mentioned above isn't nearly as critical as latency.  Standard point of confusion when talking about "speed" of communication.  Bandwidth is meaningless for transaction time cost when you still have high latency.

View solution in original post

0 Kudos
11 Replies
AureusStone
Expert
Expert

VMware or any other hypervisor I know of does not support using video cards as a processor.  ESXi/Windows only supports x86 processors.

There are some large, usually scientific clusters, that use such technology, but this is only for certain applications that have been designed to utilise GPGPU.

ewilts
Enthusiast
Enthusiast

The question: Is virtual SMP possible with computer CPUs on a network (a.k.a. clustering), or is it meant only for computers with multiple CPUs *inside* the box?

They have be inside the system because you simply don't have the bandwidth between systems.

The idea: there's an insane amount of processing power in modern $150 video cards, and one can put 2 on an average motherboard.

The reason they're cheap because they only do a fraction of what needs to be done for general-purpose processing.  They're good at what they do but they won't run Windows, Linux, or ESX.

mrdelurk
Contributor
Contributor

Thank you, 24K. Smiley Wink

My initial question, (is virtual SMP possible with computer CPUs on a network, a.k.a. clustering) was a separate topic from the GPGPU idea, by the way. I asked the question to figure out if I could boost the performance of a one-VM Windows 7 host significantly by adding a second computer with some fast connection (eSATA? USB3?) and enabling virtual SMP.

0 Kudos
mrdelurk
Contributor
Contributor

Thank you, ewilts,

Would even eSATA and USB3 be considered slow for virtual SMP over a (dedicated?) network? Many current Win7 machines (including mine) have both ports.

0 Kudos
FredPeterson
Expert
Expert

You're basically asking whether GRID style computing could apply to a concept like Virtual Machines, but in the sense of a second CPU for the operating system rather then sharing compute instructions.

Not at this time, no.  GRID computing operating systems are specially designed as well as applications that utilize that kind of functionality.  There is a real reason MS has Windows HPC Compute Cluster Server 2008 and its not to just brand a different OS to sell it differently Smiley Happy

Bandwidth between systems as mentioned above isn't nearly as critical as latency.  Standard point of confusion when talking about "speed" of communication.  Bandwidth is meaningless for transaction time cost when you still have high latency.

0 Kudos
Texiwill
Leadership
Leadership

Hello,

Actually it is possible but you need a layer that joins all your disparate CPUs to form a virtual machine that will present to vSphere a single host. So say I have 10 1 CPU whiteboxes, with the proper layer you could present to vSphere 1 system with 10 CPUs.... I just cannot remember the name of this layer at this time...


It is a HPTC play into the virtualization space.

Best regards,

Edward L. Haletky

Communities Moderator, VMware vExpert,

Author: VMware vSphere and Virtual Infrastructure Security,VMware ESX and ESXi in the Enterprise 2nd Edition

Podcast: The Virtualization Security Podcast Resources: The Virtualization Bookshelf

--
Edward L. Haletky
vExpert XIV: 2009-2022,
VMTN Community Moderator
vSphere Upgrade Saga: https://www.astroarch.com/blogs
GitHub Repo: https://github.com/Texiwill
0 Kudos
mrdelurk
Contributor
Contributor

Wow, thank you for the pointer. And I thought I should give up on clustering...

If you can remember the name of this layer, please let me know. I sure wouldn't mind trying it with 2 CPUs for a test... seems like the road to future.

0 Kudos
Texiwill
Leadership
Leadership

Hello,

This is something I wrote about a while ago, but I cannot find it... Which is unfortunately, however it was not free software and developed as a for fee product. In essence, it was extremely lowlevel code that acted as a hypervisor joining together disparate machines and then farming out resources for such. You could install vSphere on it, but not sure how well that would work if one CPU was on another host from another CPU. Unless you are using 10G or infiniband interconnects that would be fairly slow. You would also need dedicated interconnects from your standard network....

Best regards,

Edward L. Haletky

Communities Moderator, VMware vExpert,

Author: VMware vSphere and Virtual Infrastructure Security,VMware ESX and ESXi in the Enterprise 2nd Edition

Podcast: The Virtualization Security Podcast Resources: The Virtualization Bookshelf

--
Edward L. Haletky
vExpert XIV: 2009-2022,
VMTN Community Moderator
vSphere Upgrade Saga: https://www.astroarch.com/blogs
GitHub Repo: https://github.com/Texiwill
0 Kudos
mrdelurk
Contributor
Contributor

Yesterday, having squeezed out the last bit of VM performance gain from overclocking, I turned to the idea of substituting a Linux host OS to the Windows 7 one to see if this provides any additional performance gain.

I chose 64-bit CentOS 5.6 Linux for the VM host OS candidate, and spent all night boggled down in a royal mess trying to run my VMware VM files in CentOS. On the positive side, I noticed that CentOS provides clustering support at OS level. So if I can get VMware to work on CentOS, the latter's built in clustering might propel VM performance way past the non-clustered native benchmarks.

Imagine, a negative virtualization overhead.

0 Kudos
Texiwill
Leadership
Leadership

Hello,

What virtualization product are you using? It sounds like Workstation or Server, is this correct? If so they are limited to what the host OS presents to it as CPUs. Clustering using Linux will not change this. You need a hardware clustering approach with a hypervisor, etc. Still looking for that name.

Best regards,

Edward L. Haletky

Communities Moderator, VMware vExpert,

Author: VMware vSphere and Virtual Infrastructure Security,VMware ESX and ESXi in the Enterprise 2nd Edition

Podcast: The Virtualization Security Podcast Resources: The Virtualization Bookshelf

--
Edward L. Haletky
vExpert XIV: 2009-2022,
VMTN Community Moderator
vSphere Upgrade Saga: https://www.astroarch.com/blogs
GitHub Repo: https://github.com/Texiwill
0 Kudos
Texiwill
Leadership
Leadership

Hello,

I found the name, it is ScaleMP (www.scalemp.com)

Best regards,

Edward L. Haletky

Communities Moderator, VMware vExpert,

Author: VMware vSphere and Virtual Infrastructure Security,VMware ESX and ESXi in the Enterprise 2nd Edition

Podcast: The Virtualization Security Podcast Resources: The Virtualization Bookshelf

--
Edward L. Haletky
vExpert XIV: 2009-2022,
VMTN Community Moderator
vSphere Upgrade Saga: https://www.astroarch.com/blogs
GitHub Repo: https://github.com/Texiwill
0 Kudos