在线计算机(下载计算器)

半个世纪前,世界上最小的计算机是一台可以装满一个房间的巨大机器。当晶体管和集成电路被开发出来时,计算机可以把同样的能量输入指甲大小的微芯片。那么,如果你现在做一

在线计算机(下载计算器)插图

半个世纪前,世界上最小的计算机是一台可以装满一个房间的巨大机器。当晶体管和集成电路被开发出来时,计算机可以把同样的能量输入指甲大小的微芯片。那么,如果你现在做一个房间大小的电脑,用同样的芯片填充,会怎么样呢?你得到的是一台超级计算机——一台比台式计算机快数百万倍的计算机,可以解决世界上最复杂的科学问题。超级计算机与你现在使用的机器有什么不同?

与通用计算机相比,超级计算机具有更高的性能水平。超级计算机的性能是以每秒浮点运算次数(FLOPS)来衡量的,而不是每秒百万条指令(MIPS)。超级计算机包含数万个处理器,每秒可以执行数十亿甚至数万亿次计算。一些超级计算机可以执行10万亿次故障。因为信息在超级计算机的处理器之间快速移动(与分布式计算系统相比),所以它们是实时应用的理想选择。

超级计算机用于数据密集型和计算密集型的科学和工程目的,如量子力学、天气预报、石油和天然气勘探、分子建模、物理模拟、空空气动力学、核聚变研究和密码分析。早期的操作系统是为每台超级计算机定制的,以提高其速度。近年来,超级计算机的体系结构已经从私有的内部操作系统转变为Linux。虽然大多数超级计算机使用基于Linux的操作系统,但每个制造商都优化自己的Linux衍生品,以实现最佳的硬件性能。2017年,全球超级计算机50强中有一半使用了SUSE Enterprise Linux服务器。

最大和最强大的超级计算机实际上是许多执行并行处理的计算机。现在很多需要强大处理能力的学术科研公司、工程公司、大型企业都在使用云计算,而不是超级计算机。通过云计算的高性能计算(HPC)比本地超级计算机更经济、可扩展、升级更快。

目录什么是超级计算机超级计算机的历史为什么超级计算机使用并行处理?大规模并行计算机超级计算机有多强大超级计算机是做什么的超级计算机的应用什么是超级计算机?

在开始讨论这个问题之前,我们先了解一下什么是计算机:计算机是一种通用的机器,它通过一个叫做输入的过程接收信息(数据),并对其进行存储和处理,然后产生某种输出(结果)。超级计算机不仅仅是一台快速或非常大的计算机:它以完全不同的方式工作,通常使用并行处理,而不是普通计算机使用的串行处理。它不是一次做一件事,而是同时做很多事。

与其他通用计算机相比,超级计算机具有巨大的性能,因为它的架构和运行模式依赖于并行和网格处理。设计超级计算机的主要动机是用于需要更多计算能力的大型组织。

超级计算机有能力在数千个处理器上同时执行多个进程。由于这类处理器每秒可执行数十亿甚至万亿条指令,其计算性能矩阵为FLOPS(即每秒浮点运算)。

在线计算机(下载计算器)插图(1)

串行并行处理

串行和并行有什么区别?一台普通的计算机一次只做一件事,所以它在一系列不同的操作中做事;这被称为串行处理。这有点像一个人坐在杂货店的收银台,从传送带上拿东西,通过扫描仪扫描,然后传给你,让你放进袋子里。你把东西装到传送带上或打包的速度有多快并不重要:你结账的速度完全取决于操作员扫描和处理货物的速度,每次都是商品。(自从计算机首次出现以来,大多数计算机都是通过简单的串行处理来工作的,其灵感来自于一种叫做图灵机的基础理论设计,这种设计最初是由艾伦·图灵构思的。)

典型的现代超级计算机运行速度要快得多。它把问题分解成多个部分,同时处理多个部分,这就是所谓的并行处理。这就像你带着一个装满商品的巨大购物车来到收银台,然后把你的商品分发给几个不同的朋友。每个朋友可以用一些商品分别结账,然后分别付款。一旦你们都付了钱,你们可以再次聚在一起,把东西放进购物车,然后离开。项目越多,朋友越多,并行处理越快——至少理论上是这样。并行处理更像是我们大脑中发生的事情。

超级计算机的历史

谁发明了超级计算机?

研究计算机的历史,你会立即注意到一件事:没有人可以声称发明了这些神奇的机器。可以说,对于超级计算机来说,情况并非如此。一般认为,超级计算机的巨大成就应归功于一个人——西摩·克雷(1925-1996)。

1946年:John Mauchly和J. Presper Eckert在宾夕法尼亚大学建造了ENIAC(电子数值积分和计算机)。这是第一台通用电子计算机,长25米(80英尺),重30吨,由于它被用于军事科学问题,可以说是第一个科学上的超级计算机。1953年:IBM开发了它的第一台通用主机计算机,IBM 701(也被称为国防计算器),并向各种政府和军事机构出售了大约20台机器。701可以说是第一台现成的超级计算机。IBM工程师Gene Amdahl后来重新设计了机器,使IBM 704,一个能够5 KFLOPS (5000 FLOPS)的机器。1956年:IBM为洛斯阿拉莫斯国家实验室开发Stretch超级计算机。直到1964年,它一直是世界上最快的计算机。1957年:西摩·克雷(Seymour Cray)联合创立了控制数据公司(Control Data Corporation, CDC),并成为了快速、晶体管化、高性能计算机的先驱,包括CDC 1604(1958年发布)和6600(1964年发布),它们严重挑战了IBM在大型机计算领域的主导地位。1972年:Cray离开控制数据公司,成立Cray研究公司,开发高端计算机——第一个真正的超级计算机。他的一个关键想法是减少机器内部组件之间的连接长度,以帮助它们更快。这也是早期Cray电脑呈c形的部分原因,尽管不同寻常的圆形设计(以及亮蓝色或红色的机箱)也有助于将它们与竞争对手区分开来。1976年:第一台cray1超级计算机安装在洛斯阿拉莫斯国家实验室。它的速度约为160 MFLOPS。1979年:Cray开发了一款速度更快的机型——拥有8个处理器的1.9 GFLOP Cray-2。在Cray-1中,电线连接最长为120厘米(4英尺),而在Cray-2中,它们只有41厘米(16英寸)。1983年:思考机器公司推出大规模并行连接机,拥有64,000个并行处理器。1989年:Seymour Cray创办了一家新公司Cray Computer,在那里他开发了Cray-3和Cray-4。20世纪90年代:国防开支的削减和强大的RISC工作站的崛起,由硅图形公司制造,对超级计算机制造商的财务生存能力构成了严重的威胁。1993年:富士通数值风洞计算机成为世界上使用166个矢量处理器最快的计算机。1994年:Thinking Machines申请破产保护。1995年:Cray电脑公司陷入财务困境,申请破产保护。不幸的是,1996年10月5日,西摩·克雷(Seymour Cray)在车祸中受伤后去世。1996年:Cray Research (Cray最初的公司)被Silicon Graphics收购。1997年:由英特尔和桑迪亚国家实验室用奔腾处理器制造的超级计算机ASCI Red,成为世界上第一台teraflop (TFLOP)超级计算机。1997年:IBM的深蓝超级计算机在国际象棋比赛中击败了加里·卡斯帕罗夫。2008年:由克雷研究所和橡树岭国家实验室建造的“美洲虎”超级计算机成为世界上第一台千万亿次浮点运算(PFLOP)科学超级计算机。它曾一度是世界上速度最快的计算机,但很快就被日本和中国的计算机所取代。2011-2013年:“美洲虎”被大规模升级(并且花费巨大),更名为“泰坦”,在被中国的“天河2号”取代之前,它曾一度成为世界上最快的超级计算机。2014年:Mont-Blanc,一个欧洲财团,宣布计划用节能智能手机和平板电脑处理器建造一台exaflop (1018flops)超级计算机。2017年:中国科学家宣布,他们将很快推出一台exaflop超级计算机的原型机,预计将基于天河二号。2018年:2018年6月,橡树岭的新Summit 200-petaflop超级计算机在全球最快的500台超级计算机中为美国夺回了前500名的位置。2020年:尽管全球500强前10名中美国占据了4席,但中国总体上占据了主导地位:2020年6月,中国以114台机器领先美国226台;2017年,中国以202台机器领先,达到143台。一年前,两国各自拥有171台机器。2020年:日本的Fugaku成为世界顶级超级计算机,其惊人的性能达到415.5千万亿次每秒(几乎是之前纪录保持者Summit的三倍)。Fugaku安装在日本神户的理研计算科学中心(R-CCS)。为什么超级计算机使用并行处理?

我们中的大多数人都在用电脑做一些非常琐碎的日常事情,这些事情对电脑没有任何负担:浏览网页、发送电子邮件和编写文档只需要一点点处理能力,而在一台普通的电脑上。但如果你尝试做一些更复杂的事情,比如改变一张大幅数码照片的颜色,你就会知道,你的计算机偶尔需要努力做一些事情:对一张非常大的数码照片执行非常复杂的操作可能需要一分钟左右。如果你玩电脑游戏,你会意识到你的电脑需要一个快速的处理器芯片和大量的“工作内存”(RAM),否则它会很慢。添加一个更快的处理器或增加一倍的内存,你的计算机的速度将显著提高——但它的速度仍然有限:一个处理器通常一次只能做一件事。

现在假设你是一名科学家,负责预测天气,测试一种新的抗癌药物,或者模拟2050年的气候。这样的问题甚至把世界上最好的计算机推到了极限。正如你可以升级一台台式机,让它拥有更好的处理器和更大的内存一样,你也可以升级一台世界一流的电脑。但是处理器的工作速度还是有限的,更多的内存也只能起到这么大的作用。最好的方法是使用并行处理:添加更多的处理器,将问题分成块,让每个处理器并行处理问题的一个单独的块。

谁拥有最多的超级计算机?

世界上最强大的500台机器中约有四分之三集中在五个国家:中国(37.6%)、美国(24.4%)、日本(6.8%)、德国(4.6%)和法国(3.2%)。虽然目前为止中国机器最多,但是美国机器的整体性能要高很多(根据TOP500的分析,美国机器的整体性能几乎是中国的两倍)。

大规模并行计算机

一旦计算机科学家搞清楚了并行处理的基本概念,就有必要添加越来越多的处理器:当你的计算机可以拥有数百甚至数千个处理器时,为什么要拥有两个或三个处理器?从20世纪90年代开始,超级计算机通常使用数千个处理器进行所谓的大规模并行处理;2020年7月,世界上处理器最多的超级计算机神威太湖之光拥有大约40960个处理器模块,每个模块有260个处理器核心,这意味着总共有10649600个处理器核心!是目前世界上第四强大的机器。)

不幸的是,并行处理有一个固有的缺点。让我们回到超市的类比。如果你和你的朋友决定分手,你和多个收银员的购物体验,节省下来的时间显然是减少你一个人去的时间,找到谁会买,最后再聚的一种方式。我们可以直观地猜测,超级计算机的处理器越多,分解问题、重组问题以充分利用并行处理的难度可能就越大。此外,需要某种集中式管理系统或协调器来划分问题,在所有不同的处理器之间分配和控制工作负载,并重新组合结果,这也带来了开销。

对于一个简单的问题,比如支付购物车的费用,这并不是一个真正的问题。但是想象一下,如果你的购物车里有10亿件商品,你有65000个朋友帮你结账。如果你有一个问题(比如预测下周的世界天气),它似乎被整齐地分成几个子问题(对每个独立国家的预测),这是一回事。科学家们将这种可以轻松分解为独立部分的复杂问题称为令人尴尬的并行计算(EPC)——因为它们很容易分解。

但是大多数问题都没有解决的那么清楚。一个国家的天气很大程度上取决于其他地方的天气,所以在做一个国家的天气预报时,需要考虑其他地方的天气预报。通常情况下,超级计算机中的并行处理器在解决自己的问题时需要相互通信。或者,一个处理器可能必须等待另一个处理器的结果,然后才能执行特定的作业。大规模并行计算机处理的典型问题会落在两个极端之间,一个是完全串行的问题(每一步都必须按照精确的顺序完成),另一个是令人尴尬的并行问题;虽然有些部分可以并行解决,但其他部分需要串行解决。计算定律(称为阿姆达尔定律,以计算机先驱吉恩·阿姆达尔的名字命名)解释了问题的串行部分如何有效地确定通过使用并行系统可以实现的最大速度提高。

你可以制造一台超级计算机,用处理器装满一个巨大的盒子,让它们通过大规模并行处理来合作解决一个复杂的问题。或者,你可以买很多现成的PC,放在同一个房间里,然后用一个非常快的局域网(LAN)连接起来,这样它们的工作方式大致相同。这台超级计算机叫做集群。谷歌通过分布在世界各地数据中心的现成计算机集群为用户进行网络搜索。

格子

网格是一种类似于集群的超级计算机(它由独立的计算机组成),但这些计算机位于不同的位置,并通过互联网(或其他计算机网络)连接在一起。这是一个分布式计算的例子,这意味着计算机的能力分布在多个位置,而不是位于单个地方(有时称为集中式计算)。

超级计算主要有两种类型。一个是我们在大学里可能有十几台功能强大的大型计算机,它们通过一个网络连接在一起,形成一个超级计算机网格。并不是所有的计算机都会一直活跃在网格中工作,但一般来说,我们知道哪些计算机组成了网络。这种系统的一个例子是欧洲粒子物理研究所的全球大型强子对撞机(LHC)计算网格,用于处理来自LHC粒子加速器的数据。它包括两级计算机系统,其中11个主要(一级)计算机中心通过专用网络直接与CERN实验室相连,这是它自己和全球160个小型(二级)计算机中心(主要在大学和其他研究中心)的组合,使用互联网和专用网络。

另一个网格更加特殊和非正式,涉及更多的个人计算机——通常是普通的家用计算机。有一些在线计算项目,如SETI @ home、GIMPS、Fighting AIDS @ home、Folding @ home、Milkyway @ home,其中个人计算机被用作非正式和特殊超级计算机网格的一部分。这种方法被称为机会主义超级计算,因为它利用了当时碰巧可用的任何计算机。像这样的网格,通过互联网连接,最适合解决尴尬的并行问题,这些问题可以很容易地分成完全独立的块。

超级计算机有多强大?

看一下普通计算机的规格,你会发现它们的性能通常用MIPS(每秒百万条指令)来表示,也就是基本编程命令(读、写、存储等)的数量。)是处理器可以管理的。通过比较两台PC可以处理的MIPS数量(甚至它们的处理器速度,通常以千兆赫或GHz为单位),就可以很容易地比较两台PC。

超级计算机有不同的评价。因为它们被用于科学计算,所以它们是根据每秒可以完成多少次浮点运算(FLOPS)来测量的,这是一种基于它们实际尝试做什么的更有意义的测量(与MIPS不同,这是一种对它们如何尝试做的测量)。

超级计算机实际上是做什么的?

在线计算机(下载计算器)插图(2)

通用机器可以有多种用途:你可以通过运行不同的程序在电脑上发送电子邮件、玩游戏、编辑照片或做其他任何事情。如果你用的是高端手机,比如安卓手机、iPhone或者iPod Touch,那么你拥有的就是一台功能强大的掌上电脑,可以通过加载不同的“应用”(application)来运行程序,应用只是电脑程序的另一种称呼。超级计算机略有不同。

通常,超级计算机用于复杂和数学密集型的科学问题,包括模拟核导弹试验、预测天气、模拟气候和测试加密强度(计算机安全代码)。理论上,通用超级计算机可以用于任何事情。

虽然一些超级计算机是通用机器,可以用于各种科学问题,但一些超级计算机是为了做非常具体的工作而设计的。最近,最著名的两台超级计算机就是这样设计的。1997年,IBM推出深蓝机器,专门用来下棋(对阵俄罗斯象棋大师加里·卡斯帕罗夫)。后来,沃森机器(以IBM创始人托马斯·沃森和他的儿子命名)被用来玩Jeopardy。像这样专门设计的机器可以针对特定问题进行优化;例如,“深蓝”旨在搜索巨大的数据库中潜在的国际象棋走法,并评估在特定情况下哪一步棋是最好的,而“沃森”旨在分析用(自然)人类语言表达的困难的一般知识问题。

超级计算机的应用

超级计算机有许多应用,例如

生物领域:

一般来说,超级计算机用于诊断各种疾病,并为中风、脑损伤和体内其他血液流动问题提供帮助。

军事和国防任务:

超级计算有助于为核爆炸和武器弹道提供虚拟测试。

气候模型:

超级计算机应用可以研究和理解气候模式。

航空空行业:

借助超级计算机,为新手飞行员设计飞行模拟器,有助于新手飞行员的训练。

天气预报:

为了收集与天气预报有关的信息,超级计算机被委以重任。

科学研究:

我们在天气和科学研究领域依赖超级计算机,因为我们需要分析探索太阳系、绕地球运行的卫星和其他领域(如核研究)的数据。

高级数据库:(数据挖掘)

一些大型企业需要超级计算机从数据仓库或云系统中提取有用的信息。比如保险公司。

金融市场:

在比特币和股票市场等新兴网络货币世界中,超级计算机在真正的金融成功中发挥着至关重要的作用。

汽车模拟环境:

超级计算机帮助人们购买汽车,因为消费者可以在购买汽车之前通过超级计算机创建的模拟环境进行测试。

烟雾控制系统:

科学家们在自己的实验室中使用超级计算机来预测特定地区的雾和其他污染水平,然后采取最后一步来防止它们。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/100191.html

发表回复

登录后才能评论