足够好的计算能力

云脑智库 2022-05-22 00:00


来源 | 悦智网

智库 | 云脑智库(CloudBrain-TT)

云圈 | “云脑智库微信群”,请加微信:15881101905,备注您的研究方向

声明 | 本号聚焦相关知识分享,内容观点不代表本号立场,可追溯内容均注明来源,若存在版权等问题,请联系(15881101905,微信同号)删除,谢谢

伏尔泰曾写道:“至善者,善之敌。”

这只是表述“完美主义并非总是美德”的众多说法之一。然而,如今的计算机则是坚定不移的完美主义者,这是因为即使是其输出结果中的罕见缺陷也可能造成高昂的代价,甚至带来灾难性的后果。例如,英特尔P5奔腾芯片中的一个漏洞曾致使该公司损失近5亿美元,尽管在90亿次计算中,它仅给出了一次略微不准确的答案。
计算机超凡的稳定性使它们在处理许多任务时大有助益,尤其是我们易犯错误的普通人永远无法做好的那些工作。但是这一绝妙品质需要付出代价——能源。为了确保错误率极低,以至于我们可以放心地假设错误永远不会发生,计算机消耗了大量能源。
这种几近完美的准确性在1971年时已成定局,当时首个商用微处理器——英特尔4004横空出世。在接下来的30年间,微处理器设计人员的主要目标是在维持该属性的同时,在每个芯片内填充更多的晶体管;能效并不在当时考虑范畴内。然而在今天,出于若干原因,能源使用已处于芯片设计人员思维的前沿和中心。
首先,我们都爱不释手的移动计算机(如智能手机和平板电脑)中的处理器必须高效节能,以节省电池。超级计算机和数据中心内安装的芯片需要同样地节能,因为运行这些设施所需的电费通常能达到一年数百万美元。并且不同于1971年的情况,设计人员不可以再依靠半导体技术的进步,年复一年地大幅提升晶体管的能效。
事实上,他们目前正面临着“黑硅”问题:尽管“摩尔定律”仍牢不可破,即每一代新的制造技术都不断地为芯片增加更多晶体管,但微处理器无法同时使用这些新增晶体管。其中仅有一部分可以在芯片变得无法冷却之前通电。因此芯片设计人员必须做出相应安排,在特定时刻让微处理器的许多的晶体管处于不通电的状态,即“变黑”——硅晶体世界的“轮流停电”。
在这个能耗受限的时代,各路计算机科学家需要重新审视计算机投入能量的每项工作,包括无差错运行。在能源不是问题时,绝对的准确是极佳的特性。但是,现在是时候接受偶尔的疏忽了。
牺牲准确性看起来可能是一个危险的策略。毕竟,当电脑犯错误时,结果可能是灾难性的。因此如果允许它们犯更多错误,是否会导致它们变得毫无用处?不见得。诀窍在于控制可能发生错误的时机。有时它们不会造成问题,因为我们今天使用计算机处理的许多事情并不要求严格的准确性。
例如,在长途飞行途中用平板电脑看电影。当原始电影文件被压缩时,编码软件将每一帧上不重要的细节丢掉,生成一个小很多的文件。如果在平板电脑上运行的软件解码器在回放电影时弄乱了几个像素,你大概不会反对——尤其是如果这意味着在影片结束时会剩下更多的电量。
这种情况不仅出现在媒体播放器上。对于许多种软件来说(例如语音识别、增强现实、机器学习、大数据分析以及游戏图形),完美的输出并非目标,事实上,为当前问题计算出完全正确的答案是不可能或不可行的。所有这一切所需的只是一个“近似”的答案。而当今天的完美主义计算机执行这些根本上属于近似的程序时,它们其实是在挥霍能源。
要想抓住机遇,面对能源浪费现象,计算机设计人员可以根据需求,建造能够切换到节能模式的机器——尽管在某种程度上易于出错。比如说,这种机器可能会调低CPU电压,允许出现一些算数计算错误。降低动态随机访问存储器(DRAM)芯片的刷新率也可以节约能源,代价是产生少数不必要的位翻转。另外,如果允许出现一些通信错误,无线设备也可以减少对功率的需求。
许多研究人员正在研究这类节能式硬件的改造。我们一直在探索程序员如何可以利用这类修改。为此,我们在西雅图华盛顿大学的研究小组已经开发了一种计算机语言,允许偶尔产生一些良性错误,同时阻止灾难性错误的发生。我们将其称之为“EnerJ”。这是我们为“近似计算”——一种新的能效提高方法作出的贡献。

近似计算面临的主要困难是,即使是近似程序,有时也需要产生绝对准确的结果,比如说图片浏览器。尽管少数不正确的像素不会破坏一个大的图像,但该文件JPEG标题中的一个错误比特可能会导致输出结果毫无用处。

这种二分法对于许多种软件都很常见:一个程序的某些部分可以容许偶尔的错误或不精确,而其他部分必须始终精确执行,不出现任何错误。近似计算机需要同时支持两种模式,而近似程序必须在可行的情况下使用节能模式,同时避免导致灾难性故障的错误。
但是一台计算机如何区别一个程序中可以容许近似结果的部分和不能容许的部分?至少在这一阶段,程序员需要通过使用一种可以提供区分机制的语言,指导计算机进行区分。
原型语言EnerJ允许程序员将数据标记为“近似”或“精确”。请注意,我们在本文使用这些术语时有些不够严谨。这两类数据的差异可能仅在于数值精度——即用于保持一个值所需的比特数,或者表现在是否容易出现错误上:一个“近似”数据可能有较小但却不可忽视的概率成为“垃圾”数据,而一个“精确”数据可能实际上被视为无误差。我们一直在研究的一些硬件将这两种节能方法混合使用,在最不重要的比特内允许出现误差,同时确保最重要的比特始终正确。
EnerJ是Java编程语言的一种扩展,但是其整体设计可应用于大多数需要程序员明确声明数据类型的语言。这类声明用于指示某一数据元是否旨在保持一个布尔值(真/假)、字节、32位整数、64位整数、32位浮点数,64位浮点数,或者其他各种可能性。每当程序员声明一个Java数据元时,他/她可以通过在声明前方书写“@Approx”,将其标记为“近似”。没有添加此类注释而声明的数据类型为“精确”数据。换言之,该系统仅在程序员特别允许的情况下使用近似值。
举一个具体的例子,假设你想要编写某种代码,用于计算一个1000×1000像素的黑白图像的平均色度。你的代码可能从第一行的第一个像素开始,并标注其值。然后计算第一行的第二个像素,并将其值与第一个像素相加。然后以同样的方法处理第三个像素,以此类推,每次将像素的值添加到运算总和(将其存储在某个变量中)——我们称之为“TOTAL(总数)”。当计算完第一行的第1000个像素后,该程序开始计算第二行的像素,并以同样的方式继续,直到第1000行的第1000个像素。最后,它用总数除以100万来计算平均像素值。非常简单。
除了变量“TOTAL”外,该代码需要两个计数变量:一个用于记录行数,另一个用于表示增加到总和的像素所在的列数。在列计数达到999后,代码复位到0并前进到下一行。当行和列的计数都达到999后,该程序可以除以100万,得出平均值。
如果在这过程中,100万个像素中的一个有些偏移或没有正确地添加到总和中,那么没有太大关系:答案会受到影响,但不是很大。然而,如果一个行或列的计数没有正确地增加,该程序可能会显示一个错误,停止运算,甚至会进入一个死循环。
而采用EnerJ,程序员只需在说明“TOTAL”和保持像素值的矩阵时,将其标记为“@Approx”即可。两个计数变量(我们称之为“I”和“J”)仍保持精确。
有待建成的、可运行EnerJ程序的节能计算机将被允许不加区别地使用近似计算——前提是不影响该程序的精确数据。例如,该计算机可能在不可靠、低刷新率的DRAM中存储单个像素值,但它将不得不使用其正常可靠的内存部分存储I和J。或者,将像素值加入TOTAL的加法运算可以在较低电压下运行,因为这两个操作数都是近似值,但是增加两个计数变量的操作则必须在正常的电压下运行,以便它们总是得到精确计算。也就是说,仅仅通过在代码中对类型说明进行标注,程序员就指定了哪些地方可以使用近似存储和操作,以及哪些地方严禁使用近似。

EnerJ还可以帮助程序员避免一些漏洞,以免近似计算损害需要保持精确的数据。具体来说,它禁止程序将近似数据放入精确的变量。继续来看我们的示例,以下赋值属于非法赋值:

I=TOTAL;
由于I是精确值,EnerJ确保不可使用近似值进行计算。TOTAL是近似值,因此将其值复制到I中会在程序员希望保持精确、无错的那部分程序中引入近似值。而另一方面,相反的赋值则没有这一问题:
TOTAL=I;
像这样把精确值赋给近似值的操作不会违反精确保证原则,因为它们仅影响近似数据。
通过在允许一类赋值的同时禁止其他赋值,EnerJ确保数据只在一个方向上移动。这种约束的作用就像一个单向阀:精确数据可以自由流动到近似程序的一部分,反之则不行。
开发了可以执行单向数据移动(称为信息流跟踪)系统的研究人员对节能并不感兴趣。他们关注软件的安全性,希望其程序可以区分低完整性(可能遭到破坏的)数据与被视为具有高完整性的数据。
信息流语言可以防止一种被称为SQL注入的计算机攻击。(结构化查询语言,简称SQL,用于数据库管理。)在这里,攻击者在系统等待一些简单输入数据时,为其提供了一个数据库命令。然后系统执行该命令——可能在此过程中造成巨大损害。信息流跟踪可以通过确保没有从用户流到SQL语句的输入,防止此类攻击。EnerJ借鉴了这一概念,避免精确的数据受到不精确或罕见错误的破坏。
但是近似数据还有另一种方式可以影响精确数据:通过控制流语句。请看下面的代码:

if (TOTAL>0.0)

I=1;

else                 

I=2;
这里没有非法赋值,但近似值“TOTAL”仍影响了精确变量“I”。这种情况被称为“隐式信息流”,也必须予以避免。
EnerJ可简单直接地防止隐式信息流:禁止任何控制流语句中出现近似条件。“TOTAL>0.0”属于近似的表达式,因为其中的一个操作数是近似值。因此编译器(这种软件可以将EnerJ语句转换成低级别代码,任何机器上都可以运行)在看到以“if”进行陈述的表达时,会显示一个错误。
但是EnerJ在近似值和精确值之间执行的严格隔离在某些情况下可能过于局限。有时,程序产生的近似数据需要被移至程序的精确部分,例如,用于检查或输出。我们尝试使用一个可以读取条形码的智能手机应用程序,这个程序运用了多个近似容错图像分析算法,从一个QR代码的图片中产生了一连串比特。然后计算出“校验和”——一个用于确保一些其他数据块完整性的数值。
校验和在检测错误时非常方便。这里有一个简单的例子:比方说你有100万个字节(一个字节由8个比特组成),希望以不完全精确的方式进行传送。你可能首先计算这100万字节的总和,然后丢掉答案中最不重要的8个比特。结果就是校验和,在发送数据后发送。单字节校验和现在可用于判断传输后的数据完整性。只需在远端重新计算校验和,并与已发送的值进行比较即可。即便数据只有一个比特在传输过程中损坏了,原始校验和与重新计算的校验和也不会匹配。
对于条形码读取应用来说,我们希望保持校验和计算结果的精确性,以捕获因别处使用的近似计算而可能突然出现的错误。但是这需要近似计算(条形码读取算法)的输出流入精确计算——校验和中。通常情况下,这是不可能实现的。但是EnerJ提供了一个“应急出口”,其形式称为“背书”——一个标记表明程序员允许打破EnerJ执行的严格隔离。

EnerJ的数据型注释、背书以及它们提供的隔离保证使其可以充分利用近似计算编写程序,同时保留足够的精确计算,以保持稳定性。这些特性让程序员可以放心地牺牲一些精度和严格的准确性,提高能源效率。正如程序员习惯于优化软件,以提高性能,EnerJ让他们通过优化来节约能源。

能节省多少能源呢?这一点很难说,因为还没有人建造运行EnerJ所需要的双模、节能计算机。但是我们的研究小组已编写了多个EnerJ程序,并在模拟环境中运行——模拟内存或中央处理中具有各种节能功能的硬件。根据程序类别以及模拟硬件试图降低能耗的努力程度,EnerJ可节省10%~40%的能耗。
我们最新开发的计算机语言在这些试验中表现出色,这让我们感到非常高兴。同时,我们还惊喜地发现,许多种程序都有部分允许近似计算。EnerJ可以完美地适用到图像渲染和图像识别上。信号处理算法和3D游戏中的几何问题在应用EnerJ方面不太明显,但它们也可以很容易地拆分为近似和精确两类组件。事实上,当你拥有EnerJ或另一种近似计算“利器”时,任何程序都看起来“迎刃而解”了。
我们现在需要一种切合实际的CPU设计,在运行EnerJ程序时可以节省能源。与我们在华盛顿大学的前同事哈迪•艾斯梅尔沙德(Hadi Esmaeilzadeh)和微软设计院的道格•伯格(Doug Burger)一道,我们已经开始设计能够在两个电压等级上运行的处理器。当某个程序需要无差错行为时,使用较高的电压。对于可以容许偶尔的小差错的计算来说,处理器切换至较低的电压,节省能源。同时,我们还在探索一些更加彻底变革的硬件设计,使之能够作为专用的近似协同处理器。
为了推动近似计算的发展,程序员还需要一些工具,帮助他们理解牺牲精度换取节能过程中涉及的权衡取舍。编程语言的研究人员,包括那些我们小组内的此类人员,开始设计一些工具,类似于今天的调试器和性能分析器。有了这些工具,程序员可以回答以下问题:“如果我将媒体播放器的这一部分标记为‘近似’,那么视频文件的播放质量会发生什么变化?”正确的工具应该能让程序员节省大量能源,而用户则甚至不会注意到任何差别。
事实上,由于如今的软件已经包含了不完善之处——表现为易出错的数据或近似输出,计算机为避免错误所耗费的能源(即使是最罕见的小错误)看起来也是越来越浪费。为了纠正这一局面,计算行业需要一些新的近似编程语言、新的近似硬件设计以及工具,帮助程序员理解如何最有效地利用它们。总之,它们应该帮助计算机变得更接近人类大脑,虽不完美,但却具有惊人的能源效率。
作者:Adrian Sampson, Luis Ceze, Dan Grossman

- The End

版权声明:欢迎转发本号原创内容,转载和摘编需经本号授权并标注原作者和信息来源为云脑智库。本公众号目前所载内容为本公众号原创、网络转载或根据非密公开性信息资料编辑整理,相关内容仅供参考及学习交流使用。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请跟我们联系删除。我们致力于保护作者知识产权或作品版权,本公众号所载内容的知识产权或作品版权归原作者所有。本公众号拥有对此声明的最终解释权。

投稿/招聘/推广/合作/入群/赞助 请加微信:15881101905,备注关键词

“阅读是一种习惯,分享是一种美德,我们是一群专业、有态度的知识传播者

 阅读原文加入知识星球,发现更多精彩内容.

 分享💬 点赞👍 在看❤️@以“三连”行动支持优质内容!

云脑智库 努力是一种生活态度,与年龄无关!专注搬运、分享、发表雷达、卫通、通信、化合物半导体等技术应用、行业调研、前沿技术探索!专注相控阵、太赫兹、微波光子、光学等前沿技术学习、分享
评论
  • 故障现象 一辆2007款法拉利599 GTB车,搭载6.0 L V12自然吸气发动机(图1),累计行驶里程约为6万km。该车因发动机故障灯异常点亮进厂检修。 图1 发动机的布置 故障诊断接车后试车,发动机怠速轻微抖动,发动机故障灯长亮。用故障检测仪检测,发现发动机控制单元(NCM)中存储有故障代码“P0300 多缸失火”“P0309 气缸9失火”“P0307 气缸7失火”,初步判断发动机存在失火故障。考虑到该车使用年数较长,决定先使用虹科Pico汽车示波器进行相对压缩测试,以
    虹科Pico汽车示波器 2025-01-15 17:30 95浏览
  • 80,000人到访的国际大展上,艾迈斯欧司朗有哪些亮点?感未来,光无限。近日,在慕尼黑electronica 2024现场,ams OSRAM通过多款创新DEMO展示,以及数场前瞻洞察分享,全面展示自身融合传感器、发射器及集成电路技术,精准捕捉并呈现环境信息的卓越能力。同时,ams OSRAM通过展会期间与客户、用户等行业人士,以及媒体朋友的深度交流,向业界传达其以光电技术为笔、以创新为墨,书写智能未来的深度思考。electronica 2024electronica 2024构建了一个高度国际
    艾迈斯欧司朗 2025-01-16 20:45 150浏览
  • 百佳泰特为您整理2025年1月各大Logo的最新规格信息,本月有更新信息的logo有HDMI、Wi-Fi、Bluetooth、DisplayHDR、ClearMR、Intel EVO。HDMI®▶ 2025年1月6日,HDMI Forum, Inc. 宣布即将发布HDMI规范2.2版本。新规范将支持更高的分辨率和刷新率,并提供更多高质量选项。更快的96Gbps 带宽可满足数据密集型沉浸式和虚拟应用对传输的要求,如 AR/VR/MR、空间现实和光场显示,以及各种商业应用,如大型数字标牌、医疗成像和
    百佳泰测试实验室 2025-01-16 15:41 160浏览
  • 晶台光耦KL817和KL3053在小家电产品(如微波炉等)辅助电源中的广泛应用。具备小功率、高性能、高度集成以及低待机功耗的特点,同时支持宽输入电压范围。▲光耦在实物应用中的产品图其一次侧集成了交流电压过零检测与信号输出功能,该功能产生的过零信号可用于精确控制继电器、可控硅等器件的过零开关动作,从而有效减小开关应力,显著提升器件的使用寿命。通过高度的集成化和先进的控制技术,该电源大幅减少了所需的外围器件数量,不仅降低了系统成本和体积,还进一步增强了整体的可靠性。▲电路示意图该电路的过零检测信号由
    晶台光耦 2025-01-16 10:12 97浏览
  • 随着消费者对汽车驾乘体验的要求不断攀升,汽车照明系统作为确保道路安全、提升驾驶体验以及实现车辆与环境交互的重要组成,日益受到业界的高度重视。近日,2024 DVN(上海)国际汽车照明研讨会圆满落幕。作为照明与传感创新的全球领导者,艾迈斯欧司朗受邀参与主题演讲,并现场展示了其多项前沿技术。本届研讨会汇聚来自全球各地400余名汽车、照明、光源及Tier 2供应商的专业人士及专家共聚一堂。在研讨会第一环节中,艾迈斯欧司朗系统解决方案工程副总裁 Joachim Reill以深厚的专业素养,主持该环节多位
    艾迈斯欧司朗 2025-01-16 20:51 110浏览
  • 随着智慧科技的快速发展,智能显示器的生态圈应用变得越来越丰富多元,智能显示器不仅仅是传统的显示设备,透过结合人工智能(AI)和语音助理,它还可以成为家庭、办公室和商业环境中的核心互动接口。提供多元且个性化的服务,如智能家居控制、影音串流拨放、实时信息显示等,极大提升了使用体验。此外,智能家居系统的整合能力也不容小觑,透过智能装置之间的无缝连接,形成了强大的多元应用生态圈。企业也利用智能显示器进行会议展示和多方远程合作,大大提高效率和互动性。Smart Display Ecosystem示意图,作
    百佳泰测试实验室 2025-01-16 15:37 172浏览
  • 一个易用且轻量化的UI可以大大提高用户的使用效率和满意度——通过快速启动、直观操作和及时反馈,帮助用户快速上手并高效完成任务;轻量化设计则可以减少资源占用,提升启动和运行速度,增强产品竞争力。LVGL(Light and Versatile Graphics Library)是一个免费开源的图形库,专为嵌入式系统设计。它以轻量级、高效和易于使用而著称,支持多种屏幕分辨率和硬件配置,并提供了丰富的GUI组件,能够帮助开发者轻松构建出美观且功能强大的用户界面。近期,飞凌嵌入式为基于NXP i.MX9
    飞凌嵌入式 2025-01-16 13:15 201浏览
  • 实用性高值得收藏!! (时源芯微)时源专注于EMC整改与服务,配备完整器件 TVS全称Transient Voltage Suppre,亦称TVS管、瞬态抑制二极管等,有单向和双向之分。单向TVS 一般应用于直流供电电路,双向TVS 应用于电压交变的电路。在直流电路的应用中,TVS被并联接入电路中。在电路处于正常运行状态时,TVS会保持截止状态,从而不对电路的正常工作产生任何影响。然而,一旦电路中出现异常的过电压,并且这个电压达到TVS的击穿阈值时,TVS的状态就会
    时源芯微 2025-01-16 14:23 152浏览
  • 全球领先的光学解决方案供应商艾迈斯欧司朗(SIX:AMS)近日宣布,与汽车技术领先者法雷奥合作,采用创新的开放系统协议(OSP)技术,旨在改变汽车内饰照明方式,革新汽车行业座舱照明理念。结合艾迈斯欧司朗开创性的OSIRE® E3731i智能LED和法雷奥的动态环境照明系统,两家公司将为车辆内饰设计和功能设立一套全新标准。汽车内饰照明的作用日益凸显,座舱设计的主流趋势应满足终端用户的需求:即易于使用、个性化,并能提供符合用户生活方式的清晰信息。因此,动态环境照明带来了众多新机遇。智能LED的应用已
    艾迈斯欧司朗 2025-01-15 19:00 78浏览
  • 电竞鼠标应用环境与客户需求电竞行业近年来发展迅速,「鼠标延迟」已成为决定游戏体验与比赛结果的关键因素。从技术角度来看,传统鼠标的延迟大约为20毫秒,入门级电竞鼠标通常为5毫秒,而高阶电竞鼠标的延迟可降低至仅2毫秒。这些差异看似微小,但在竞技激烈的游戏中,尤其在对反应和速度要求极高的场景中,每一毫秒的优化都可能带来致胜的优势。电竞比赛的普及促使玩家更加渴望降低鼠标延迟以提升竞技表现。他们希望通过精确的测试,了解不同操作系统与设定对延迟的具体影响,并寻求最佳配置方案来获得竞技优势。这样的需求推动市场
    百佳泰测试实验室 2025-01-16 15:45 238浏览
  • 近期,智能家居领域Matter标准的制定者,全球最具影响力的科技联盟之一,连接标准联盟(Connectivity Standards Alliance,简称CSA)“利好”频出,不仅为智能家居领域的设备制造商们提供了更为快速便捷的Matter认证流程,而且苹果、三星与谷歌等智能家居平台厂商都表示会接纳CSA的Matter认证体系,并计划将其整合至各自的“Works with”项目中。那么,在本轮“利好”背景下,智能家居的设备制造商们该如何捉住机会,“掘金”万亿市场呢?重认证快通道计划,为家居设备
    华普微HOPERF 2025-01-16 10:22 178浏览
  • 日前,商务部等部门办公厅印发《手机、平板、智能手表(手环)购新补贴实施方案》明确,个人消费者购买手机、平板、智能手表(手环)3类数码产品(单件销售价格不超过6000元),可享受购新补贴。每人每类可补贴1件,每件补贴比例为减去生产、流通环节及移动运营商所有优惠后最终销售价格的15%,每件最高不超过500元。目前,京东已经做好了承接手机、平板等数码产品国补优惠的落地准备工作,未来随着各省市关于手机、平板等品类的国补开启,京东将第一时间率先上线,满足消费者的换新升级需求。为保障国补的真实有效发放,基于
    华尔街科技眼 2025-01-17 10:44 131浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦