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

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

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

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

 

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

 

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

 

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

 

当年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能发挥作用吗?

 

上面引用这份较早的资料,今天还是同样的道理。处于活动的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频率的差异

 

引用自《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处理器加速技术:原理上并不复杂

 

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

 

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

 

上图介绍了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

 


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

 

最后再推荐给大家一篇我写的《 无奖竞猜:影响服务器性能的内存配置
目录
相关文章
|
1月前
|
Java 关系型数据库 API
探索后端技术:构建高效、可靠的服务器端应用
在当今数字化时代,后端技术是任何成功应用程序的基石。它涉及服务器、数据库和应用程序之间的交互,处理数据存储、业务逻辑和系统性能等关键任务。本文将深入探讨后端开发的核心概念、常见技术栈及其实际应用,帮助读者更好地理解和掌握构建高效、可靠后端系统的技巧与策略。
|
29天前
|
监控 中间件 Java
后端技术:构建高效、稳定的服务器端应用
【10月更文挑战第5天】后端技术:构建高效、稳定的服务器端应用
69 0
|
17天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
42 2
|
1月前
|
监控 关系型数据库 Serverless
探索后端技术:构建高效、可靠的服务器端应用
本文将深入探讨后端开发的核心概念和关键技术,从服务器架构到数据库管理,再到安全防护,为读者提供全面的后端技术指南。无论是初学者还是经验丰富的开发者,都能从中汲取灵感,提升自己的技术水平。
|
13天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
14天前
|
存储 缓存 前端开发
如何优化 SSR 应用以减少服务器压力?
如何优化 SSR 应用以减少服务器压力?
|
22天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
1月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
42 3
|
17天前
|
机器学习/深度学习 人工智能 边缘计算
高算力服务器的应用场景
【10月更文挑战第18天】高算力服务器作为现代信息社会不可或缺的计算资源,正广泛应用于各行各业。从人工智能到科学研究,从智能交通到数字孪生,它为复杂的计算任务提供了不可替代的支持。
24 0
|
28天前
|
监控 Java 关系型数据库
构建高效可靠的服务器端应用
【10月更文挑战第6天】构建高效可靠的服务器端应用

热门文章

最新文章