主题:双路和双核的区别?
正序浏览
主题图片汇总
主题内检索
禁言中
泡网分: 18.32
主题: 360
帖子: 7538
注册: 2002年3月
请问专家,对于当前的主流CPU来说,双路和双核在应用上和性能上有什么区别吗?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
浏览:936 回帖:32
游客没有回帖权限
资深泡菜
泡网分: 28.227
主题: 58
帖子: 6974
注册: 2010年1月
nahcooo 发表于 2015-2-11 21:44
你说的那是一般用户,主要只跑一个程序的情况。

如果是同时跑10个不同的程序,那么及时是10个没有Load balance的程序,也能发挥威力。


10个归,10个
但是单个程序,多并发,高负载,也是常见应用场景。

某些程序的api里面,本身也带了负载均衡的支持
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 22.17
主题: 60
帖子: 1422
注册: 2006年7月
nahcooo 发表于 2015-2-11 23:08
X86多路服务器都是NUMA架构的,SMP架构看上去很美好,实际上不如NUMA实用。

我记得多路服务器分成三类

SMP共享全部资源,增加CPU能线性增加性能,但增加CPU不是说增加就增加的,扩展性其实相当有限,CPU多了还会大大降低内存速度。

NUMA每个CPU有自己的资源,但也能访问到其它CPU的资源,访问其它CPU资源时效率大大低于本地资源,但这一切对上层应用程序来说是透明的,操作系统的调度优化极其重要。扩展性比SMP容易,但也不能无限制的增加。效率非线性,NUMA单元每增加一倍,效率增长会少于一倍。

MPP相当于多台计算机用网线连接起来,完全不共享资源,一个CPU不能访问另一个CPU的内存,所以效率最低。但扩展性无比好,可以无限制地增加计算单元。由于不需要专门设计硬件,可以说是最廉价的组成方案。

大学时学的,可能记不准确了。

IA架构在引入QPI之前就是典型的SMP,可能大家都忘记了当年还有FSB这么个东西。不过即使是在FSB的年代,IBM也用serverworks的芯片组做过NUMA架构的8路和16路服务器,当然,是用好几组FSB堆的。windows在NT的年代就已经可以同时支持SMP和NUMA两种架构了。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 10.567
主题: 366
帖子: 9009
注册: 2012年2月
wayyt 发表于 2015-2-11 23:59
说的有道理。创建hyper-v虚机,是否可以指定分配到速度快的内存?Windows应该理解这个状态,可以正确处理吧?


os应该会自己调度吧?

现在os都发展好几十年了,这点东西应该不用人工tweak了,我猜的
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0.395
主题: 33
帖子: 1503
注册: 2012年1月
瞬间的震撼 发表于 2015-2-11 23:21
双核现在物理上就是一个核,分开两块逻辑电路区域罢了

这不就得了?还是从物理上分区的,只是说这个物理范围有多大,是以一块芯片为限,还是以一块主板为限,或者以一个机箱为限。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
禁言中
泡网分: 18.32
主题: 360
帖子: 7538
注册: 2002年3月
nahcooo 发表于 2015-2-11 23:54
底层是NUMA,上层是“看起来像SMP”,这样做的好处是应用程序不用额外编写就能跑在多个CPU上。

对于APP来说,多路和多核都是一种写法,底层由windows去处理。

双路性能不见得更好,这句话没错,但要分场合。

假设A电脑单路16核,B电脑双路,每路8核。
A电脑四通道内存,B电脑由于双路,每路都有4通道内存。
A电脑16个核心挤在一起,主频只有2.3G,B电脑由于散热面积大,主频有3.2G

所以在跑多个互不相干的应用的时候,例如虚拟出4台虚拟机,每台虚拟机有4个核心,B的性能肯定大大优于A。因为主频高,内存通道多。

如果一个程序就是单线程的,但需要反复读写全部的内存,那么A应该快于B,因为对B来说,有一半的内存快,另一半的内存慢。

如果是插GPU计算卡,那么B要优于A,因为一个CPU只能提供2条PCI-Ex16,插4块卡就只能8+8+8+8了,而双路能让每块卡都跑在16上。


说的有道理。创建hyper-v虚机,是否可以指定分配到速度快的内存?Windows应该理解这个状态,可以正确处理吧?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 29.179
主题: 320
帖子: 14187
注册: 2008年6月
wayyt 发表于 2015-2-11 23:24
感谢。查了一下,Windows从Vsita开始支持NUMA了。但是Windows on a NUMA system still runs as an SMP system:

In NUMA systems, processors are grouped in smaller units called nodes. Each node has its own processors and memory and is connected to the larger system through a cachecoherent interconnect bus. Windows on a NUMA system still runs as an SMP system, in that all processors have access to all memory—it’s just that node-local memory is faster to reference than memory attached to other nodes. The system attempts to improve performance by sche※※※※ng threads on processors that are in the same node as the memory being used. It attempts to satisfy memory-allocation requests from within the node, but will allocate memory from other nodes if necessary.

这样看来,双路和双核的区别还是很大的。而且双路的性能并不见得更好,如果没有特别的软件支持的话。


底层是NUMA,上层是“看起来像SMP”,这样做的好处是应用程序不用额外编写就能跑在多个CPU上。

对于APP来说,多路和多核都是一种写法,底层由windows去处理。

双路性能不见得更好,这句话没错,但要分场合。

假设A电脑单路16核,B电脑双路,每路8核。
A电脑四通道内存,B电脑由于双路,每路都有4通道内存。
A电脑16个核心挤在一起,主频只有2.3G,B电脑由于散热面积大,主频有3.2G

所以在跑多个互不相干的应用的时候,例如虚拟出4台虚拟机,每台虚拟机有4个核心,B的性能肯定大大优于A。因为主频高,内存通道多。

如果一个程序就是单线程的,但需要反复读写全部的内存,那么A应该快于B,因为对B来说,有一半的内存快,另一半的内存慢。

如果是插GPU计算卡,那么B要优于A,因为一个CPU只能提供2条PCI-Ex16,插4块卡就只能8+8+8+8了,而双路能让每块卡都跑在16上。

(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
禁言中
泡网分: 18.32
主题: 360
帖子: 7538
注册: 2002年3月
瞬间的震撼 发表于 2015-2-11 23:21
双核现在物理上就是一个核,分开两块逻辑电路区域罢了


两个core,一个die
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
禁言中
泡网分: 18.32
主题: 360
帖子: 7538
注册: 2002年3月
nahcooo 发表于 2015-2-11 23:08
X86多路服务器都是NUMA架构的,SMP架构看上去很美好,实际上不如NUMA实用。

我记得多路服务器分成三类

SMP共享全部资源,增加CPU能线性增加性能,但增加CPU不是说增加就增加的,扩展性其实相当有限,CPU多了还会大大降低内存速度。

NUMA每个CPU有自己的资源,但也能访问到其它CPU的资源,访问其它CPU资源时效率大大低于本地资源,但这一切对上层应用程序来说是透明的,操作系统的调度优化极其重要。扩展性比SMP容易,但也不能无限制的增加。效率非线性,NUMA单元每增加一倍,效率增长会少于一倍。

MPP相当于多台计算机用网线连接起来,完全不共享资源,一个CPU不能访问另一个CPU的内存,所以效率最低。但扩展性无比好,可以无限制地增加计算单元。由于不需要专门设计硬件,可以说是最廉价的组成方案。

大学时学的,可能记不准确了。


感谢。查了一下,Windows从Vsita开始支持NUMA了。但是Windows on a NUMA system still runs as an SMP system:

In NUMA systems, processors are grouped in smaller units called nodes. Each node has its own processors and memory and is connected to the larger system through a cachecoherent interconnect bus. Windows on a NUMA system still runs as an SMP system, in that all processors have access to all memory—it’s just that node-local memory is faster to reference than memory attached to other nodes. The system attempts to improve performance by sche※※※※ng threads on processors that are in the same node as the memory being used. It attempts to satisfy memory-allocation requests from within the node, but will allocate memory from other nodes if necessary.

这样看来,双路和双核的区别还是很大的。而且双路的性能并不见得更好,如果没有特别的软件支持的话。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 41.824
主题: 57
帖子: 9420
注册: 2005年2月
废弃马甲 发表于 2015-2-11 22:58
双核可不是两种造型,在物理上是存在两个core的。

双路:重婚,在中国和香港各有一个老婆

双核:结婚一次,但有老婆和小三

双路双核:重婚,在中国有老婆和小三,在香港也有老婆和小三


双核现在物理上就是一个核,分开两块逻辑电路区域罢了
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 29.179
主题: 320
帖子: 14187
注册: 2008年6月
wayyt 发表于 2015-2-11 22:53
是呀。Windows支持的是SMP,可是现在多路的架构看上去不像是SMP啊。


X86多路服务器都是NUMA架构的,SMP架构看上去很美好,实际上不如NUMA实用。

我记得多路服务器分成三类

SMP共享全部资源,增加CPU能线性增加性能,但增加CPU不是说增加就增加的,扩展性其实相当有限,CPU多了还会大大降低内存速度。

NUMA每个CPU有自己的资源,但也能访问到其它CPU的资源,访问其它CPU资源时效率大大低于本地资源,但这一切对上层应用程序来说是透明的,操作系统的调度优化极其重要。扩展性比SMP容易,但也不能无限制的增加。效率非线性,NUMA单元每增加一倍,效率增长会少于一倍。

MPP相当于多台计算机用网线连接起来,完全不共享资源,一个CPU不能访问另一个CPU的内存,所以效率最低。但扩展性无比好,可以无限制地增加计算单元。由于不需要专门设计硬件,可以说是最廉价的组成方案。

大学时学的,可能记不准确了。

本帖最后由 nahcooo 于 2015-2-11 23:17 编辑

(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 29.179
主题: 320
帖子: 14187
注册: 2008年6月
wayyt 发表于 2015-2-11 22:29
码这么多字。辛苦了!

请教,现在的多路机器,因为内存控制器集成在CPU里,单个CPU只能访问自己控制的内存,这还叫对称多处理吗? Windows还提供支持吗? 是不是需要额外的软件给Windows做补充才可以?


一个CPU可以访问另一个CPU的内存,但是不是直接访问,而是通过QPI总线访问。

拓扑结构大概长这样
本帖最后由 nahcooo 于 2015-2-11 23:04 编辑

(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0.395
主题: 33
帖子: 1503
注册: 2012年1月
瞬间的震撼 发表于 2015-2-11 22:28
双核 = 一个老婆两种造型

双路=两个老婆


双核可不是两种造型,在物理上是存在两个core的。

双路:重婚,在中国和香港各有一个老婆

双核:结婚一次,但有老婆和小三

双路双核:重婚,在中国有老婆和小三,在香港也有老婆和小三
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
禁言中
泡网分: 18.32
主题: 360
帖子: 7538
注册: 2002年3月
fisherwei 发表于 2015-2-11 22:38
哦?你这个说法是哪里看到的?

据我所知,wintel的多路架构,内存也是统一寻址的吧?


是呀。Windows支持的是SMP,可是现在多路的架构看上去不像是SMP啊。
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
陈年泡菜
泡网分: 103.389
主题: 35
帖子: 33504
注册: 2006年3月
内容贡献勋章
瞬间的震撼 发表于 2015-2-11 22:28
双核 = 一个老婆两种造型

双路=两个老婆
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 10.567
主题: 366
帖子: 9009
注册: 2012年2月
wayyt 发表于 2015-2-11 22:29
码这么多字。辛苦了!

请教,现在的多路机器,因为内存控制器集成在CPU里,单个CPU只能访问自己控制的内存,这还叫对称多处理吗? Windows还提供支持吗? 是不是需要额外的软件给Windows做补充才可以?


哦?你这个说法是哪里看到的?

据我所知,wintel的多路架构,内存也是统一寻址的吧?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 10.567
主题: 366
帖子: 9009
注册: 2012年2月
瞬间的震撼 发表于 2015-2-11 22:28
双核 = 一个老婆两种造型

双路=两个老婆


我靠,这是一个完美的解释啊!!
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
禁言中
泡网分: 18.32
主题: 360
帖子: 7538
注册: 2002年3月
nahcooo 发表于 2015-2-11 21:42
双路,指的是有两个CPU(每个CPU可以有多核,我们这里假设为一个核心)
双核,指得是一个CPU里有两个核心(可以有多个这样的CPU,我们这里假设为只有一个CPU)

双路的优点:
1. 每个CPU都有自己的内存组,也就是说如果处理完全不同的任务的时候,内存的吞吐量要强很多。
2. 因为是两块CPU,所以同时代的双路CPU包含的缓存总量也超过单路的。
3. PCI-E通道多,因为现在的CPU里面都有北桥的电路,提供的PCI-E通道也是单路的两倍。
4. 散热压力小,因为有两个CPU的散热面积分开散热,所以可以支持更高频率。例如现在16核的2698v3只有2.3G的主频,而8核的2667v3可以有3.2G主频。

双路的缺点:
1. 如果一个CPU里跑的程序,需要的数据却储存在另一个CPU的内存上,就需要跟另一个CPU通信去把数据要过来,效率就降低了。因为这样做比读取自己的内存要慢。
2. 现在的双核都有个共享的L3缓存,但是双路不会有共享的缓存。
3. 主板面积要更大才能装下两个CPU
4. Intel做了限制,只有E5-2xxx才能双路,而i3,i5,i7,E3和E5-1xxx都不能双路,然后双路的CPU就卖得很贵。

单路双核的优点:
1. 两个核心共享L3缓存,数据访问效率较高
2. 两个核心共享内存,数据访问效率较高
3. 可以在一个核心不工作 ...


码这么多字。辛苦了!

请教,现在的多路机器,因为内存控制器集成在CPU里,单个CPU只能访问自己控制的内存,这还叫对称多处理吗? Windows还提供支持吗? 是不是需要额外的软件给Windows做补充才可以?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 41.824
主题: 57
帖子: 9420
注册: 2005年2月
双核 = 一个老婆两种造型

双路=两个老婆
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 29.179
主题: 320
帖子: 14187
注册: 2008年6月
crossa 发表于 2015-2-11 17:58
现在的双核也好,双路也罢

程序得支持load balance特性,才能发挥威力


你说的那是一般用户,主要只跑一个程序的情况。

如果是同时跑10个不同的程序,那么及时是10个没有Load balance的程序,也能发挥威力。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 29.179
主题: 320
帖子: 14187
注册: 2008年6月
双路,指的是有两个CPU(每个CPU可以有多核,我们这里假设为一个核心)
双核,指得是一个CPU里有两个核心(可以有多个这样的CPU,我们这里假设为只有一个CPU)

双路的优点:
1. 每个CPU都有自己的内存组,也就是说如果处理完全不同的任务的时候,内存的吞吐量要强很多。
2. 因为是两块CPU,所以同时代的双路CPU包含的缓存总量也超过单路的。
3. PCI-E通道多,因为现在的CPU里面都有北桥的电路,提供的PCI-E通道也是单路的两倍。
4. 散热压力小,因为有两个CPU的散热面积分开散热,所以可以支持更高频率。例如现在16核的2698v3只有2.3G的主频,而8核的2667v3可以有3.2G主频。

双路的缺点:
1. 如果一个CPU里跑的程序,需要的数据却储存在另一个CPU的内存上,就需要跟另一个CPU通信去把数据要过来,效率就降低了。因为这样做比读取自己的内存要慢。
2. 现在的双核都有个共享的L3缓存,但是双路不会有共享的缓存。
3. 主板面积要更大才能装下两个CPU
4. Intel做了限制,只有E5-2xxx才能双路,而i3,i5,i7,E3和E5-1xxx都不能双路,然后双路的CPU就卖得很贵。

单路双核的优点:
1. 两个核心共享L3缓存,数据访问效率较高
2. 两个核心共享内存,数据访问效率较高
3. 可以在一个核心不工作的时候提升另一个核心的频率,实现TDP不增加的情况下轻微超频,就是所谓睿频。
4. 已经普及到低端的CPU上,奔腾都有双核,CPU和主板的成本很低。

单路双核的缺点:
1. 内存带宽有限
2. 内存总容量有限
3. 散热面积有限,核心越多主频就上不去。
4. PCI-E带宽有限

(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 7.241
主题: 140
帖子: 4347
注册: 2012年6月
wayyt 发表于 2015-2-11 13:34
二位的观点好像不是很一致。

你可以这么想,就像一个人,长两个头,那就两套感官系统,两个独立的大脑。一个脑袋控制左手,一个脑袋控制右手,去同时做不同的事情,共享一个身体。这就是双路
如果一个人,一个头,但头里有两个大脑,那就是双核。最多计算比别人快一点,但不是1+1=2,他有两个大脑不代表这个人反应神经就比别人快两倍,最多效率高罢了。一心二用还是不如双路。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 28.227
主题: 58
帖子: 6974
注册: 2010年1月
mygod555 发表于 2015-2-11 16:40
我玩过双赛扬的服务器,自己DIY的。CPU主频400,INTEL的服务器主板,SCSI卡忘了是什么牌子的,反正是顶级牌子的低端货。用的两块1GB的SCSI硬盘,跑3DMAX很快。太多年不玩儿了。后来的赛扬就搞不了双路了,只有PIII能。现在只有至强能了,而且必须是5系的。INTEL太坏了。


blueguitar 发表于 2015-2-11 14:32
当年奔3可以双路,赛扬不可以。后来intel直接阉割掉奔腾系列的双路了,只允许至强双路了,到现在都是这样。


现在的双核也好,双路也罢

程序得支持load balance特性,才能发挥威力
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 34.387
主题: 59
帖子: 7139
注册: 2006年1月
wayyt 发表于 2015-2-11 10:45
请问专家,对于当前的主流CPU来说,双路和双核在应用上和性能上有什么区别吗?


简单来说,2颗CPU拥有独自的内存控制器和PCI-E通道,比1颗CPU多个核心调度起来更加困难。

所以这个年代,12核以下别双路了……
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 21.386
主题: 10
帖子: 2740
注册: 2007年1月
crossa 发表于 2015-2-11 11:19
2000年前后,很多双cpu主板问世
当时好些人为了折腾,把不能双cpu工作的赛扬处理器,破解了装在上头用。

我玩过双赛扬的服务器,自己DIY的。CPU主频400,INTEL的服务器主板,SCSI卡忘了是什么牌子的,反正是顶级牌子的低端货。用的两块1GB的SCSI硬盘,跑3DMAX很快。太多年不玩儿了。后来的赛扬就搞不了双路了,只有PIII能。现在只有至强能了,而且必须是5系的。INTEL太坏了。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 13.094
主题: 13
帖子: 4613
注册: 2010年2月
crossa 发表于 2015-2-11 11:19
2000年前后,很多双cpu主板问世
当时好些人为了折腾,把不能双cpu工作的赛扬处理器,破解了装在上头用。


当年奔3可以双路,赛扬不可以。后来intel直接阉割掉奔腾系列的双路了,只允许至强双路了,到现在都是这样。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 10.567
主题: 366
帖子: 9009
注册: 2012年2月
你是想问 单路双核 和 双路单核 的区别吧?

前者效率高于后者

前者缓存、内存是共享的,
后者线程切换到另一个CPU,就都MISS了
本帖由 iPhone 5s (GSM CDMA) 客户端发布
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
禁言中
泡网分: 18.32
主题: 360
帖子: 7538
注册: 2002年3月
blueguitar 发表于 2015-2-11 11:16
双路双核的意义不是比都有几个核心,双路的意义是可以直接多一倍核心数量


弄个马甲爬上来 发表于 2015-2-11 12:07
双路有独自的总线…和双核心单总线是两回事


二位的观点好像不是很一致。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
老坛泡菜
泡网分: 26.926
主题: 51
帖子: 16354
注册: 2011年2月
年内主力装备
NIKON D7100
NIKON D500
OM-1
NIKON D4
wayyt 发表于 2015-2-11 10:45
请问专家,对于当前的主流CPU来说,双路和双核在应用上和性能上有什么区别吗?


双路CPU和一U双核是两回事

双核K8 amd 5000+ CPU AM2 940针 ¥28.00
..
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 7.241
主题: 140
帖子: 4347
注册: 2012年6月
双路有独自的总线…和双核心单总线是两回事
本帖由 SM705 客户端发布
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
回复主题: 双路和双核的区别?
功能受限
游客无回复权限,请登录后再试