vCPU是否可以使用来自两台不同硬件计算机的不同CPU [英] is it possible to a vCPU to use different CPUs from two different hardware computers

查看:140
本文介绍了vCPU是否可以使用来自两台不同硬件计算机的不同CPU的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经对此进行了搜索,但是我似乎没有一个公正的答案。
可以说我不想创建一个具有vCPU的虚拟机,并且该vCPU必须具有10个内核,但是我只有2台计算机,每个计算机具有5个物理CPU内核。

I'v searched about this but i don't seem to get fair answer. lets say i wan't to create a vm that has a vCPU, and that vCPU must have 10 cores but i only have 2 computers with 5 cores of physical CPU for each.

是否可以通过中继这两个物理CPU来创建一个vCPU,使其表现像常规的一个物理CPU?

更新1:假设我正在使用virtualBox,而术语vCPU指的是虚拟cpu,这是一个众所周知的术语。

Update 1: lets say i'm using virtualBox, and the term vCPU is referring to virtual cpu, and it's a well known term.

更新2:我在问这是因为我正在对HPC群集中的动态配置进行一些研究,并且我不知道动态一词是否真的意味着从不同的硬件(如裸机服务器)动态分配虚拟cpus。我不知道我是否在错误的位置搜索,但是没有人在文档中真正回答这个问题。

Update 2: i'm asking this because i'm doing a little research about dynamic provisioning in HPC clusters, and i wan't to know if the word "dynamic" really means allocating virtual cpus dynamically from different hardwares, like bare-metal servers. i don't know if i was searching in the wrong place but no one really answers this question in the docs.

推荐答案

不幸的是,首先我要说我完全不同意OSGX的答案(我必须先从那个开始,因为其余的答案取决于它)。在某些情况下,将多个物理系统的CPU功能聚合到单个系统映像中的工作非常有效。即使关于ScaleMP 的评论,解决方案的范围也可以从使目标应用程序变慢到使目标应用程序非常慢 ... -使该主张无效的所有工作是要检查SPEC CPU基准测试列表中最受好评的计算机,以查看使用ScaleMP的计算机在该基准测试中为性能而排名前5名。
而且,从计算机体系结构的角度来看,所有大型计算机本质上都是具有特殊结构(Xbar,Numalink等)和管理高速缓存一致性的逻辑/芯片组的小型计算机的集合。当今的标准结构(PCIe交换,InfiniBand)与那些专有SMP互连一样快,甚至没有更快。 OSGX会声称这些SMP也是非常非常慢吗?

Unfortunately, I have to start by saying that I completely disagree with the answer from OSGX (and I have to start with that as the rest of my answer depends on it). There are documented cases where aggregating CPU power of multiple physical systems into a single system image work great. Even about the comment regarding ScaleMP ...solutions can be ranged from "make target application slower" to "make target application very-very slow" ... - all one needs to do to invalidate that claim is to check the top-rated machines in the SPEC CPU benchmark lists to see machines using ScaleMP are in the top 5 SMPs ever built for performance on this benchmark. Also, from computer architecture perspective, all large scale machines are essentially a collection of smaller machines with a special fabric (Xbar, Numalink, etc.) and some logic/chipset to manage cache coherence. today's standard fabrics (PCIe Switching, InfiniBand) are just as fast, if not faster, than those proprietary SMP interconnects. Will OSGX claim those SMPs are also "very-very-slow"?

与任何技术一样,真正的问题是您要实现什么目标。大多数技术非常适合一项任务,而不适合另一项任务。如果您要构建大型计算机(例如,将16个服务器(每个服务器具有24个核心)合并为一个384核SMP),则您将在其上运行小型VM,每个VM都使用一位数的vCPU,然后对于仅运行高通量计算(HTC)作业的基础基础结构,这种SSI解决方案可能会很好地工作-就像SPEC CPU一样。但是,如果您运行的线程并行软件过度使用了序列化元素(屏障,锁等),而这些元素需要在所有内核之间进行密集的通信,那么您可能看不到任何好处。

The real question, as with any technology, is what are you trying to achieve. Most technologies are a good fit for one task but not the other. If you are trying to build a large machine (say, combine 16 servers, each with 24 cores, into a 384-core SMP), on-top of which you will be running small VMs, each using single digit number of vCPUs, then this kind of SSI solution would probably work very nicely as to the underlying infrastructure you are merely running a high-throughput computing (HTC) job - just like SPEC CPU is. However, if you are running a thread-parallel software that excessively uses serializing elements (barriers, locks, etc) that require intensive communication between all cores - then maybe you won't see any benefit.

关于线程的原始问题,或更确切地说,作者的 Update 2:
...我之所以问这个是因为我正在做一些研究关于HPC群集中的动态预配置...
确实,没有很多技术可以使整个群集中的CPU创建单个系统。 ScaleMP先前提到的技术仅在物理服务器粒度上执行此操作(因此,如果您有一个包含100个服务器的集群,并且每个集群节点具有24个核心,则可以动态创建具有48个核心的虚拟机(2集群节点),72个核心(3个集群节点)等,但是您无法创建具有36个核心(1.5个集群节点)的计算机,也无法合并来自不同节点的几个空闲CPU-您要么使用来自一个要合并为虚拟SMP的节点,或者根本不合并。

As to the original question on the thread, or rather, the "Update 2" by the author: ...I'm asking this because i'm doing a little research about dynamic provisioning in HPC clusters... Indeed, there is not a lot of technology out there that enables the creation of a single system from CPUs across a cluster. The technology mentioned earlier, from ScaleMP, does this but only at a physical server granularity (so, if you have a cluster of 100 servers and each cluster node has 24 cores, then you can "dynamically" create virtual machines of 48 cores (2 cluster nodes), 72 cores (3 cluster nodes), and so on, but you could not create a machine with 36 cores (1.5 cluster nodes), nor combine a few vacant CPUs from across different nodes - you either use all the cores from a node to combine into a virtual SMP, or none at all.

这篇关于vCPU是否可以使用来自两台不同硬件计算机的不同CPU的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆