科学网

 找回密码
  注册

tag 标签: 容错计算

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

深入一步看自主车辆(181008)
热度 4 ymin 2018-10-8 09:34
深入一步看自主车辆( 181008 ) 闵应骅 自主车辆是用自主驾驶系统驾驶的车辆。这个事情现在炒得很热,的确令人向往。汽车的发明是划时代的大事,自主车辆的使用将是另一件划时代的大事。前景很美妙,但是要真正做出来、用上,做到有一天所有的车都无人驾驶,需要解决的问题多了去了。做梦比较容易,实现起来就难。 自主车辆的安全性与可靠性受到广泛的关注。加州机动车辆部关于自主车辆路测数据表明: 36% 的错控是由于计算机系统的问题; 64% 是机器学习导致的。现在关于自主车辆的研究集中在改善机器学习和人工智能模型,而且不断有好消息传出来。然而,当这些模型在计算机平台上做大型应用时,焦点转向评价驱动自主车辆的计算机组的恢复力和安全性上。硬件(包括 GPU 、 CPU 和其他处理单元)以及运行自主车辆的软件栈 可能的故障和差错的影响没有被足够认识。现在已经有许多人注意到深度神经网络对故障和差错在不考虑软件栈的自恢复能力的情况下的恢复能力;有些工作研究现在公开的自主驾驶系统,当注入传感器常发故障的高斯噪音或故障出现时自主车辆的安全性就很需要了。光在路上试行,尤其是专找一段特定的路,不让其他车辆通行的试行,更是不能说明问题。而当传感器很多,有可能有瞬时故障、差错传播和自主驾驶系统的永久故障,环境条件又极其复杂。这就需要故障注入器来模拟所有可能出现的情况 . 最近我看到一篇文章(见附件),是介绍美国伊利诺伊大学阿巴纳香槟分校( UIUC )与 Nvidia 合作开发的一个故障注入器 Kayotee 。其作者之一 Ravi K.Iyer 是我的老朋友,我很高兴他仍然活跃在科研第一线、争取课题、指导学生。安全性、可靠性的问题对自主车辆生死攸关。另一方面也说明,容错计算技术在如此新鲜的研究课题面前也有用武之地,在自主车辆的研制中是不可或缺的。 对于自主驾驶系统,为了追求恢复力和可靠性,我们需要问四个问题: Q1 :自主驾驶系统软件有许多部分,譬如感知部分、传递、定位、计划等,哪一部分最容易出现故障或差错? Q2 :自主驾驶系统平台的差错可能是由于数据质量和机器学习或人工智能的不精确性所引起,哪些差错对安全性和恢复力影响最严重? Q3 :安全性或恢复力和带差错的输入特征,包括车辆和人,是否有统计的某种关系? Q4 :对于不同的计算平台,譬如 CPU 和 GPU ,差错敏感性是否有统计意义上的不同? Kayotee 系统可以用下图说明如何被用来评估自主驾驶系统的端到端的安全性和可靠性。 其中, ① 我们用 Nvidia 的自主驾驶系统框图,运行 5 级自动化水平的 AI 代理,以及模拟系统 ② 为了在私用或公众的路上测试 Nvidia 自主驾驶系统,用一个用户虚拟引擎的模拟器,模拟复杂的路况,包括路的布局、建筑、行人、车辆和天气条件(譬如晴、雨、雾)等。 ② 中的例子是一个 Nvidia AI 车辆控制的汽车和一个 DriveSim 控制的汽车在一条高速公路上,速度 v 和加速度 a 都不同,相距为 d ,前面还有公路物体,譬如路标、交通灯等。这样参数化的模拟才能反映目标车辆减速、平稳、加速等不同情况。 scenario manager 用于选择预先定义好的路况,而 monitoring and safety evaluator 则给出当时情况下安全参数的测量结果。譬如车辆是否在车道中央、车辆是否保持与其它车辆的最短距离、车速是否在安全距离之内。 ③ Nvidia AI 代理,包括 5 个基本模块, (a) 传感器和传感器融合模块, (b) 物体感知模块, (c) 通路感知模块, (d) 地图和定位, (e) 计划和控制模块。因为保密的原因,若干安全检测机制未包含在此图中。 ④ Kayotee 作为自主驾驶系统的负载,运行在一个计算平台上。这个计算平台包括 Intel Xeon CPU 和 Nvidia 离散 GPU 。然后注入不同模型化的故障。 Kayotee 是一个故障注入工具,它可以注入硬件瞬时故障、软件故障,而且可以运行在各种不同的场景之下。那些场景在实际路测中是不容易都碰到的。 Kayotee 的主要目的是估价自主驾驶系统故障的影响,研究在不出事故之前最大可以容许的自主驾驶系统的故障数。由于该系统是针对 Nvidia 的自主驾驶系统研制的,若干技术细节和试验数据不能公开。他们希望也能就 Apollo 和 Carla 开发故障注入器。由于本文是一篇博客文章,不能太进入技术细节。有兴趣的读者可以参考本文附件。 对于差错和安全性指标,他们定义:一个故障被激活,如果任何监控指标(包括目标分类、边界框、执行机构命令值、车辆测量值)没有落入允许范围之内。 执行命令的差错会导致一个安全隐患。我们定义下列安全隐患:安全范围隐患是指自主车辆与任何其他路上对象的距离小于制动距离。驾驶员确认对象的平均时间是 1.75 秒,而 AI 代理的最长认知时间是 1/FPS ,其中 FPS 是 AI 代理每秒处理的帧数。认知距离是看到危险而采取制动之前的时间,一般人的响应时间是 0.75 ~ 1 秒,而对 AI 代理是指确认危险到发送执行命令的时间。制动距离在高速公路上以 55 英里 / 小时( 88 公里 / 小时)速度行驶的制动距离是 65 米。预停距离是指感知距离、认知距离和制动距离的总和。但是,距离 20 米是否一定追尾还要看对方车辆动态、车型、车速和加速情况。对多车道的公路,情况就更加复杂。如果车辆离开车道中线 0.5 米就认为是一次车道中心隐患。 本文的目的有两个:一个是说明自主车辆的梦想很美好,但是要实现还需要走很长的路。我国媒体现在主要谈前者,而忽略后者;另一个是说明传统的计算技术在新任务面前仍然是大有可为的,研究者应该深入自己的研究领域,为新任务做出自己的贡献。 附件: kayotee_art_2018.pdf “ Kayotee: A Fault Injection-based System to Assess the Safety and Reliability of Autonomous Vehicles to Faults and Errors ,” September 2018 , Conference: Third IEEE International Workshop on Automotive Reliability Test , At: Phoenix, Arizona, USA 。 Project: Safety and Reliability of Autonomous Vehicles Saurabh Jha , Timothy Tsai , Siva Kumar Sastry Hari , Ravishankar K. Iyer
个人分类: 计算机|14935 次阅读|14 个评论
又谈容错——DRAM的差错避免(151207)
热度 7 ymin 2015-12-7 08:59
又谈容错 —— DRAM的差错避免(151207) 闵应骅 我已经不知道发过多少文章谈容错了,这是一个永恒的话题。本月的 IEEE Spectrum 发表一篇文章谈动态随机存取存储器( DRAM )的差错避免,值得介绍一下。近20年来,人们普遍认为硬件可靠性已经大大提高,主要是软件有问题。可以说没有一个大型软件是没有错误的,所以,错误无穷无尽,要不断修改,不断改进。所以,越老的软件应该越可靠。但是,多伦多大学的一项研究表明,DRAM读写的差错并不少,不过人们不容易发现。 因特尔1971年首先推出1024位DRAM芯片,几年后的16K DRAM芯片就发现存储的某些位与写入的不一样,而且错误率很高。后来,最终定位到陶瓷包装上。芯片包装里面所含的微量放射性材料发射α粒子,破坏数据。这问题发现以后当然很容易解决。但DRAM的差错并没有绝迹,可能引起黑屏、停机,甚至宕机。像Amazon,Facebook, Google这样的大公司大量的并行计算,数据中心里有成千上万台的计算机,它们合作为某一个终端用户服务。超级计算机更集中地运行着它的设备。在这些大型系统中,即使小概率故障较频繁发生,单个计算机可能宕机,如果一年三次,1万台计算机就会差不多一天有100次宕机。 多伦多大学一个研究组收集了许多系统的运行数据,包括美国阿贡国家实验室、劳伦斯利物莫国家实验室、 洛斯阿尔莫斯 国家实验室,也从大型数据中心的操作员得到消息,包括谷歌公司。我们看到,虽然PC机用户怪系统失效是软件问题,譬如操作系统或浏览器有问题,或者病毒感染,硬件问题还是主要的,例如,洛斯阿尔莫斯,60%的机器失效来源于硬件,而且大部分硬件问题在于DRAM的错误。下图是一个典型的DRAM芯片 1 .怎么知道这些可靠性问题是源于DRAM差错? 研究组人员访问了许多运行大数据中心的维护人员,他们说:“要频繁更换的部件是DRAM模块。”可见许多硬件故障出在DRAM模块上。我们知道,大型计算机系统都有存储器的差错校正玛(ECC)和故障数据记录。如果记下每次ECC发现的出错地址和有多少位得到校正,就可以知道系统出过多少DRAM差错,而且错在什么地方。分析劳伦斯利物莫、阿贡、和谷歌的数据,我们发现了这些差错是如何频繁出现的。谷歌12-45%的机器每年至少有1次DRAM差错,这至少比原来的估计频繁了几个数量级。虽然这些机器都用了各种ECC,至少也有0.2-4%不可纠正的DRAM差错,从而产生非预期的停机。 为什么一个已经存在的问题30年后还没搞清楚呢?许多原因:第一,这些错误没有频繁到需要一个大数据集做统计频率估计的程度。你必须研究每年几千台机器。大部分计算机生产厂家做DRAM可靠性估计都是在实验室里用粒子束发射,模拟宇宙射线来做的,认为那就是差错的主要原因。第二,制造厂家和运行大系统的公司不原意公布这些敏感信息。 2 .DRAM为什么会出错呢? 一个DRAM芯片单元是由一个电容和一个晶体管构成,电容的冲放电存储一位信息,不像静态RAM,只要有电源,数据保持不变。DRAM不同,存储器中记录信息位的电荷会慢慢地泄露,从而丢失信息。所以,电路需要不断更新电荷状态。所以叫“动态”,但电容的容量大小有差异,充放电曲线受很多因素的影响,不断更新使存储器模块复杂化。但DRAM的优越性是存储器单元的电容非常小,一个芯片上可以放十亿位。在集成电路里面,一个特定的布局布线就可以做成电容,并不像我们平时看到很大的电容分立元件那样。当一位或多位刚写完,另一个命令又要读,DRAM差错就可能发生。许多消费级的计算机没有对这类错误的防护,但服务器一般在DRAM里用差错校正玛(ECC)。其主要想法是用更多的存储位存储数据,当芯片检测到有差错,则进行校正,只要不是太多位同时出错是可以更正的。但是,出错位太多仍然可以引起宕机。 DRAM 差错可以分为两类:软差错和硬差错。软差错指某些瞬时干扰,譬如宇宙射线粒子撞击;硬差错源于物理装置本身的问题,一般只是测试DRAM某一位是否固定为0或1。一般说,软差错比硬差错更普通,所以大部分研究集中在软差错,但无人能证实这个假定。 3 .DRAM差错有什么特点没有? 多伦多大学的研究人员考察了大型计算系统,用各种不同的负载,研究DRAM技术及其防护机制。他们得以存取谷歌数据中心的数据,两代的IBM蓝色基因超级计算机(一个在劳伦斯利物莫,一个在阿贡),以及在多伦多大学SciNetc超级计算机中心的加拿大最高性能的集群。他们分析了300万亿字节-年的DRAM使用数据。他们发现,高温基本不影响存储器的可靠性,让机器运行于高一点温度,数据中心可以省制冷经费,减少二氧化碳排放。同时也发现,机器的小的因素引起了大差错,即差错连续出现在同一个存储器模块。计算表明,两次这样的差错使DRAM差错概率加倍。这说明软错误不见得是最主要的故障模式。因为,如果差错完全是随机来的,DRAM芯片各点的故障概率应该是一样的。 从上图可见,在劳伦斯利物莫国家实验室的蓝色基因超级计算机的DRAM差错有80%出现在同一个地址。一个DRAM装置被分成若干个存储体,每一个存储体是一个2D存储单元阵列,放在相邻的行和列。阵列中的单元位居某一行和某一列。他们发现多半的故障存储体的故障基本上都在同一行和同一列,也就是一个故障单元。其他相当多的故障出在同一行或同一列,但无法定位某地址。不可想象,随机的核粒子会撞击同一个单元两次。这几乎不可能。所以,不能说DRAM硬差错是软差错造成的。 4 。怎么解决DRAM硬差错的问题? 硬差错是永久故障,如果差错在同一个地址发生,只要把该地址列入黑名单,不许使用,就可以防止宕机。如果该单元有许多位需要 ECC 校正。那么,在较少位差错时就要给出警告。较少位的差错还可以用 ECC 校正。 操作系统把计算机主存分成页,一般是 4K 字节为一页。操作系统认为差错来源于很少的几页。事实上, 85% 的差错来源于 0.0001% 的页,去掉这些页就可以保持正常运行,而对存储能力影响很小。这被称为页退役。但很少有人用它,因为不知道如何检测和诊断到这种故障。我们的研究组使 Facebook 在其数据中心用了页退役。我们研究了 5 个策略。一个是发现第一个差错就退役这一页。其他则是退役一行或一列。我们发现,一般一个计算机退役 1M 字节就可以防止 90% 的存储器差错。去掉 1M 字节对于一个计算机系统来说是无足轻重的。当然,技术人员可以更换整个存储模块。但是,它其实只有几个单元是坏的。页退役不但能防止宕机,而且节省了存储器。 同样的策略也可用于智能手机、平板电脑、和可穿戴电子等设备。 DRAM 在广泛使用, DRAM 一个单元差错就换整个设备,显然是过于浪费。 我们国家在容错方面的研究显得比较弱,队伍好像也没有怎么壮大。原因可能是我们比较注重研究成果的可见性,而对于产品质量和可靠性关注得不够。这对我国产品走向世界非常不利。“让世界爱上中国造”就要提高产品质量和可靠性。最近领导的讲话已经多次强调了这一点,也许情况会有所改善。
个人分类: 计算机|10204 次阅读|17 个评论
以动态随机存取存储器(DRAM)取代硬盘话怀旧(151109)
热度 6 ymin 2015-11-9 08:43
以动态随机存取存储器( DRAM )取代硬盘话怀旧( 151109 ) 闵应骅 上一篇博文 从分子电子学的沉浮看创新 (151102) 得到 15817 次阅读, 本文“ 以动态随机存取存储器( DRAM )取代硬盘话怀旧”是想说明过去的技术基础对今天的创新仍然非常重要。创新不是空中楼阁,大学生们要好好学习基础知识。对于几千上万台服务器的数据中心,用硬盘速度太慢。据 IEEE Spectrum 报道,斯坦福大学有人提出来用动态随机存取存储器( DRAM )取代硬盘。这是一个创新的想法。但是,大量的问题在于容错。而容错技术是一个已经发展了 50 年的老技术,不过遇到了新情况,碰到了新问题。 磁盘存储器已经用了半个世纪。第一个商业化的磁盘出现在 1956 年,到 1970 年代就取代了磁带。就像集成电路,今天可以存的数据是 1985 年时的 2 万倍,而平均每字节的花费是那时的百万分之一。所以,今天的文件系统、关系数据库都是存在硬盘里。它的对手是闪速存储器,存取快、存储紧密、抗震。所以,所有移动设备,譬如平板电脑、智能手机、手表都是用闪存。笔记本电脑也用闪存代替硬盘,越来越多的数据中心等大型应用都在用闪存,因为速度很关键。动态随机存取存储器( DRAM )作为主存对于长期存储数据是另一种选择。譬如,谷歌的服务人员的查询是存在 DRAM 中,脸书的社交网络数据是在 DRAM 中, IBM 的沃森人工智能系统所有数据存在 DRAM 中。过去人们认为 DRAM 是在计算过程中存那些暂时性的数据,它比闪存快 1000 倍,但是比硬盘贵 100 倍,但关电源,数据就丢失了。现在它可能成为主存储器,因为如果 DRAM 在硬盘或闪存有备份,用户就可以得到它的高速的优越性。而大型的数据中心一般不会关电源。 斯坦福大学建造的一个通用存储系统,称为 RAMCloud ,它存储数据中心的几百几千服务器里的数据。其备份存于硬盘或闪存,并当服务器故障时自动从备份恢复数据。 读写硬盘数据其所以慢是因为读写头必须机械地在旋转盘上寻找特定磁道,然后等待读写头旋转到所需的数据位置上。这个机械过程很难加快。存储的数据越多,这个时间就越长。在许多场合,数据随机地存在许多不同的小块中,这个时间就更长。这个问题已经存在多年,于是人们对闪存由于速度快而感兴趣。 大规模 Web 应用需要支持几千万甚至上亿的用户,从而需要与传统完全不同的操作结构。传统的应用处理单机上的存储,而大规模应用由于在许多计算机上,运行应用逻辑和服务器与用户的接口程序,其他计算机可能变成存储服务器,而大部分数据存在硬盘上,经常要用的数据存在存储器里。过去的技术是加载应用程序和它的数据到单机的主存里,应用可以存取数据达到 DRAM 的速度,即 50-100 纳秒。但吞吐量受限于单机。 1990 年代后期, Web 大发展,传统应用体系结构无法处理众多网站的负载。此后 10 年,新的体系结构让大的数据中心用上千台机器一起工作。这样,应用程序和数据是分离的,数据在另一组机器里。这时,数据一般在硬盘里,常用的数据缓存在 DRAM 。但读写需要应用服务器与数据中心的内部网络的一个存储服务器通信,而存储服务器也许需要存取硬盘,这就需要 0.5-10 毫秒,比单机情况要慢 4-5 个数量级。所以,脸书产生一个网页只能查阅几百个数据片,否则时间就太长。开发者就必须把数据片搞得尽可能大。 2009 年,斯坦福人开始了 RAMCloud 项目。他们把所有数据一直存在 DRAM 中。它不需要额外的硬件,它只是一个普通机器上的软件包,成为 RAMCloud 服务器,以代替今天的存储服务器。 RAMCloud 的存储服务器每个机器配备 32-256 GB 的 DRAM ,足够存储所有数据,同时,服务器也包括硬盘和带电池备用的 DRAM ,另外一个机器称为协调器,管理应用服务器和存储服务器之间的通信。每一个 RAMCloud 服务器包含两个软件部件:一个 主控 ;一个 备用 。 主控 程序用 DRAM 存储 RAMCloud 的数据,同时在应用服务器需要时可以用这些数据。 备用 程序则是保存其他 RAMCloud 主控在服务器二级存储的冗余数据。 RAMCloud 的第三个软件部件, 协调器 ,运行在另一台机器上,管理整个 RAMCloud 集群,当存储服务器失效时协调恢复行动。各应用服务器用 RAMCloud 库包去存取 RAMCloud 存储。第一次应用服务器需要通过协调器找出什么主存存了什么数据,以后缓存这些信息到自己,以后就可直接请求相关的主存。 当 RAMCloud 服务器要取代正常的存储服务器时,它并不像今天的数据库服务器那样复制整个,其数据模型是所谓关键值钥,即包含一些表,每一个表可以包含许多对象,每个对象包含可变长度的钥,它在表中是唯一的,并且对应一个值,这个值可以是大到 1MB 的任意数据。应用程序要读写任何对象,只要给定表和钥即可。现在的 RAMCloud 读 100 字节对象需 5 微秒,写 14 微秒,比读硬盘快 1000 倍,比读闪存快 10-20 倍。这个加速即使用 DRAM 也是不可想象的,因为网络基础设施有相当大的延迟。网络中的每一次交换增加 10-30 微秒,数据请求和响应至少要经过 5 次交换,数据包的处理必须经过操作系统的进入和离开,又增加 60 微秒。所以,数据中心内的往返时间就达到几百微秒。 在网络上, RAMCloud 有两个改进。一个是用专用交换芯片,内部延迟小于 1 微秒。另一个是用新一代的网络接口控制器( NIC ),它有核心旁路功能,它允许应用直接与 NIC 通信,发送和接收数据包,而不需要计算机核心操作系统介入。 数据中心一般几年会有一次停电,当停电或服务器故障时数据不能丢,这就要靠硬盘或闪存备用数据,就像今天的硬盘用磁带备用数据一样。其他容错措施还包括写备份、断电时的备份、服务器在备份前失效、存着备份数据的服务器失效、存储器服务器失效的恢复等许多问题。这些问题有点太专业,这里就不详细介绍了。 RAMCloud 现在还是一个大学的研究项目,但许多大学的研究组已经用上了 RAMCloud 的开源程序,譬如华为公司的分布式主存数据库项目。 RAMCloud 现在存在的一个问题是不支持关系数据库,因为目前还没有一个存储系统支持关系数据库。所以,现在还不太适用于已有企业级的应用。 上图显示 RAMCloud 自动数据恢复。当服务器失效,只要几秒钟就能实现在线恢复,用户根本感知不到。对云计算数据中心非常适用。一个数据中心有 100 万 CPU 核, 1 千万亿字节的数据,任意核可以在 5-10 微秒内存取任意的数据,速度比现在快 1000 倍。 这个程序就是多用 DRAM ,不用硬盘,基本就是一个软件。但核心问题是容错。这么多机器,这么多数据,一旦发生读写错误,如何自动纠正?一旦某一个机器失效,或者某一个存储器失效,如何发现?如何自动恢复?这些容错的老问题在大数据中心的环境下表现出来更大的复杂性。在 1970 年代 IBM 推出 360 的时候,主要是磁心存储器不可靠,容易出错,所以才出现了容错技术。而今天, DRAM 很可靠,但是,太多太大,管理、存储、电源任何一个环节出问题,就使系统不可靠。所以,容错技术仍然不可缺少。谈到容错,大家就想起备用冗余。但是,备用有一系列的深层次问题,不像带两个相机,坏了一个用另一个那么简单。最近,本人在金华的可信计算会议上有一个报告,叫“软件定义的网络中的容错”,大家如果有兴趣,以后可以写一写。
个人分类: 计算机|9307 次阅读|12 个评论
[转载]“非精确”(inexact)计算机芯片
crossludo 2012-5-30 09:35
“非精确”(inexact)计算机芯片 与传统的图像处理(左)相比,利用非精确加法器来处理图像,小于0.54%的错误几乎难以察觉(中),而错误率高达7.58%时仍可获得可辨认的图像(右)。 非精确芯片原型。 今日视点 在过去的50年中,“精确”是整个计算机芯片行业始终追求的目标。然而,美国赖斯大学的研究人员表示,他们新开发的则是“非精确”(inexact)计算机芯片。这种芯片的设计由于允许处理过程偶尔出现错误,因此提高了芯片的处理能力和资源的使用效率。 近日,在意大利召开的计算机协会(ACM)国际计算前沿会议上,研究人员展示了他们开发的计算机芯片样品,同时关于非精确芯片的论文获得了大会最佳论文奖。据悉,参与研究项目的科研人员除来自赖斯大学外,还有的来自新加坡南洋工学院、瑞士电子和微技术中心以及美国加州大学伯克利分校。 允许出现适当错误来减少能耗 研究项目负责人、可持续和应用信息动态研究所(由赖斯大学和南洋工学院合办)主任克瑞西纳·帕莱姆表示,他们的研究始于2003年,新的进展说明人们有可能从非精确芯片的研究和应用中获得极大收益,其性能达到并超过了研究人员原有的期望。 目前,可持续和应用信息动态研究所正与瑞士电子和微技术中心合作,共同研发耗电少的下一代非精确芯片新技术。计算机协会国际计算前沿会议联合主席、惠普实验室著名技术专家保罗·法拉伯奇说, 关于非精确芯片的论文得到了此次会议所有分会同行的最高评价,近似计算的研究完全符合计算前沿会议的前瞻性特征,它为低能耗地综合利用非精确硬件和传统处理元件打开了大门。 研究人员说,非精确芯片低能耗概念十分简单,那就是允许处理单元出现适当的错误而减少能耗。通过聪明地管理处理错误率和限定产生错误的计算,芯片研究人员发现,他们能够在减少能耗的同时极大地促进芯片性能。 “修剪”是非精确芯片设计方法的一个例子,它是指去掉传统芯片数字电路中某些很少使用的部分。另一个例子名为“电压限制调节”,它用损失部分计算性能来提高处理速度以实现进一步减少能耗的目标。 在2011年的测试中,研究人员发现,通过“修剪”传统设计芯片,能以3种方式提高芯片的性能:速度提高两倍、能耗减少50%以及尺寸缩小一半。在新完成的研究中,他们深入钻研并将更多理念用于最初的芯片处理元件中,将芯片能耗、尺寸和速度方面的收益因素考虑进来,非精确芯片的效率比普通芯片提高了7.5倍。如果让芯片的出错率达到8%,那么非精确芯片的效率将提高15倍。 非精确芯片已投入多种应用 瑞士电子和微技术中心负责合作项目的研究人员克里斯蒂安·恩兹表示,某些特殊的应用能够容忍相当大的错误。举例来说,人眼本身具有错误纠正机制,利用非精确加法器来处理图像显示,小于0.54%的错误几乎难以察觉,而错误率高达7.5%时仍可获得可辨认的图像。 帕莱姆认为,“修剪”技术先期的应用可以是特殊应用处理器方面,如用于助听器、照相机和其他电子产品的芯片上。 非精确芯片是可持续和应用信息动态研究所开发的I平板教育电脑的主要部件,该电脑成本低廉,专门为印度无电力供应和缺少教师的学校所设计。印度官方还在今年3月宣布了未来3年为初中和高中提供5万台I平板电脑的计划。 I平板电脑的硬件和图像内容已在开发中,非精确芯片的使用有望将能耗减少50%,能够使用小型太阳能电池板为其提供电能,如同常见的太阳能计算器。帕莱姆表示,拥有非精确芯片的首台I平板电脑和助听器样机将在2013年推出。(驻美国记者毛黎)
个人分类: 趣味科技|1321 次阅读|0 个评论
容错计算技术的应用(110804)
热度 5 ymin 2011-8-4 15:05
容错计算技术的应用(110804) 闵应骅 723温州动车追尾事故以后,大家对容错计算技术更加关心。7月30-31日在清华大学举行的第14届全国容错计算学术会议的朋友们也鼓励我写一写容错计算的科普文章,以唤起全社会对容错计算的关注。本文不打算对容错计算的技术内容分类介绍,而是按容错计算在各行业的应用,就本人所知道的,做一些介绍。 1.容错计算在铁路的应用 铁路控制和信息系统要求高可靠、高安全。在车站,有联锁系统,把控制台、轨道电路、道岔、进路、信号机互相联锁起来。保证列车进站、出站、通过的安全和高效。过去,这套系统是用继电器电路完成的,而现在都是用计算机来完成。在区间,轨道电路反映列车的占有与否的信息,以判断该区间是否有车。在更现代化的系统中甚至还传输列车速度、位置等信息。可这些信息都是在地面的。如何传到列车上?要靠装在机车第一轮对前面的感应器传到车上。有的读者可能会问:现在无线通信这么发达,何必这么麻烦?是的,现在有线、无线、光缆传输都在用,这就是容错技术里面所说的异构的冗余方式。各种传输方式都有优缺点,要互相补充。更高端的调度集中系统、列车集中控制(CTC)系统,现在都是用计算机。为了保证安全可靠,一般都采用双模、三模或2X2冗余系统。冗余系统是容错技术的核心。但是,冗余需要决策。多机输出的结果是否一致。如果不一致,信谁的?最好的执行机构,譬如列车制动,虽然也有冗余,但总只能有一个来执行。所以,总会有所谓“单点故障”,即该点故障,必使系统失效。在这种情况下,如何保证“故障-安全”?就是说,在故障情况下,系统要倒向安全一侧。 在这次温州动车追尾事故中,据说轨道电路设备应该发红黄码字发了绿码。这就是“故障-安全”问题。在故障情况下,该显黄灯可以显红灯,但绝不能显绿灯。这就是所谓降级使用。系统在故障情况下,性能允许降低,但绝不允许危及安全。要求操作员日夜盯着显示器来保证安全是不现实的。人在控制系统中不可或缺,有时起决定作用。但是,人常常也是不可靠的因素。过去,轨道电路使用重力式继电器。由于重力是永恒的,不论在任何故障情况下,继电器落下,系统可以转到安全侧。在使用无节点元件以后,0和1是平等的。系统如何倒向安全就成了一个问题。必须采取技术措施、找出可能危及安全的具体问题,以保证以最大概率倒向安全侧。 这些问题,在早期的国际容错计算会议(FTCS)上就有多篇论文。所以,容错技术在铁路控制系统中得到了广泛的应用,而且是非它不可的。在我国现在GDP占世界第二位以后,钱不是个大问题。所以,硬件的冗余是基本足够的。我们的安全投入大多是添置新的硬件措施,而软件方面就可能有缺陷。我们更需要在软件可靠性上下功夫。 2.容错计算在航空上的应用 大飞机是我国近年启动的重大项目。在飞机上的控制系统和地面的信息系统都是采用容错的计算机系统。飞机上是采用四模冗余系统,来保证飞机的安全飞行。当一套系统故障时,下一套系统可以进行控制。而地面的空中信息系统,则把空间分割成长方体,在每一个长方体内只允许有一架飞机,保证飞机不会在空中相橦。可这些系统要求必须高可靠。任何一点闪失都可能导致飞机失事。当然,保证飞机的安全飞行,不光是信息技术的问题,飞机的材料、设计、制造都有大量问题与安全有关。 3.容错计算在航天的应用 容错计算的祖师爷应该算美国加州大学洛杉矶分校的A. Avizienis,他1960年代就为美国国家航空航天局(NASA)研制出了STAR(自测试和自修复)计算机,从而建立了容错计算这一学科领域。任何航天器要在空间长期停留,火箭要能保证发射成功,都必须容错,也就是必须有第二手、第三手准备。而计算机要容错,在没有人的干预的情况下,必须有自测试、自修复的能力。这方面的技术,现在当然已经有了很大的发展。 4.容错技术在事务处理中的应用 事务处理,包括银行、证券、金融、电信等方面,可靠性要求很高,必须容错。否则就会造成财产损失。我国近年来各大银行都使用国外的高性能容错服务器,中国2006年的高端服务器市场规模达到96亿元人民币,销售量达到22300台,销售额增长率达到10.4%。国内高端服务器市场销售额市场基本被IBM、HP、SGI、SUN等国外高性能服务器厂商垄断,其市场占有率达到95.6%。光IBM一家就是34亿,占35%。我国金融、电信行业为什么这么青睐他们的计算机呢?很重要的是要求容错、高可靠、高可用。所以,十一五期间国家投资10多亿,由浪潮、华为,哈工大等单位研制高端容错计算机。期待有一天,我国的银行、证券、金融、电信部门,都能用上我国自己生产的高端容错计算机。我国多次出现的ATM故障,使普通老百姓也很体会到银行计算机系统的可靠性多么重要,不用容错技术就无法达到理想的可靠性水平。 5.容错技术在半导体产业的应用 半导体产业是信息技术的基础。集成电路现在到处都在用,而其质量至关重要。而要保证集成电路芯片质量,首先就是问:厂家销售出来的每一个芯片是不是都是好的?这就必须要测试,测试在整个设计、制造过程中都不可缺少。所以,测试本身也形成了产业。测试的一些理论问题,如测试模式的自动产生、可测试性设计等都属于容错计算的范围。 6.容错计算在软件可靠性方面的应用 保证软件可靠性的重要手段是软件测试。软件测试已经形成产业。因为一个大型软件中,每千行程序有2-5个错误是很平常的事。软件必须经过严格测试才能上市或付诸使用。所以,软件测试要占软件开发成本的50%左右。而软件故障模式、软件测试用例生成、软件测试方法研究等都属于容错计算的范围。软件可靠性故障模型、随时间的变化过程和规律都是需要研究的。事实上,这些研究已经促进了软件可靠性的提高。 7.容错计算在超级计算机方面的应用 超级计算机是一个国家计算技术进步程度的标志。包括上百个机柜,成千上万的处理器,是一个庞然大物。一般超级计算机的正常工作时间(MTTF)也就10小时左右。要计算超过10小时的题目,就可能由于down机而半途而废,前功尽弃。即使是在这10小时以内,这么多机柜、这么多电路板、这么多元部件,出现故障是难免的。在部件出现故障的情况下,如何保持整个机器仍然能正常工作,这就是容错计算技术要处理的问题。在超级计算机内部的数据传送过程中,大量采用了差错检测码(EDC)和差错校正码(ECC)。在系统运行过程中,一个比较常用的技术是检查点(Checkpointing )技术。就是说,我们通过硬件或软件,在程序运行过程中,设置一些检查点,保存现场信息。当出现故障时,程序返回到检查点继续运行,以保持整个系统的正常运行。当电路板出现故障时,还必须方便维护。容错技术里有所谓在线拔插的技术。不要以为在线拔插很简单,在系统工作时,把板子拔下来就完了,修好了再插上去。可是,你想一想,拔下去一块板子,系统还能正常工作吗?突然插上一块板子,它能跟系统同步工作起来吗?现在,超级计算机除了高性能、低功耗之外的重要指标就是可靠性。如何提高可靠性,就靠容错技术。 以上只是就本人所知道的,介绍了容错计算技术的应用。我相信,还有许多的遗漏。希望容错技术在我国各行业的应用,能够对我国产品质量、服务水平,在安全可靠方面做出重要贡献。
个人分类: 计算机|6849 次阅读|10 个评论
从温州动车追尾事故想到的(2)(110728)
热度 13 ymin 2011-7-28 14:18
从温州动车追尾事故想到的(2)(110728) 闵应骅 温州动车追尾事故最近牵动着全国人民的心。我的上一篇博客已有6975次阅读,88个评论,在7月26日下午2时30分到4时30分,科学网举办的“解析动车追尾事故”在线访谈中,我收到了超过500个问题,实在是答不过来。今天,温家宝总理亲临现场,这次事故的分析处理提高到国家一级。通过这个过程,我从科学技术的角度,有两点体会: 1。Security和Safety两者都要抓。 在中文的翻译中,两个词都翻成“安全”。前一阵子,大家都很重视information security(信息安全),这牵涉到巩固共产党的执政地位,的确很重要。但是,safety牵涉到每个人的生命财产安全。这次温州动车追尾事故,给国人提了一个醒:在实现四个现代化的过程中,safety可以说是第一重要的。最近,桥梁、建筑、铁路、汽车、城市,各方面的事故,时有发生。有的是机器故障;有的是人为故障;有的是天灾无力防护;当然许多都是这些因素的综合。从技术上讲,fail-safe是一个系统的技术,铁路上的故障-安全原则就是这个道理。它是上了铁路规章的。意思是说,在任何元件、部件、子系统的故障情况下,必须倒向安全一侧。对铁路信号,就是显红灯;对机车控制,就是停车。真要做到这一点,可是不容易。故障情况,千差万别,无法穷举;控制过程也发生故障怎么办?软件的故障甚至测试不出来;知道了有故障,不知道故障在哪里?这就是故障诊断的问题。所有这些事,都是值得研究的技术问题,尤其是针对一个特定的系统,譬如动车控制系统。 2。容错计算不容忽视。 计算技术的研究一直很热,包括的内容很多。常有人问我:你是搞计算机的,你是搞硬件,还是搞软件的?我不太好回答,因为容错计算既与硬件有关,也与软件有关。我要是回答:软件硬件都搞。就显得太誇口了。事实上,容错计算的确既与硬件有关,也与软件有关。这一项研究领域是1970年前后,美国搞火箭、卫星开始的,后来日本搞新干线,欧洲的航空、航天、交通等方面,都促进了容错计算的发展,国际已经搞了40年,而在国内,只有一批访问学者在1980年代回国以后才开始研究。但是,人数比较少,基本上都局限在一个行业内搞容错。譬如飞机,船舶,航天和铁路等。而作为一个单独的计算领域的研究较少。我觉得,最重要的原因可能是我们对新产品、新项目、新指标,尤其是世界第一的指标太感兴趣,而对内在的质量指标、看不见的东西比较忽视。譬如,高铁跑了多少公里速度,大家都很关心;但是,高铁的可靠性和安全性的数量指标,不是没有,就是不太清楚。产品数量是看得见,拿得到钱和荣誉的,而质量、寿命可能看不见、摸不着,也就不太在意了。通过这次事故,我们懂得了:质量是生命,是第一重要的,面子要经得起考验,没有质量绝对不行。在电子信息领域,容错计算技术的研究与开发不容忽视。否则,可能要付出生命财产的代价。
个人分类: 杂谈|4569 次阅读|18 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-23 22:05

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部