中文 英语

如何提高数据中心的能源和电源效率

优化服务器芯片和软件的能源和电源效率是一项多方面的挑战,涉及许多活动部件。

受欢迎程度

数据中心的能源成本随着产生的数据量的爆炸式增长而飙升,而日益密集的处理元素(产生更多的热量)和不平衡的服务器利用率(需要更多的机器供电和冷却)之间的不平衡使情况变得更糟。

挑战在于在不牺牲性能的情况下最大化利用率,过去主要是通过增加容量来实现的。但据估计,美国数据中心消耗了3%的能源生产,其中近30%的能源由于利用率低而浪费,即使是最高效的数据中心也在寻找可以减少利润的地方。因此,随着世界对数据需求的不断增长,以及越来越多的数据中心建立在边缘和云上,人们需要同时努力通过更好的监控和控制以及更高效的架构来超越以前可接受的数字。

其中很大一部分责任落在半导体生态系统的肩上,半导体生态系统在提高能源和电力效率方面发挥着越来越重要的作用。

图1:数据中心的能源被浪费的地方。来源:节奏

“大多数人不会想到冷却,”阿里夫·汗(Arif Khan)说,他是at公司PCIe、CXL和Interface IP的产品营销组总监节奏.“他们只是认为数据中心在那里运行。对于一般人来说,它是云中的一些无定形的东西。他们说,‘嘿,Siri’,但没有人想到在边缘或云上发生了什么,所有的处理都发生在那里。这就像快时尚。我们习惯了进行大量的冗余查询,但每件事都要消耗能量。”

许多不同的方法正在出现,以提高能源效率。例如,谷歌自2014年以来一直在使用机器学习来优化其数据中心的冷却,以最大限度地提高电力使用效率(PUE)。该公司还使用智能温度、照明和冷却控制来进一步减少其数据中心的能源消耗。谷歌报告称,这些努力已经取得了可喜的成果,平均而言,谷歌数据中心的能源效率是典型企业数据中心的两倍。谷歌表示,与六年前相比,它现在以同样的电能提供了大约七倍的计算能力。

“他们一直在吃自己的狗粮,”可汗观察到。“他们用机器学习来解决这个问题,因为如果以正式的方式解决,它就会成为一个棘手的问题。他们能做些什么来改善这方面吗?他们如何消耗更少的电力,让这个更环保?谷歌的神经网络中包含19个因素,他们试图为此优化参数。如果你试图为此建立一个正式的模型,那将是疯狂的。很难说这个算法会做什么,也很难精确地管理这些机器学习模型的结果。但如果它能给你一个更好的结果,那么我们就可以学会与AI/ML模型共存。”

这只是众多与能源相关的改进之一。“一方面,需要越来越多的特定应用处理器,”英特尔高效电子部门主管安迪•海尼格(Andy Heinig)表示夫琅和费IIS自适应系统工程部.“有两种方法来实现它们。对于更大的容量,可以设计和制造特定的soc。另一方面,对于较小的体积,晶片方法是获得这种系统的好方法。在这种情况下,不同的预先设计和制造的组件可以组合成一个新的系统,只有一小部分-新的加速器-必须从头开始开发。采用这种方法,无需设计和制造一个完整的SoC,从而减少了设计工作量。另一方面,内存接口应该优化,因为目前大量的能量浪费在SoC内存接口上。在研究方面,不同的新封装概念可用于更好地实现芯片存储器接口。”

从半导体的角度来看,重点在于从每一个可能的地方尽可能多地挤压,即使只有3%,”Khan说。“这在各个方面都是一个挑战。设计团队想要从他们的设计中提取出最后的微瓦数。PPA被压缩为有功功率和备用功率。你为什么把它放在待机状态?你为什么不把电源关掉呢?这些都是在所有不同的电力模式下必须做出的权衡。”

Cadence PCIe和CXL IP产品营销总监Tony Chen表示,越来越多的用户正在关注待机电源状态和深度睡眠电源状态,这与10年前不同。“现在,我们的每一次对话,至少是与高性能计算领域和数据中心领域的客户的对话,都在问他们多快能进入待机状态并从待机状态恢复过来。当某些东西闲置时,他们希望立即进入待机状态。但当工作流程出现时,他们想要快速恢复,因为他们仍然必须控制响应时间。”

与手机类似,能源消耗也越来越重要。汗说:“如果要花很长时间才能醒来,那么我们就会厌倦手机。”“你想要节省电池,但你也想要从黑屏快速响应到恢复活动状态。在睡眠状态和恢复时间之间有一个权衡。如果必须恢复,则意味着所有数据必须保留在某个地方。它可以进入一些遥远的备份内存,然后回到靠近CPU的地方,在那里它可以真正照亮屏幕。如果你必须把它放在某个地方,你就不能真的把它关掉。它必须在某个地方处于某种保留状态,这再次消耗了你的电池。电脑工作量也是如此。”

这有助于解释为什么要推动开发新的计算机架构。“这些使用持久内存的大型数据库就是因为这个原因。数据库工作负载被转移到持久内存,这样电源就可以关闭。他们可以将工作集保存在持久内存中,他们可以轻松地切换上下文,等等。”

结果之一是x86架构的压力越来越大,Arm架构被更广泛地采用。“x86一直都更强大,但也更耗电,”微软产品营销总监马克·斯温宁(Marc Swinnen)说有限元分析软件.Arm的功耗较低,但性能不如x86。但是Arm的表现一直在上升,现在他们在边界处战斗。如今,对能源的担忧已经使竞争环境向有利于他们的方向倾斜,Arm的部署已经出现在数据中心领域,例如,包括AWS的Graviton,以及富士通基于Arm的超级计算机Fugaku。Arm充分发挥了自己的优势之一,即能源效率。”

但是更多的计算元素和更细粒度的计算架构也增加了设计的复杂性,同时也增加了开发新服务器芯片所需的工作量。

“这不仅仅是多重物理,”Ansys主管里奇•戈德曼(Rich Goldman)表示。“这是多物理场相互作用。你需要在运行模拟时同时考虑所有这些不同的物理现象。”

通过特定的模型,可以对芯片的功率输出进行建模。“但这取决于温度,而温度又取决于功率输出,所以这有点像鸡生蛋还是蛋生鸡的问题,”Swinnen说。“如果你想在电路板和系统中模拟这种情况,就必须有一个芯片模型,在这种温度下,具有这种功率,以及所有其他组件自己辐射热量。CFD风扇冷却它,模拟整个过程,然后达到一个稳定的收敛点芯片就在那个点的功率输出的工作点。同样,所有这些都必须一起模拟。这并不是说芯片的功率输出与温度无关,这有点奇怪。这是大多数人看待它的一种倒退方式。温度取决于芯片的功率输出,但反过来也是如此。”

在数据中心中,计算流体力学在模拟空气运动方面肯定有一定的作用,高盛说。“这真的很关键。如果我们能在建立数据中心之前模拟这种情况,并建立一个空气流动的最佳数据中心,这将对冷却这些东西有很大帮助。”

这使得提高利用率成为可能,而且在经济上是可行的。Cadence的Khan表示:“在过去,传统的CPU只能一次完成一项工作。“那些日子已经过去10年或15年了。有多线程编程,但仍然有一个专用的任务,一台机器的专用所有者。然后我们转向了允许不同程序在同一台机器上运行的管理程序。如果你看看云计算中发生了什么,例如,即使是那些在亚马逊上运行网站的公司,小企业实际上也无法获得整个服务器。你得到的是一个服务器的一小部分,一个共享服务器。你在某台机器的上下文中运行。许多不同的web服务器实际上是运行在同一台服务器上的虚拟服务器。”

他指出,允许不同的作业在同一系统上运行,这是提高利用率的一种方法。“Docker和其他这样的微服务将其提升到了一个更高的水平,在那里你可以让运行的微服务和作业更有效地在一些编排软件(如Kubernetes)之间进行通信。此外,管理程序技术也有了很大的改进,这允许您尽可能多地提取服务器上可用的CPU。所有的容量,一旦开启,就会开启。因此,您已经打开了CPU,电源已打开,计算能力可用,并且可以运行其他作业。运行额外作业的边际成本很低,因此可以在其上迁移更多进程。这才是提高利用率的关键所在。”

数据中心的能源
Qazi Ahmed,公司的首席产品经理西门子EDA他观察到,虽然大部分焦点都集中在电力上,但人们越来越关注能源和能源管理。“一段时间以来,人们一直在讨论能源问题,主要是因为总体目标是实现节能设计。生命周期的能量需求,比方说,一个服务器或者一个移动电话,必须很低。发生的事情是,人们通常倾向于关注IP级别的权力,他们可能会试图减少和优化一定比例的权力。假设他们节省了20%的动态功率。在系统层面上,这对能源效率有多大贡献?有时它可能没有多大作用。你可能会看到整体能源效率的提高甚至不到1%。”

由于能量方程是将能量转化为时间,因此需要注意的是,时间是一个重要因素,因为它反映了块的功能方式。Ahmed说:“从整体方案来看,在SoC级别上,一些区块可能没有那么高的切换活动,但它们可能会活跃相当长一段时间。”“其他区块可能会有大量的信息进入,或者可能有很高的切换活动,然后它们就会保持沉默。如果我们看一下所做的功的量,在这种情况下,可能是一个没有切换那么多,但大部分时间主导功能的块所做的功的量,实际上可能最终消耗更多的能量。这可能是优化的一个很好的开始。”

Scott Durrant, DesignWare IP解决方案营销经理Synopsys对此他同样指出,能源效率正成为人们日益关注的问题。“目前,数据中心正朝着净零碳足迹迈进。这是一个巨大的挑战,因为数据中心是当今电力的大消费者,数据中心中的每个元素都将围绕这一点发挥作用。SoC设计师正在为数据中心部署产品,尤其是服务器产品,因为在典型的超大规模数据中心,这些产品要乘以数万,即使是交换基础设施,每个机架上至少有一个交换机。交换机中有很多硅,所以网络基础设施、计算基础设施和存储基础设施都在大幅增长。在所有这些设备中,我们必须提高每个设备的能源效率。”

这只是替代架构的驱动因素之一。数据中心正在转向传统的移动设备架构,以优化功率。

达兰特说:“多年来,移动设备一直在试图最大限度地延长电池寿命,并通过最小化设备功耗来实现这一目标——能够在特定时间关闭设备的某些部分不使用。”“我们今天在数据中心看到了类似的实现,以最大限度地提高电力效率。此外,还引入了新的处理器架构,这些架构过去一直用于移动设备,比如Arm处理器现在针对的是数据中心基础设施。手臂而且RISC-V足够开放,你可以针对特定的工作负载进行优化。”

Cadence的Chen表示同意。“工程团队现在正在测量能源效率。十年前你可以用10皮焦耳/比特。今天当客户来找我们的时候,他们给了我们一个严格的要求,高速I/O应该只需要大约5皮焦耳/比特。这是他们的要求。与10年前相比,他们的收入减少了一半。我们必须在每比特的能源使用方面提高效率。”

这个问题有很多方面。Ahmed说:“不同类型的架构决策是在系统级和IC级做出的。“通常在IC级别,用户可能有一种、两种或四种不同的场景。他们可能会运行它们。这些可能来自平均功率的计算,他们会看到一个空闲功率的情况,一个峰值功率的情况。然后,他们将尝试查看,例如,在空闲电源的情况下,是否有漏电,即使没有做功。在峰值功率的意义上,这意味着最大的平均功率,我做了最多的工作,消耗了大量的电力。在这中间,当我有不同的正常的函数模式时,我可能会消耗一些能量。这是线性缩放取决于我做了多少功和消耗了多少电吗?这通常是不正确的,因为在没有做太多工作的情况下消耗了更多的能量,而这可能是由于设计中浪费的切换造成的。 To eliminate that, there are many strategies for both optimizing power for registers and for memories. There may be data that is written into a memory quite often, but it’s just a portion of the configuration. Maybe you can just write that on a flop and keep the memory only working when it’s needed — when you have large sets of data coming in. Or you might want to do fine-grain clock gating or some micro-architectural changes to reduce the number of toggles to achieve some power reduction.”

然而,这并不总是转化为系统层面的能源节约。

Ahmed说:“当你看系统级别时,你在系统级别上关注的一些块完全有可能出现在真实的用例场景中。”“假设你有一个模拟器,当某人在玩游戏时,它运行了一个非常长的手机跟踪,在这种情况下,一些块可能只在某些时间是活动的,但许多块可能在大多数时间是活动的。考虑到这类信息,您希望以一种可以优化工作负载以最大化能源效率的方式来设计电源。为了做到这一点,在硬件系统级上有一些标准技术,包括分配电压岛,这样一些不是以性能为导向的块实际上可以在更低的电压下工作,这节省了大量的电力。SoC可以划分为多个功率域,一些理想的,正在工作的块实际上可以通过功率门控来节省泄漏功率。你可以先接通记忆状态切换,可以把记忆调到浅睡状态。在硬件层面有很多方法可以解决这个问题。”

如果将能源作为主要指标,设计团队应该在SoC中设定一个能源效率目标(即10%)。“这可能发生在软件方面,也可能发生在硬件方面,”艾哈迈德说。“你需要有各种各样的工作负载,你期望设备实际运行。你越能做到这一点,你就越有可能理解硬件中的哪些块适合优化,你需要关注的地方,以及为了达到那种能源效率你需要减少多少能量。就像现在人们看电力报告一样。在不久的将来,人们将关注电力/能源报告。这将变得非常重要。”

对于电源,工程团队在设计或层次级别的总结级别上查看电源,以及漏电电源、开关电源、内部电源和总功率。能量也需要同样的东西,比如开关能量或总能量或总存储能量。能量数和幂数一样重要。

挑战在于,当只考虑一个决策时,只有在更高的级别(如SoC级别)上进行能源决策才有意义。这意味着应该同时运行50或100个工作负载,以做出更好的决策。

艾哈迈德说,除此之外,还需要进行分析。“必须捕获SoC的行为,或者在IP级别上,当做出特定的微架构选择或选择不同的算法时,能量实际上是如何变化的。当目标是能源效率时,这些是人们应该做的分析。下游工具了解能量和功率优化也很重要。目前的实现工具基本上都是为了性能而设计的,所以无论你是做综合,还是做位置和路线,性能都是主要的标准。如果想要进行能源优化设计,那么下游工具必须开始将电力或能源作为主要标准。例如,任何优化或任何选择电池的下游技术都必须从能量的角度出发,而不仅仅是性能,这取决于它是如何设置的。例如,在许多设计中,故障功率是动态功率的主要贡献者。避免故障电源的一种方法是减少切换的数量,或者重新设计一点以减少这些切换。同时,在物理层面上,应该使用高速电池来管理故障功率。 High-speed cells also can be used for power, but in this case you’d choose a high-speed cell not just because you want performance, but because you want to reduce glitch. This is one small example of how downstream tools need to get aware of energy/power optimization.”

其他应用,如人工智能训练,正在突破性能权衡和功率的界限。“我们仍处于人工智能培训运动的早期阶段,”Rambus产品管理高级总监弗兰克•费罗(Frank Ferro)表示。“模型的大小呈指数级增长,所以处理跟不上这些模型的大小,训练时间也越来越长。在这个问题上,我们还只是触及了皮毛。”

从应用层面来看,随着其中一些人工智能算法的成熟,网络将被推到边缘,从而形成训练有素的网络。“你把这个网络推向边缘,现在你开始看到人工智能推理的一点点提升,”费罗说。“当你训练好模型后,它们就会运行特定的应用程序,你现在必须处理这些模型的低功耗和低成本问题。你想在数据中心基础设施上省钱,因为成本一直是一个问题,但相对而言,你在成本上有更大的灵活性。功耗一直是一个大问题,但在网络的边缘,你必须以更低的功耗更快、更便宜地处理。

结论
在数据中心优化和实现最佳的能源和电源效率是一个多方面的挑战,有许多活动部件。新的物理冷却技术(如浸入式液体)开始更频繁地浮出水面,同时还有先进的AI/ML算法来管理数据中心。对于构建自己的数据中心(包括从芯片到服务器的所有东西)的超大规模供应商来说,可能会利用所有的能源和功率测量、分析和优化技术。反过来,这将帮助生态系统的其他部分了解需要什么来满足当前和未来的能源、电力和可持续发展目标。

相关的
相干光学能否降低数据中心的功耗?
用光学信号代替电信号的好处和坏处。
数据中心服务器架构变更
共享资源可以显著提高利用率和降低成本,但这不是一个简单的转变。
转向数据驱动的芯片架构
重新思考如何提高半导体的性能和降低功耗。
RISC-V针对数据中心
随着生态系统的成熟,开源架构在更复杂的设计中获得了一些吸引力。



留下回复


(注:此名称将公开显示)

Baidu