英特尔® 至强融核™处理器 Xeon Phi 7210 详细评测
一、至强融核™介绍
Xeon Phi 至强融核,x200产品家族,架构代号Knights Landing,前排高能提醒:与第一代Knights Corner只能作为协处理器插在PCI-E插槽上不同,第二代的Xeon Phi可以作为完全独立的CPU,即与普通的Xeon处理器无异,可以直接兼容x86程序代码。因此,这一代的Xeon Phi就能安装在CPU插槽中,直接运行操作系统了。
Xeon Phi第二代编号变成了72xx,Knights Landing的核心架构从之前的P45C(一代奔腾用的架构)升级到了Silvermont架构(Atom的Bay Trial上用的就是这个架构),制造工艺终于升级到14nm,并拥有比普通内存宽带快5倍的16GB eDRAM缓存,同时支持DDR4内存,还加入了独家Omni-Path高速互联技术。开启超线程技术,最高72核心288线程。引入AVX512指令集,浮点运算能力爆炸,单芯片的双精度运算性能高达3T FLOPS。
功耗从215W到260W不等,需要注意的是,后缀带F的版本,即加入了Omni Scale fabric技术的版本,功耗比不加的要高15W。
具体规格型号及价格参加下表:
与一代做对比:
总之,Xeon Phi 72xx现可做完全独立的CPU运行,亦可插在PCIE上做协处理器,同时在AVX512指令集的加持下,双精度浮点性能爆炸式增长,在功耗降低的情况下,浮点性能翻了接近两倍,超过了3T FLOPS。一方面兼顾的了通用计算完美兼容现行x86程序,另一方面在浮点计算性能上取得了长足进步,堪比显卡的性能着实令人震惊。可以说用在高性能计算领域是相当的暴力了,上可并行浮点加速暴打显卡,下可串行逻辑分支跳转一芯二用。
二、Xeon Phi 7210
64核256线程,32MB L2二级缓存,16GB片上高速eDRAM缓存,基本频率1.3Ghz,睿频1.5Ghz,支持AVX512指令集,14nm制程工艺,最大功耗TDP215W。
以下信息摘自Intel官网 ARK
基本要素
- 产品集英特尔® 至强融核™ x200 产品家族
- 代号先前产品为 Knights Landing
- 垂直市场Server
- 处理器编号7210
- 状态Launched
- 发行日期Q2’16
- 光刻14 nm
- 建议的客户价格$1881.00
内存规格
- 最大内存大小(取决于内存类型)384 GB
- 内存类型DDR4-2133
- 最大内存通道数6
- 最大内存带宽102 GB/s
- ECC 内存支持 ‡是
扩展选项
- PCI Express 修订版3.0
- PCI Express 配置 ‡x16 port (Port and 3) may negotiate down to x8, x4, x2, or x1. x4 port (Port1) may negotiate down to x2, or x1
- PCI Express 通道数的最大值36
封装规格
- 支持的插槽SVLCLGA3647
- 低卤素选项可用参见 MDDS
先进技术
- 英特尔® 睿频加速技术 ‡2.0
- 英特尔® 虚拟化技术 ‡否
- 英特尔® 定向 I/O 虚拟化技术 ‡否
- 有扩展页表 (EPT) 的英特尔® VT-x ‡否
- 英特尔® 64 ‡是
- 指令集64-bit
- 指令集扩展Intel® AVX-512
- 空闲状态是
- 温度监视技术是
三、前人评测
不知道是不是没有支持avx512指令集的缘故,毕竟如果没有avx512来跑并行计算,Silvermont架构的cpu核心做通用计算是完全打不过Haswell架构的。
四、整体系统性能测试——UnixBench
1、该项评测简述
因为考虑到Xeon Phi 7210是作为独立CPU来运行整个系统的,它需要运行其他通用代码,不可能完全只进行浮点运算,所以这里使用UnixBench 5.1.3来测试整套软件硬件系统(包括磁盘内存)的性能。如此一来,本部分测试结果不完全受CPU影响,更要考虑到磁盘读写,内存访问,操作系统进程控制等。
特别说明,因为宿主机使用的是普通HDD机械硬盘,读写速度极慢并且不稳定,在几十MB/s波动(参见下图)
因此文件复制部分的得分必然非常低,所以最终分数可能远低于使用SSD的服务器。具体性能分析还是请看子项分数。
测试过程中,由于并发执行256个进程,导致测试Shell Scripts项时出现了进程过多无法创建新进程报错,简直暴力。之后使用ulimit -u 32100命令设置最大进程数量为31200个才能勉强继续完成测试。
2、UnixBench说明
UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能。Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。
使用最新版本UnixBench5.1.3,包含system和graphic测试,因为我们关注的7210这颗CPU,故不测试显卡部分。
具体测试步骤如下:
1、下载源代码包
2、使用 make 现场编译可执行文件(编译器为gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-11) )
3、运行命令
./Run -c 256
因为该CPU有256个线程,所以同时运行256个副本(-c参数指定并行数量),以达到完全满载的效果。
具体测试的项目如下:
Dhrystone 2 using register variables
此项用于测试 string handling,因为没有浮点操作,所以深受软件和硬件设计(hardware and software design)、编译和链接(compiler and linker options)、代码优化(code optimazaton)、对内存的cache(cache memory)、等待状态(wait states)、整数数据类型(integer data types)的影响。Double-Precision Whetstone
这一项测试浮点数操作的速度和效率。这一测试包括几个模块,每个模块都包括一组用于科学计算的操作。覆盖面很广的一系列 c 函数:sin,cos,sqrt,exp,log 被用于整数和浮点数的数学运算、数组访问、条件分支(conditional branch)和程序调用。此测试同时测试了整数和浮点数算术运算。Execl Throughput
此测试考察每秒钟可以执行的 execl 系统调用的次数。 execl 系统调用是 exec 函数族的一员。它和其他一些与之相似的命令一样是 execve() 函数的前端。File copy
测试从一个文件向另外一个文件传输数据的速率。每次测试使用不同大小的缓冲区。这一针对文件 read、write、copy 操作的测试统计规定时间(默认是 10s)内的文件 read、write、copy 操作次数。Pipe Throughput
管道(pipe)是进程间交流的最简单方式,这里的 Pipe throughtput 指的是一秒钟内一个进程可以向一个管道写 512 字节数据然后再读回的次数。需要注意的是,pipe throughtput 在实际编程中没有对应的真实存在。Pipe-based Context Switching
这个测试两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数。这一点很向现实编程中的一些应用,这个测试程序首先创建一个子进程,再和这个子进程进行双向的管道传输。Process Creation
测试每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)。process creation 的关注点是新进程进程控制块(process control block)的创建和内存分配,即一针见血地关注内存带宽。一般说来,这个测试被用于对操作系统进程创建这一系统调用的不同实现的比较。System Call Overhead
测试进入和离开操作系统内核的代价,即一次系统调用的代价。它利用一个反复地调用 getpid 函数的小程序达到此目的。Shell Scripts
测试一秒钟内一个进程可以并发地开始一个 shell 脚本的 n 个拷贝的次数,n 一般取值 1,2,4,8。(我在测试时取 1, 8)。这个脚本对一个数据文件进行一系列的变形操作(transformation)。
3、测试结果分析
严格按照上一部分的步骤执行,得到结果如下:
Xeon Phi 7210进行UnixBench测试,并发256线程,最终得分为4690.3
简要分析:
1、Execl Throughput,Process Creation,Shell Scripts 存在严重性能瓶颈
说明线程数量过多时,操作系统创建进程,切换进程等系统调用的开销过大,再加上孱弱的单核性能,导致分数明显偏低。这里一方面说明单核性能不好,一方面说明进程数量过多时(在执行Scripts时高达几万个进程)系统开销过于巨大,性能损耗严重。
2、File copy 子项分数极低
说明HDD机械硬盘对系统读写性能实在是拖累。特别说明:该项分数与CPU性能关系不大,故而不是7210的问题,换做SSD分数应该能大增。
3、Dhrystone 2 using register variables,Double-Precision Whetstone 性能非常好
说明靠大量核心(64和256线程)堆核提升计算性能是有明显效果的。
4、Pipe-based Context Switching 表现极佳
一来是核心数量多,可以同时运行很多进程,进程通信总量线性增加,二来说明片上eDRAM缓存速度还是非常暴力的,5倍于内存的速度对于访存效率来说是巨大的提升。
完整测试详细如下:
[UnixBench]$ ./Run -c 256
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com——————————————————————————
Use directories for:
* File I/O tests (named fs***) = /home/u1395/byte-unixbench-master/UnixBen ch/tmp
* Results = /home/u1395/byte-unixbench-master/UnixBen ch/results
——————————————————————————256 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
256 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
256 x Execl Throughput 1 2 3
256 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
256 x File Copy 256 bufsize 500 maxblocks 1 2 3
256 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
256 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
256 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
256 x Process Creation 1 2 3
256 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
256 x Shell Scripts (1 concurrent) 1 2 3
256 x Shell Scripts (8 concurrent) 1 2 3
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)System: knl03: GNU/Linux
OS: GNU/Linux — 3.10.0-514.el7.x86_64 — #1 SMP Tue Nov 22 16:42:41 UTC 2016
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″)
CPU 0: Intel(R) Xeon Phi(TM) CPU 7210 @ 1.30GHz (2594.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
省略 254 个cpu……..
CPU 255: Intel(R) Xeon Phi(TM) CPU 7210 @ 1.30GHz (2594.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
06:06:32 up 7 days, 9:43, 11 users, load average: 8.94, 143.44, 183.46; run level 2018-01-20————————————————————————
Benchmark Run: 日 1月 28 2018 06:06:32 – 06:56:52
256 CPUs in system; running 256 parallel copies of testsDhrystone 2 using register variables 592355574.6 lps (10.0 s, 7 samples)
Double-Precision Whetstone 154560.3 MWIPS (10.0 s, 7 samples)
Execl Throughput 16744.0 lps (29.5 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 435971.2 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 113883.3 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1372804.6 KBps (30.0 s, 2 samples)
Pipe Throughput 28969369.1 lps (10.0 s, 7 samples)
Pipe-based Context Switching 4993643.6 lps (10.0 s, 7 samples)
Process Creation 14152.9 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 31523.3 lpm (60.2 s, 2 samples)
Shell Scripts (8 concurrent) 3410.2 lpm (61.0 s, 2 samples)
System Call Overhead 1237084.1 lps (10.1 s, 7 samples)System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 592355574.6 50758.8
Double-Precision Whetstone 55.0 154560.3 28101.9
Execl Throughput 43.0 16744.0 3893.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 435971.2 1100.9
File Copy 256 bufsize 500 maxblocks 1655.0 113883.3 688.1
File Copy 4096 bufsize 8000 maxblocks 5800.0 1372804.6 2366.9
Pipe Throughput 12440.0 28969369.1 23287.3
Pipe-based Context Switching 4000.0 4993643.6 12484.1
Process Creation 126.0 14152.9 1123.2
Shell Scripts (1 concurrent) 42.4 31523.3 7434.7
Shell Scripts (8 concurrent) 6.0 3410.2 5683.7
System Call Overhead 15000.0 1237084.1 824.7
========
System Benchmarks Index Score 4690.3
4、对比Xeon E5-2676v3的虚拟主机
该虚拟主机的cpu是Haswell-E架构,12核24线程性能强劲,是目前主流云服务商大量采用的CPU。宿主机使用普通sata接口的SSD,虚拟主机共分配16个虚拟CPU核心,共计16GB的DDR4-2400内存,操作系统为CentOS 7.3,模拟一般云计算中服务器的配置,很具有参考价值。虚拟化软件是VMWare 12,最多支持16个CPU核心,所以虚拟机CPU核数是16而非全部逻辑核心数24。因此虚拟机的CPU核心利用的最好情况是12个物理核心+4个超线程核心(不排除主机系统调度导致没有完全使用12个物理核心的情况)。
因此,本次测试并不能真实反映e5-2676v3的性能,仅仅是上述配置的虚拟机的性能,特此说明。
最后测试得分 7024.1 ,远高于对Xeon Phi 7210所在主机测试的4690分。
特别注意,此分数不能代表CPU性能高低,而是整个系统,包括内存访问,磁盘读写操作,进程创建,进程通讯,系统调用的整体评分。只能说明,虚拟主机的总体系统性能高于7210所在主机的总体系统性能。具体还需要根据子项分数来分析。
从子项来看,虚拟主机测试结果就是文件复制分数很高,进程创建,脚本执行,系统调用也明显高于7210上跑的测试。其原因在上一部分也说了:一是SSD读写性能暴打HDD;二是进程数量过多时系统调用,进程切换的开销过大,对于单核性能不足的7210来说差距更是明显,故而远不如虚拟主机。
总得来说,一个是64核256线程的单核弱核心暴多,一个是16虚拟核心的Haswell强劲单核性能,对比与后者是现在云服务器主流CPU,可见暴力堆核的Xeon Phi在多核总体应用性能上并不输于服务器Xeon处理器(换做SSD分数可以提高很多)。只是单核确实孱弱,对于那些需要强大串行处理速度的应用就显得力不从心,但对于能高度并行的应用(尤其是分布式计算)来说靠着众多的核心,完全能够替代普通Xeon满足用户需求。
Xeon Phi 7210真可谓高性能计算和云服务两不误。
下面附上虚拟主机测试详情:
[root@localhost UnixBench]# ./Run
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)System: localhost.localdomain: GNU/Linux
OS: GNU/Linux — 3.10.0-514.10.2.el7.x86_64 — #1 SMP Fri Mar 3 00:04:05 UTC 2017
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″)
CPU 0: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz (4800.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
省略14个cpu…….
CPU 15: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz (4800.0 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
10:31:25 up 4 min, 2 users, load average: 0.07, 0.11, 0.05; runlevel 2018-0 1-27————————————————————————
Benchmark Run: Sat Jan 27 2018 10:31:25 – 10:59:30
16 CPUs in system; running 1 parallel copy of testsSystem Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 32181906.7 2757.7
Double-Precision Whetstone 55.0 4032.3 733.2
Execl Throughput 43.0 1892.9 440.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 947440.6 2392.5
File Copy 256 bufsize 500 maxblocks 1655.0 265298.2 1603.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 2640908.3 4553.3
Pipe Throughput 12440.0 1455410.5 1169.9
Pipe-based Context Switching 4000.0 12235.2 30.6
Process Creation 126.0 4678.7 371.3
Shell Scripts (1 concurrent) 42.4 5333.6 1257.9
Shell Scripts (8 concurrent) 6.0 2712.2 4520.4
System Call Overhead 15000.0 2495161.6 1663.4
========
System Benchmarks Index Score 1057.4————————————————————————
Benchmark Run: Sat Jan 27 2018 10:59:30 – 11:27:41
16 CPUs in system; running 16 parallel copies of testsSystem Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 350700110.5 30051.4
Double-Precision Whetstone 55.0 57437.1 10443.1
Execl Throughput 43.0 29407.2 6838.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 1055329.8 2665.0
File Copy 256 bufsize 500 maxblocks 1655.0 296921.9 1794.1
File Copy 4096 bufsize 8000 maxblocks 5800.0 2422820.1 4177.3
Pipe Throughput 12440.0 15756849.0 12666.3
Pipe-based Context Switching 4000.0 2814679.6 7036.7
Process Creation 126.0 69307.2 5500.6
Shell Scripts (1 concurrent) 42.4 55910.9 13186.5
Shell Scripts (8 concurrent) 6.0 7468.3 12447.2
System Call Overhead 15000.0 6272984.3 4182.0
========
System Benchmarks Index Score 7024.1
五、浮点性能测试——Linpack
1、该项测试简述
既然是用于高性能计算,怎么可能少得了Linpack。
未完待续。。。
六、内存性能测试——Stream benchmark
1、该项测试简述
Xeon Phi 7210的芯片上集成了16GB eDRAM高速缓存,因此单独测试一遍访存性能显得尤为重要,一是测试当内存占用量较少时,几乎只使用片上高速缓存时的性能,二是测试传统DDR内存访问性能,主要是其支持的6通道DDR4内存性能。
未完待续。。。
七、CPU性能测试——SPEC
1、该项测试简述
最后回归主题,只针对CPU来一次测试,从而更好的反应Xeon Phi 7610这颗CPU的水平。
未完待续。。。
0 条评论