前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >美国为何封杀中国超算!一文读懂超级计算机的应用、架构和软件知识

美国为何封杀中国超算!一文读懂超级计算机的应用、架构和软件知识

作者头像
PP鲁
发布2019-12-26 14:32:22
1.9K0
发布2019-12-26 14:32:22
举报
文章被收录于专栏:皮皮鲁的AI星球皮皮鲁的AI星球

2019年5月,美国商务部将华为列入了出口管制的“实体清单”,华为被推向了这波中美对抗的风口浪尖。紧随其后,6月,特朗普政府又对其他几家中国机构实行了限制出口政策,包括中科曙光、江南计算技术研究所、成都海光等。其中,中科曙光和江南计算技术研究所均为中国超级计算机研发机构,中科曙光研发了“曙光”系列,江南计算技术研究所研发了“神威”系列。另外一个国产超算巨头“天河”相关单位早在2015年就被纳入了实体清单。至此,国产超算三巨头“天河”、“曙光”和“神威”均已被特朗普政府封杀。继“华为禁令”之后,“超算禁令”再次暴露美国欲限制中国发展的野心。那何为“超算”?本文将简述超级计算机的背景知识与发展现状。

超级计算机简介

与普通的个人电脑和服务器相比,超级计算机(Supercomputer)是一种计算力极强的计算机,学术界通常称这一领域为高性能计算(High-Performance Computing)。超级计算机主要为最顶尖的科学研究服务,包括核聚变、石油勘探、量子力学、气候模拟、癌症研究、基因组学、分子动力学、飞机和航天器空气动力学、量化金融和计量经济以及当前火热的各类民用人工智能。可见,超级计算机的服务对象是科学研究领域最前沿的方向,也是一个国家的技术命脉。

随着我国科研实力的提升,近年来,我国在超级计算机的研发领域也硕果累累。在超算领域,有一个TOP500的排名,就像世界各大学排名一样,每隔半年都会重新评估一次。历史上,这个清单曾一直被美国、日本、欧洲等国家的超级计算机霸占榜单。进入21世纪以来,多台来自中国的超级计算机开始夺得榜单第一。2019年的TOP500,排名第一的是美国能源局下属Oak Ridge国家实验室的Summit,排名第二的是加州大学伯克利分校Lawrence Livermore国家实验室的Sierra,排名第三的就是中国的神威太湖之光,第四是中国的天河。前五名,中国占了2名,美国占了3名。前十名其他超级计算机主要分布在欧洲和日本。

2019年6月世界TOP500超级计算机分布图 来源:top500.org

看到前文所述超算的应用领域,以及中国不断增强的超算影响力,对于美国来说,是满满的危机感,也就不难理解为何特朗普要先封华为,再杀超算了。

除了国家级的超算中心,各个高校都建有自己的计算中心,不少国内外知名高校的计算中心也位列TOP500中,为本校的科研提供计算支持。在校师生能够以很低的价格获得计算资源,是一个非常大的福利。超算对于很多学科的研究生来说,并不遥远,而且将陪伴他们整个研究生涯。

超算的硬件架构

尽管超算的应用领域高大上,但其背后的计算机技术并没有那么神秘。

与普通的计算机相比,超级计算机由超多个计算节点组成,其中节点指单台计算机。每个节点配有CPU、GPU以及专用处理器,节点之间用高速网络互联。目前,所有TOP500的超级计算机均运行的是Linux操作系统。

超级计算机硬件示意图

例如当前排名第一的Summit使用了4608个计算机节点,共9216个IBM POWER9 CPU和27648个英伟达Tesla GPU。Summit上运行的操作系统是Red Hat Enterprise Linux(RHEL),我在上一篇文章中提到了这个操作系统。

再来看看曾夺得TOP500第一名的天河二号。天河二号拥有16000个计算机节点,每个节点配备2个Intel Ivy Bridge架构Xeon处理器和3个Xeon Phi协处理器,共计3,120,000个计算核心。天河2号上运行的是国防科技大学开发的麒麟(Kylin Linux)操作系统。Ivy Bridge其实离我们的生活并不遥远,2012年以来个人电脑上的酷睿i3、i5和i7 CPU都是Ivy Bridge架构,只是天河2号上使用的这款CPU经常应用在服务器上,计算核心更多。

历史上,超级计算机的计算节点只有CPU,后来研究人员发现GPU在计算加速上有天然优势,于是开始将GPU加入到超级计算机上,"CPU + GPU"和“CPU + 协处理器”的组合被称为异构计算。随着各类芯片技术的成熟,未来更多专用芯片也会被加入到超级计算机上。

Summit超级计算机 来源:Carlos Jones

可见,超级计算机并不是一台计算机,而是一批性能强劲的计算机组成的计算机集群。超算最核心的技术还是在于CPU等芯片,而世界上最优秀的芯片公司IBM、Intel、AMD、Nvidia都是美国公司。这也是为何超算禁令一出,包括Nvidia、AMD在内的美国芯片公司股价大跌,因为禁令一旦实施,这些公司都丧失了一批大客户,转而采用中国自主知识产权的芯片。

超算是一种共享服务

在超算的实际使用中,并不是将成千上万个CPU和GPU都拿过来跑一个任务,也不是某一个人独占,而是按需所取,使用一种叫做调度器的软件来分配计算资源。超级计算机上的CPU和GPU等计算资源更像是城市中的共享单车,服务方先提供好一批计算资源放置在那里,使用方如有需求,向调度器申请,如有闲置的资源则分配给需求方。超算中心提供一个共享的资源池,每个用户每次占用部分资源,多个用户在调度器的调度下按照一定的规则排队。当然,这个资源池越大,每个用户能够获得的资源就会越多,排队等待的时间也就越短,加上一些合理的编程优化,每个计算任务的耗时就会越短,以此加速科研进程。

调度器调度作业示意图

如果把向集群提交作业比作前往银行办理业务,那么调度器就是银行门口的取号机,用户需要排队,根据叫号来办理业务。用户一般需要告知取号机自己办理哪种服务,比如存取款的普通柜台、对公柜台、VIP柜台、理财顾问等等。取号机在相应的柜台服务上生成排队号码。调度器中的队列与之相似,用户在提交作业时,一般要告知调度器作业所属的队列,调度器会把用户作业放在该队列里排队。上图展示了作业通过调取器来排队的情况。queue A和queue B是两个队列,某个作业会在这两个队列中排队并执行,两个队列里的作业互不干扰,不会互相占用资源。目前,超算上使用的调度器有Slurm、Torque、LSF等。

熟悉云计算的朋友可能会发现,超算的这种模式,似乎与云计算非常相似。超算与云计算确实有些相似,但不同的地方在于,云计算一般将一台物理机上安装多台虚拟机,用户在一个虚拟机资源池上申请资源,超算上的程序一般直接跑在物理机上。虚拟机会导致性能的损耗,其优点在于将资源划分的粒度更细,虚拟机资源能够得到充分利用。物理机的优势在于硬件性能可以100%提供给使用者,缺点是如果使用不当,会造成硬件资源的浪费。近年来,随着虚拟化技术的成熟,虚拟机的损耗越来越小,超算也在往虚拟化方向发展,超算和云计算之间界线似乎不那么明显。

在超算上编写应用程序

超算与个人电脑的区别在于,它提供的是一批CPU、GPU等计算资源。我在之前的文章中也提到,现代计算机系统为了加快执行速度,由使用单个CPU核心发展为使用众多CPU和GPU核心。只申请大批计算资源,但不优化程序的话,计算速度得不到任何提升,必须将程序修改为并行程序。并行程序将一个计算任务分解为更小的子任务。先在每个计算核心上执子任务,然后将子任务输出汇总(reduce),得到主任务的结果。并行编程可以加快问题求解速度,但不是所有任务都可以并行。常见的并行场景有单机多核,多机多核,以及“CPU+GPU”等多种方式。当前火热的大数据和人工智能应用都在使用并行编程的技术。并行程序对开发人员的要求非常高,需要编程者熟悉内存模型、多线程、消息传递等高阶编程知识,用厚厚的一本书来讲并行编程都不为过。幸运的是,一些大牛程序员开发好了一些程序和框架,供其他人员直接调用,降低了使用超算的难度。例如,针对大规模机器学习,TensorFlow提供了非常易用的GPU编程接口和多机并行接口。关于GPU计算加速可以参考我之前的文章 GPU加速基础GPU加速入门 等。

国内著名并行计算专家迟学斌教授曾指出,虽然中国的超算在数字指标上达到世界顶尖水平,但相关的软件服务比起美国和日本还有差距,在某些超算平台上,使用者需要将近一年的时间才能编写出能利用多机器多核心的程序。中国的超算还有很长的路要走。

小结

超级计算机在推动科学研究上起到至关重要的底层支持作用,是众多学科创新的基石。它将多个高性能的计算节点通过高速网络连接起来,对外提供算力。用户通过调度器向超级计算机申请资源。用户提交的程序最好是并行程序,并行度越高,加速越快。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 皮皮鲁的AI星球 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 超级计算机简介
  • 超算的硬件架构
  • 超算是一种共享服务
  • 在超算上编写应用程序
  • 小结
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档