从功耗说开去:至强与至强融核的分工
DOIT原创 崔昊 发表于:12年11月27日 19:00 [原创] DOIT.com.cn
从功耗说开去:至强与至强融核的分工
除了性能提升,我们还要看一下功耗的问题。正如前文所说,没有性能/功耗比的提升,没有每瓦性能的提高,即便是性能再高也是无以为继的系统,我们不可能毫无止境的堆叠处理器,更不能毫无功耗峰值的建设高性能计算系统(个人计算机、工作站也是一样)。
在处理并行计算任务时,5110P的能效比大约为4.49GFlops/Watts,两款特殊版本至强融核的数值大约为3.577 GFlops/Watts,这个数字是当年的Clovertown 0.35 GFlops/Watts(约)的12倍和10倍。
以过去两代比较主流的至强处理器至强E5-2690和至强5680来看,至强融核的性能功耗比也有所上升。虽然无法准确的得到这两款处理器与至强融核运行同样并行程序时的结果,但是以处理器算术运算测试与该处理器的TDP数值相比,还是能够得到一定的结果。
在运行相同的SiSoftware Sandra Pro Business 2012处理器算术运算测试(Processor Arithmetic Benchmark)时,两者分别能够获得320.9和207GFlops的性能数值(Whetstone iSSE3,浮点运算),而两款处理器的TDP数值分别为135W和130W,也就是说能效比大约为2.377 GFlops/Watts和1.592GFlops/Watts。
当然,我们暂时还无法获得在同样的并行程序下,至强处理器与至强融核的能效比的差距,但是很明显的一个问题是:我们不可能要求所有的应用都是并行的,固然至强处理器有可以在并行模型下获得更快的性能,极大的缩短与至强融核的性能差距,但是至强处理器毕竟还要去处理很多复杂的工作任务。
这也就意味着,在目前更多混合工作负载的环境的前提下,高度并行任务自然交予至强融核会有很出色的成绩,但是给至强处理器也会有不错的表现;普通并行的程序交给至强处理器就可以满足性能的需要和并行处理性能的提升;在混合了并行和串行的环境中,协同使用至强融核与至强处理器,分别分配并行和串行的任务,自然是更好的一种结果。
在更进一步来谈至强处理器和至强融核的工作分配之前,我们要再谈谈上面的性能比较话题。话说回到上面的SAXPY,这是一个在 Basic Linear Algebra Subprograms(BLAS)数据包中的函数,并且是一个并行向量处理机(vector processor)中常用的计算操作指令。SAXPY是纯量乘法和矢量加法的组合,但是需要注意的是,其中的纯量和矢量、是单精度的,而并非是双精度的,双精度的是DAXPY和ZAXPY两个计算模型。
在上面的结果中我们看到,单精度并行计算中,至强融核比至强处理器高出2.3倍,而我们还没有相关的数据测试双精度并行计算的性能差距,但是从常理来判断,在双精度上至强融核的性能优势应该会更加明显,而双精度浮点高并行度计算,也是当今高性能计算混合架构的计算负载主流——在更为常见双精度浮点的高并行度计算中,至强融核显然有更明显的优势。
至强与至强融核的分工非常明确,使用模式也很明确
最终,大致就是以下四种情况:
1、 如果任务都是串行的,也没有并行化的计划甚至是可能,那么至强处理器仍然是最好的选择,至强融核的性能表现会非常低。
2、 高度并行计算(Highly Parallel Computing),对于高度并行的任务来说,至强融核大约比至强处理器有2倍以上的优势,自然适合采用至强融核。
3、 一般性并行计算(General Parallel Computing,或称通用并行计算),至强融核每瓦性能并不突出,至强E5处理器也可以应付得来,将代码并行化后,至强也能够获得极高的提升,同时还可以处理器串行负载。
4、 高度并行但存在串行的混合工作负载,由至强处理器负责串行和优先级不高的并行部分;优先级且高度并行的部分,交由至强融核来处理器,或者所有并行部分都由至强融核处理器,形成存在面向高度并行的混合负载的混合计算架构。
至强和至强融合能够为串行、通用并行和高度并行的多种工作负载提供强大的支撑
随着并行编程的普及,以及越来越多的HPC程序进行并行化处理器,第二种和第四种情况会越来越多的出现。Joe也在德州高级计算中心的参观活动中表示,英特尔认为至强处理器更适合一般性并行计算,却也能应付一定的高度并行计算,但至强融核只是适合于高度并行计算,主要面向“动态的数据流、复杂模型的并行处理”,而对一般并行计算(通用并行计算)并不适合。