赞
踩
rockeric.com
在高性能运算领域优化处理器设计任重而道远
对于传统的亦或是超大规模的数据中心而言,它们的运算性能受到了极大的限制,原因在于高速运算所需的高功耗,以及服务器内部的日益增长的大量处理器,存储器,硬盘以及操作系统所带来的散热问题。
功耗问题十分的麻烦且复杂,即便如此,想在系统中降低功耗可以通过一系列有效的手段实现。然而对于7nm及其以下的工艺而言,问题就没有那么简单了。在以设计高性能芯片为目标的市场中,功耗问题如今成为这个行业的主要限制因素。这就导致了针对这一细分市场的芯片设计方式发生了重大转变,尤其是针对需要一直线上运行以及快速供电的云数据中心而言。在过去,超裕度设计结构是确保服务器正常运行的常用方法,但现在不再采用这种方法是因为它同时影响着功耗与性能。
对于大规模的数据中心而言,能源成本是相当昂贵的。大多数数据中心的预算中,能源成本都占着很大一部分比重。区域性供电能力,服务器所产生的热量,用于冷却服务器的气流或液体的温度和导向,使用云端操作时处于“开”与“关”状态的处理器数目,都会很大程度地影响到电量的使用。
“据估计,2014年美国2%的能源消耗用于为数据中心供电,”Ansys的应用主管安库尔·古普塔(Ankur Gupta)说。“并且在四年后,这个数字将会接近5%。巨大的能耗成本不禁使得这些公司思考,如此大的能源消耗的原因到底是什么。”
为了分析这一问题,如今的大数据中心通过采用仿真工具来分析服务器架构,正是因为这些设备都是需要被冷却的发热源,因此仿真分析涉及到使用何种类型的冷却方案,以及散热与冷却方式是否可以优化,以此达到降低能耗的目的。
“数据中心的机架发热问题会影响到芯片的可靠性似乎是不争的事实,”Gupta说。“为此我们深入研究芯片的半导体领域,并着眼于芯片的制造工艺,运行电压与环境温度等细节。为了更好地解决芯片的发热问题,我们需要比以前更加细致地研究温度这一因素。而我们发现,以移动设备的计算域为例,相比于温度而言,人们更加关注于在超低电压边界条件下的电压变化与运算状态变化。因为整体来说,手机温度的些许过热并不影响其正常使用。”但是对于高速运算领域而言,就比普通移动设备运算领域要有更高的要求,因为高速运算芯片的片上温度所带来的影响可比普通移动终端芯片要大的多。
“高速运算领域相的芯片温度之所以有这么大的影响,在于其功耗要比移动设备高出两个数量级,”Gupta说,“手机的功耗大概只有3到5瓦特,而高速运算机架的功耗却有300到500瓦。在器件层面,每一个finFET器件都存在自热等局部热效应。不同的片上温度给芯片所造成的影响需要引起高度关注,因为这可能会影响到关键的时钟路径,以及芯片上的多个域的工作。并且其中的一些时钟路径与存储器有关,它们在正常工作状态下的工作温度要比预设的高的多,尤其值得重视。”
Fig. 1: High-performance computing in action. Source: IBM
超裕度设计方案的没落
超裕度设计方案长期以来都是减少设计风险的有效手段,而如今这种方案却不再适用。
“当芯片设计师对于晶体管级组件的变量因素所带来的影响没有十足的把握时,他们就会添加一定的设计裕度来保证芯片正常工作,当然这是以性能,功耗等方面的牺牲为前提,”Mentor公司的工程主管Jeff Dvck说到。例如,当芯片必须在-40°C至125°C的温度范围,工作电压范围为0.48v至1.2v,并且工艺偏差值不超过4 sigma的状态下运行时,设计人员通常会模拟工艺极限(Process Corner)中的一部分情况,比方说在一两个最坏工艺条件下模拟几百个蒙特卡洛样本(偏差在2.5sigma值)以此来保证设计的安全性与稳定性。
“通常这种方法用于模拟处于不同状态下芯片的性能情况,但是由于这种模拟存在一定的不确定性,因此设计师们可能会添加一些死域(die area),增大电压值,以及降低芯片性能来弥补估计误差,这样一来就增大了设计裕度(margin)。”Dyck说,“为了解释未知的异变所带来的影响,增加5%到30%左右的设计裕度都不算罕见。”
因此,即使这类设计方法会保证芯片的稳定性,但同时也会降低芯片性能,并增加一些重要模块的功耗。
Moortec Semiconductor的首席技术官Oliver King说:“超裕度设计方案在芯片设计亟须降低功耗的今天并不再是一种有效方案,并且其成本也会随着你所得利润的增大而水涨船高。这种设计方案最大的问题在于你不知道需要多大的设计裕度才合适,对于一些优先级较高的模块而言,finFET老化模型设计多大的裕度我们很难权衡。而现在出现了一类新的方法来取代这种设计方法,即对芯片本身的实时监控技术。在工作状态下,芯片会监控自身有哪些损耗,并且做出相应的对策。”
在高速运算领域,尤其是在AI与加密货币挖矿领域,功耗管理始终是头等大事。“我们的目标是通过用最小的功耗来实现最大的产出,尤其是在加密货币挖矿这一领域,真的是拿电量砸出来的比特币。”King说,“高性能运算其实也是一样的道理,无论你是提供数据中心还是大数据运算,亦或是进行AI深度学习。比如说你现在是Alexa的终端,你需要算出所用使用者所要询问的答案,而这些高速运算都需要大量的功耗成本”目前,所有的这类高速运算芯片都归属于同一类,且这类芯片的功耗是会随着运算量增大而不断增大的,在这种前提下,如何在降低电源电压的同时并且逼近其运算极限就显得尤为重要了。高速运算芯片在逼近运算极限前总是存在一定余量的,多数情况下当然是要最大程度地接近这个极限,但也存在一些情况下,芯片会超出一点运算极限。”
无论是处理芯片内部,封装还是电路板内部的热效应,还是服务器,数据中心甚至商用电网中的热效应,功耗管理都十分重要。通常来说,高速运算从来都不是省油的灯。“高速运算的服务器可不是电池供电的,”Cadence数字与签收组产品管理总监Marc Swinnen表示,“过去人们只关心运算速度,从来不考虑用电的问题。而如今在一些高精尖领域,服务器处理器正在逐渐接近它的功耗极限,为了避免过大功耗引起的热效应导致芯片融化,一块芯片板上所能承受的芯片数目是有限的。现在无论是谁,不管喜欢与否,都要仔细考虑如何降低芯片功耗这一问题。”
对于这类高速运算系统和芯片,必须创建相当规模的电网以满足这些处理器的电力需求。“有一种传统的芯片sign-off方法可以检查电网是否真的支持配电,但这通常需要依据降低电压来实现,”Swinnen说。 “一旦设置了电压限制,那么芯片就要保证不会超出这个电压限制。现在的问题是,在运算速度在不断地增长前提下,还要保证更低的运行电压,这就意味着在设计供电电网时需要下很大地功夫。同时,随着7nm工艺阻抗的增高,使得设计这类供电网络变得更加地困难,”他补充道,“相比于单纯地关注电压降低幅度本身,我们更加关注电压降低所带来的时序上的影响。”
高级节点和静态漏电流
虽然高级节点设计仍然存在许多挑战,但是得益于finFET种的栅极结构这一最新技术的影响,与以前的二极管晶体管设计相比,它大大降低了漏电流。
“人们时常会把高性能与高功耗联系在一起,”Cadence集团Digital & Signoff产品管理总监Jerry Zhao说。“强大的性能都需要相对应的功耗才能实现,就像小型赛车那样,它们为了可以跑的更快,就会消耗更多的能源。如何克服高功耗所带来的挑战是我们作为设计工程师需要共同思考的问题。多亏了各家foundry以及在7nm与5nm工艺处于领先地位的公司,finFET技术通过降低漏电流大大削减了大功耗器件的能耗。这种先进的技术能够弥补上电子设备动态运行时追求更快速度所多浪费的功耗。就芯片设计而言,电力输送网络贯穿了整个从电池到电路板再到封装,最后到处理器设计供电的整个过程。这类电力输送网络的设计十分的复杂,因为你不仅需要使得每一个电源对应着不同核心的power domain,并且还要能够自由地开关这些power domain。”
但是,当涉及到设备扩展时,没有技术能够永远奏效。漏电流可以在16nm和14nm工艺得到有效控制,但到10nm和7nm时就没那么简单了。减少漏电流的下一代技术将会是全栅级FET,其可包括水平纳米线或纳米片。目前来说这项技术将何时投入使用尚不明确,不过较为普遍的说法是将会在5nm和3nm的工艺上看到这个技术的出现。
功耗问题是所有处理器过不去的坎
不仅仅是工艺节点上涉及到功耗问题,高速运算所使用的各种处理器类型,都将面临着功耗所带来的挑战。
Synopsys产品营销高级经理Mike Thompson表示,“目前数据中心的大多数服务器都采用英特尔x86处理器,并围绕它构建了许多专用功能。这些专用单元的独特之处在于它们针对专用的应用程序。我们曾有客户在大型阵列中使用网络处理器(一种专用的高性能主干处理器)来处理专有的并行任务。也有一些公司进行科学类型的超算,通常这类超算是不允许将任务并行化的,因此他们就追求更高的运算速度。”
“这些公司采取的办法是使用最多可包含16到32个处理器类型的阵列,这类阵列的设计取决于任务的类型,某些任务必须在某种程度上可并行化,以利用不同数量的处理器来进行对称处理。因此要设计这样类型的阵列,他们就需要更深层次的流水线以及最大性能的支持。想要获得最大化的运算性能,那就需要再找更高性能的处理器,因此他们采用的是一种与众不同的方法——寻找更深层次的流水线(pipeline)。通常来说他们想实现的目标是超标量双重化(superscalar dual),但有时也会尝试多线程的方法。如果层次结构较为冗长,多线程当然可以提供帮助,但更多时候研究的重点还是放在如何设计高性能运算芯片,也就是如何将芯片的内存尽可能地靠近处理器,并尽量减少它们必须延伸的程度。”“在这些情况下,性能是他们首先要考虑的问题,但是同样的功耗问题也是十分显著的。”Thompson说到,“功耗问题不容忽视,靠近处理器的内存越多,那么随之增加的功耗所带来的问题越值得重视。”
Swinnen同样指出这个问题。他认为高性能计算所带来功耗方面的担忧还在于,要想降低功耗,那么就必须降低运算性能,“这是我们都不希望看到的,所以怎样在保证性能的同时维持一定的功耗就值得深思熟虑了。”他说,“功耗与性能之间存在很严重的分歧。举个例子来说,有家公司设计了一款以3GHz运行的高性能芯片,但是实际做出来之后它只能以2.7Ghz运行,并且也没办法让它以更高的速度运行。原因在于IR drop,电源网络金属连线分压过多,导致所供电压减小,从而影响时钟频率减小,因此芯片无法全功率运行。而且最关键的一点是,实际上芯片已经使用了目前所已知的用于分析IR drop的sign-off方法,而且所得的分析结果都是pass状态,然而在流片之后所得的成品依然存在IR drop所带来的一系列问题。”
实际上还有许多类似的情景说明这是一个全行业都面临的严峻挑战。“为了解释这一点,”Swinnen解释道,“用于sign-off分析的工具必须能够解释电压的损失对应时钟频率会有多大的影响。这种电压的变化可能由成千上万个细小的电压所组成,而我们所用的工艺库只能对其中一到两个电压点进行表征。因此工具需要能够做到插值估计,对于1伏特的库(library),你需要在0.9以及0.8伏特下就进行表征,然后需要对0.8到1.0伏特间的电压降进行插值估计以预测时钟频率的变化。
“诸如GPU这类之前都没到达功耗壁垒的处理器,现在也给工程师团队带来了新的挑战。”Gupta表示, “人们普遍认为,对于GPU而言,工作时的标准电压约为1伏特,在7纳米仅0.8伏特,而在如今的7nm工艺的移动设备的工作电压更是低于600毫伏。但是一些GPU设计人员告诉我们,当设备的规格越来越大时,这些设备将会逐渐逼近功耗的极限,因为相比于10nm工艺而言,7nm工艺使得设备可以多容纳数十亿个晶体管。因此放到设备的整体功耗上来看,GPU设备实际上也将面临功耗所带来的严峻挑战。”“这将对GPU的设计带来非凡的影响。在移动终端领域,在固定的标准电压下工作这类供电方式逐渐在减少,因为设备的功耗需要限定一定的范围呢,而如今GPU也将面临相同的处境。如果GPU工作电压低于800毫伏,比如说600毫伏时,那么这个时候就得考虑过低的工作电压对时钟频率的影响,工艺上的偏差,以及其他移动设备领域所面临的挑战了。
“高性能处理器亦是如此,”来自Cadence的Zhao说,“任何一种高性能处理器,比如说AI芯片,以及前几年很热门的比特币采矿芯片,都在逐渐地到达功耗壁垒,因为现在对这些芯片运算速度的需求正在与日俱增,并且多数情况下,是很多块高性能芯片同时工作,这将会消耗大量的电力,同时对设备温度的监控及热效应可能会造成的影响也会徒增很多麻烦。”
总结
功耗是高级节点最为头疼的问题之一,尤其在HPC领域显得更为棘手。然而现如今还没有找到简单有效的解决方案,甚至连一点苗头都没见着。设计经理有时会说:哦,这种技术只能节省2%的功耗,而那种只能节省5%,另外那种只能节省3.5%。细数目前行业这类功耗管理技术,没有一种是可以节省到50%或60%的,实际上目前能够做到极限也就只能是节省那可怜的几个百分点。无论是芯片设计的哪个阶段,功耗问题都值得注意,并且需要在每一个环节上使用合适的低功耗技术,这样在你流片时才会得到你所需的低功耗芯片,而这些工作,需要渗透到每一个设计流程中去才行。
原文来自semiengineering
https://semiengineering.com/power-issues-grow-in-high-performance-computing/
往期精彩:
理解UVM-1.2到IEEE1800.2的变化,掌握这3点就够了
Verification和Validation傻傻分不清楚?面经重点!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。