• 1
  • 2
  • 3
  • 4
  • 5
阿里云应用开发 首 页  »  帮助中心  »  云服务器  »  阿里云应用开发
诺贝尔物理学奖背后的计算机技术
发布日期:2016-8-1 16:8:12

  在《量子杂志》上近日刊登了一篇文章,讲述量子物理学研究的过程中,各种计算机技术的变迁,作者是物理学的专栏作家,文中并没有谈及专业的计算机技术细节,但是也提供给我们一个新的视角去看待近年来计算机技术的发展。下面为译文:

  2013年诺贝尔物理学奖在10月8日在瑞典揭晓, 比利时理论物理学家François Englert于英国理论物理学家Peter W. Higgs因希格斯玻色子的理论预言获奖,2012年这一预言在位于瑞士的CERN(欧洲核子中心)粒子物理实验室中得到证实。


  图1

  在CERN的 LHC(大型强子对撞机)中,亚原子颗粒不停高速碰撞,产生新的粒子,四个监视器在持续记录这些粒子的情况,每秒产生的数据量高达5TB,相当于全球图书馆数据量的总和。这些数据被滤波算法处理后,99%以上的数据都被过滤掉了,但每年这个系统需要存储与处理的数据仍然高达25PB。正是在这数以十亿计的粒子对撞结果中,研究组提取到了希格斯粒子存在的证据。支撑这些数据计算的是遍布全球的160个数据中心,这个分布式网络的数据传输速率最高可达10GB/S。LHC解决大数据问题的方法反映了近十年来计算本质的戏剧性变化。

  1、从摩尔定律到多核技术

  自1965年摩尔定律被Intel联合创始人Gordon E. Moore提出以来,就一直主导着计算机产业。根据摩尔定律,集成电路中的晶体管数量每隔两年会增加一倍,目前看来,这个速度是极具弹性的。麻省理工学院理论计算机科学家 Scott Aaronson认为“摩尔定律已基本失效”。

  许多计算能力的增长自2005年以来都来自多核技术带来的并发性上。更快的处理器固然重要,但是已不再居首位。斯坦福大学电气工程师 Stephen Boyd认为“5年来,处理器速度对于计算能力的提高已不多了,解决问题的挑战并不在于怎样利用一个超快的处理器,而是怎样整合10万个较慢的处理器”。Aaronson指出简单地增加并行处理并不能够充分解决大数据问题,这些问题能够更连续,有时可分割成小任务分配给多个处理器,有时候很难做到分割,且这些处理器也很难得到充分利用。好比是20个人完成一项工作,通常情况下并不能够达到20倍的速度。

  2、数据传输的问题

  在集成不同架构的数据集时,研究人员也面临着挑战,同时,在一个高度分布式的网络中有效传输数据也面临巨大困难。随着数据集的规模与复杂性不断增长,这个问题会变得愈发明显。据加州科技学会物理学家 Harvey Newman(他的团队开发LHC的网格数据中心与横跨大西洋的网络系统)。他估计照目前的形势发展,LHC数据处理系统的计算能力将不能再满足需求,甚至需要重新设计,阿里云是否也是这样做的呢。

  3、内存与数据传输

  数据传输有时比处理延时更耗时,Aaronson说:“计算机运行慢的原因不一定是微处理器的问题,还有可能是因为微处理器在等从磁盘传来的数据。”大数据研究人员更喜欢数据传输时间尽可能的少,原因是存储在分布式网络或云端的数据会使情况恶化。

  4、分布式计算

  解决这个问题的方案之一是使用新的模式:除存储,分析数据也采用分布式的方法。LHC的方案就类似于这种模式,对撞机中的产生的原始数据被存储在瑞士的CERN研究设备中,此外还有一份备份数据被按批量划分并分布到世界各地的数据中心。每个数据中心对各自的数据块进行处理,然后在处理下一批数据前,将处理结果发送给各地区的计算机。

  Boyd的系统基于所谓的 一致性算法,他介绍说:“这是一个数学优化问题,用以前的数据‘教育’这个系统来处理未来的数据。”这个算法在SPAM过滤器中也得到了很好的应用。

  当问题变得太大的时候,一致性优化方法非常有效,数据集被分割成块,分布在1000个“代理”中分别处理,并且产生一个数据模型。关键是要满足临界条件:每个“代理”的模型可不同,但是最后这些模型要达成一致。

  在Boyd的系统中,这个过程是迭代的,创建一个反馈环路,所有的代理会共享初始情况的一致状态,继而根据新的信息更新各自的模型,并且达到新的一致状态。这个过程不断重复,直到所有的代理都达成一致。采用这种分布优化的方法可显著减小每次需要传输的数据量。

  5、量子计算

  去年的纳帕谷会议上,MIT的物理学家 Seth Lloyd引起了Sergey Brin与Larry Page的关注。在演讲中Lloyd提出了一个量子版本的Google搜索引擎,在对用户的搜索关键词情况下,Google用户也可做查询和收到结果。但第二天Lloyd被告知这个方案和Google的商业计划有冲突。Lloyd开玩笑说:“Google想要对他们的每个用户做到了如指掌”。量子计算机可提供强大的处理能力,对于某些复杂算法可大幅度提高速度。事实上,Google从一家加拿大公司D-Wave以1500万美元购买了所谓的量子计算机, 尽管这个项目目前也面临一些问题。

  Aaronson认为量子计算机并不是并行地尝试所有可能的答案,它同并行处理有着本质上的不同。普通的计算机用0或者1来存储数据,量子计算机有着更多的状态位。例如,抛硬币的结果只能是正面朝上或背面朝上。但从技术上来说,在看到结果前,量子状态下的硬币正面朝上还是背面朝上是不确定的。


  图2

  6、量子学的宏观解释:著名的薛定谔猫

  一个真正的量子计算机可将信息编码为所谓的量子比特——同时为0与1的 叠加态。这样做可将处理复杂问题的时间从几年缩短到几秒。这种设想很美好,实现起来并不容易,尤其是由于这样一个设备对外界的干扰非常敏感,轻微的扰动都相当于将抛硬币的结果“公之于众”,量子的叠加态也将消失。

  然而,Aaronson认为不要对量子计算机报太大期望,即使量子计算能实现,它们也仅适用于特定的问题。例如,模拟量子力学系统或用于经典密码学的密码破解,然而有一种大数据问题是量子计算可处理的:对大量的无序数据集进行检索,例如随机排列的电话本。

  1996年,贝尔实验室的 Lov Grover提出了这个问题的量子计算算法,但是Aaronson说:“真正实现这个算法时,你需要一个原子内存可在量子叠加态被访问,同时保证这种访问不会破坏量子叠加态。”

  换而言之,你需要一个量子RAM(A-RAM),Lloyd曾开发过一个概念原型以及一个用于机器学习的应用程序,他称之为Q-App。他认为这个系统可在不查看个人记录的情况下,找到数据的模式,从而保持原子的叠加态与用户的隐私。“可在同一时间高效地访问这数亿条数据,事实上你并没有访问这些数据,你只是在访问它们的共同特征。”

  Lloyd认为若拥有一个足够大的量子RAM,量子计算尤其适用于在大量的数据集中找出规律的机器学习算法,例如确定某个关键字相关联的集群数据,或者拥有共同特性的数据块。

  若构建一个存储了地球上所有人基因的数据库,可利用Lloyd的量子算法查询不同基因的共同模式,这个过程中只会访问一小部分个人数据,且耗时很少。随着人类基因组排序成本下降,以及商业基因服务的价格上升,未来很有可能会出现这样的数据库。假设一个基因组占60亿字节的话,这可能将是全球最大的数据集。

  7、数据聚合是未来


  图3

  谷歌的计算机科学家 Alon Halevy认为大数据领域的最重大突破可能将来自于数据集成——特别是跨数据集的集成。不论你的计算机速度有多快,或者计算机集群做得有多好,真正的问题还是来自于数据层面。例如,一个原始的数据集可能包括成千上万个遍布全球的表格,看似简单的全球咖啡生产量查询操作,后台整合的复杂度却出人意料。

  NASA喷气推进实验室资深计算机科学家兼 Apache软件基金会董事Chris Mattmann就面临这样一个复杂问题,他正在进行一项研究项目,整合两个不同来源的天气信息:来自卫星的气象遥感信息以及计算机模拟的天气模型输出。IPCC(政府间气候变化专门委员会)会对这些天气模型和遥感数据进行比较,来确定最适合的模型,而这些模型都采用不同类型的数据。

  许多研究人员强调有必要开发灵活的工具处理不同类型的数据。Mattmann提到一个名为Tika的Apache软件程序,这个程序允许用户整合1200常用文件类型的数据,但是有时候需要一些人工干预的工作。最终,Mattmann选择了一个可整合不同结构数据集的完全自动化智能软件。

  同时跨数据集的整合也需要一个协调性比较好的分布式网路系统。LHC在加州理工学院的Newman的研究小组负责监控成千上万的处理器以及十几个主要网络链接。Newsman预测大数据计算的未来在于各智能代理间的互相协调,在网络各个节点跟踪数据的行为,从而识别瓶颈与调度处理任务。每个可能仅记录本地发生的事情,但会以这种方式向整个网络共享信息。

  Newman说:“不同层级中,成千上万的代理互相协调,帮助人类理解这个复杂和分布的系统中正在发生的事情。”未来这个数据量将会更大,当这些智能代理达到数十亿时,将会形成一个巨大的遍布全球的分布式智能实体。