开发者社区> 唐僧_1> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

低延时应用 & 服务器TurboBoost不可得兼?

简介: 比如金融行业需要稳定低延时的高频交易应用,就不希望CPU频率跳来跳去。那么能否让TurboBoost变得更加可控?
+关注继续查看

RSA整机架服务器DSS 9000现身数博会

数据中心选址贵阳理由:天、地、电

 

因为前几年听书《明朝的那些事》,我曾慕名去了两个地方,一个是杭州于谦故居,另一个就是贵阳的阳明祠。对于看书不多的我来说,从那时起有些崇拜王守仁和他那“知行合一”的哲学理论。

 

其实技术上有些思路,也是与哲学相通的。

 

TurboBoost初期的3ds Max渲染测试说起

 

0?wx_fmt=jpeg

当年3ds Max的渲染测试截图不好找了,我就拿一张SolidWorks最终渲染的屏幕照片做为替代,正好前一段测试了Dell Precision T5810T3420工作站。手机拍的质量不好大家见谅:

 

记得Intel10来年前的Xeon 5500系列时期引入TurboBoost睿频技术,这一动作当时似乎没有将内存控制器、以及后来的PCIe控制器整合进CPU那么受人关注。本质上说是CPU技术发展遇到频率功耗墙——然后开始推多核——部分软件的并发线程上不去导致有的核心空闲。此时CPU功耗距离TDP(热设计功耗)尚有余量,不如索性自动“超频”来提高性能

 

谈到图形工作站上的CPU渲染(或者说最终生成),无论3ds Max还是SolidWorks等都会充分把CPU的线程用满。比如我在上图中圈出的16个“小窗”,实际上是一颗48线程的Intel Xeon E5-1620 v4 CPU,拍照时正好处于前8个小窗渲完,另外新开8个小窗的切换时刻。这里TurboBoost能发挥作用吗?

 

0?wx_fmt=jpeg

上面引用这份较早的资料,今天还是同样的道理。处于活动的CPU核心越少,TurboBoost可超频的幅度就越大,这一点我想许多做技术的朋友都清楚。而当所有核心被程序占满时,Intel部分CPU还支持小幅的TurboBoost,据说判断标准是此时TDP是否超标

 

具体到实际产品上,当年我测过一款Xeon W5580的工作站,3ds Max渲染时监控CPU主频,印象中就是以1秒间隔很规律的在3.20GHz3.33GHz之间切换。这样当然也比频率一直固定在3.20GHz原始频率上效率要高一点,但不是所有应用都适合这么干。前两天还与做数据库的朋友聊过这个,比如金融行业需要稳定低延时的高频交易应用,就不希望CPU频率跳来跳去

 

这时大家可能会想起服务器/工作站BIOS里有个限制CPU核心数的选项,对于某些要求单核心性能的应用,修改这个应该可以把TurboBoost幅度保持在高水平。另外,理论上每颗CPUTurboBoost和节电状态可以根据负载不同来单独控制,那么可以给一台服务器上多个CPU限制不同的核心数吗?

 

例如以前有的4CPU TurboBoost的描述是3/2/2/1,也就是从单核到4核能够超频的幅度(100133MHz的倍数)。那么如果我们预设目标是双核的频率+200MHzTurboBoost能否设一个上限选项?以确保在只有一个Core活动时频率也不会往上跳。

 

写到这里,我还想起之前在撰写《一项Xeon E5-2600 v4测试数据的背后》时看过的一份资料。

 

AVXnon-AVX Turbo频率的差异

 

0?wx_fmt=jpeg

引用自《Performance and Energy Efficiency of Dell PowerEdge Servers withE5-2600 v4

 

上图的字有点小,点击放大后可以看清。从这里我了解到之前没太注意的一点,目前流行的Xeon E5 v4Intel CPU执行AVX指令时频率会有所降低,估计也是功耗方面考虑吧。这个频率也分为至少3种——TDP基础频率、最大Turbo频率、全部核心最大Turbo频率——在AVXnon-AVX状态下都可能会有不同。

 

这里有个问题,双路或者四路服务器,当部分CPU上有AVX指令运行是否会影响到余下CPU的频率?当时我并没有想到这一点,而最近才了解到这些早已有人考虑过。

 

DPAT处理器加速技术:原理上并不复杂

 

0?wx_fmt=jpeg

上图来自我在网上搜到的一个文档,Dell亚太区服务器产品经理吴鹏程曾经分享的资料《戴尔13G服务器性能提升与最佳实践》,里面提到了Dell Processor AccelerationTechnologyDPAT2.0技术。

 

这里给出的图示应该不难理解,我这人写技术喜欢捞干货。正如前面所讲的,如果所有CPU核心都开着,你不能保证在几个线程工作的情况下不会有其它程序偶尔把别的空闲核心也用起来(即使做了绑核),这时TurboBoost频率就会受到影响。

 

0?wx_fmt=jpeg

上图介绍了DPAT技术实现的几种场景

 

DPAT1.0:我理解就是在全部核心工作时稳定TurboBoost的水平;

DPATPro场景1:所有CPU运行Non-AVX代码,只限制CPU1的核心数到4 Core3.3G TurboCPU 2跑在18 Core最大Turbo频率2.8G

DPATPro场景2:跑满全部核心,但只有一个CPU运行AVX代码,此时2CPU频率相差200MHz

DPATPro场景3:与场景1的区别在于,全部CPU或者只有CPU2运行AVX代码,此时CPU2的最大Turbo频率降为2.6G

 

据了解DPAT是个免费的技术,只需要在做服务器配置时选择一个License即可支持。使用中有多种途径可以打开,最简单的一个方法是在BIOS中可以看到Number of Cores for Processor 1这样针对每颗CPU的核心数的限制,还有Processor 1 Controlled Turbo可以独立调整每颗CPU TurboBoost频率上限的选项。

 

同时应确保System Profile设置为Performance mode,或者Custom mode选项并将CPU Power Management设为Maximum Performance mode并打开Turbo Boost mode

 

0?wx_fmt=jpeg

上面是DPAT针对的主要目标应用场景。如果有用户想详细了解Intel CPU在使用不同核心数时设计的具体TurboBoost档位,另外还有Dell针对低延时应用环境的更多最佳实践,可以找这方面的技术顾问来咨询。

 

最后再推荐给大家一篇我写的《无奖竞猜:影响服务器性能的内存配置

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ECS服务器使用心得
对ECS服务器的初次使用
10 0
使用ECS服务器
我是一名学习计算机专业的学生,目前大三。因为平时学习的原因,需要用到云服务器来部署自己开发的项目进行测试,便在网上寻找了多家云服务器,最终找到了阿里云这个平台。在学校的介绍下,又了解到“飞天加速计划·高校学生在家实践”活动,便抱着试一试的心态领取了两周。
9 0
Ecs服务器使用心得
Ecs服务器使用心得
26 0
ecs服务器使用心得
用于搭建游戏服务器
41 0
ECS服务器使用心得
年轻人的第一台云服务器
33 0
ECS服务器使用心得
阿里云的ECS服务器非常好用,我可以用它进行很多实验,对于我们学生来讲,是一次非常棒的体验。
46 0
服务器
服务器的使用
55 0
ECS服务器使用
【阿里云高校计划】云上学习实践
264 0
ECS服务器使用心得
就读于北方民族大学的大学生,分享自己ECS的体验
119 0
+关注
唐僧_1
企业存储、服务器、工作站等领域技术分享,交流 | @唐僧_huangliang(微博)
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载