本文转载自AIPharos月光社
云复工、云问诊、云蹦迪、云健身……疫情之下,全民上“云”。支撑这朵“云”的,是“高性能计算作为服务”的计算方式的变革。 3月6日,阿里云高性能计算负责人何万青博士出席了由中国大数据与智能计算产业联盟与AIPharos月光社联合举办的“疫情之下,大数据与智能计算产业的挑战与机遇”线上沙龙,并做了题为《阿里云超算与AI新药研发释放生命科学潜能》的分享。 作为搭建首个全球云上超算中心的幕后推手,何万青博士介绍,云超算的物理机性能与虚拟化形式,为新冠病毒的药物研发与筛选提供了很好的算力支撑;阿里云上的高性能计算,是一个具有普惠价值的PaaS产品。 阿里云认为,所谓新基建就是不要再去弄一个个烟囱,而是要建一个大的发电厂。
以下是何万青博士的分享内容:
新冠肺炎疫情爆发,很多大学和机构需要快速获得计算资源,来进行药物的研究、筛选等工作。因此,阿里云在春节期间就开始免费为新药研发提供计算支持。
目前,已有十余家机构使用了阿里云的服务,其中包含全球健康药物研发中心(GHDDI)等众多一线公共科研团队。
应用领域大致可分为三类:药物研发与筛选;通过机器学习与统计方法,对肺部CT进行快速诊断;跟踪与预测传染病的传染率,并快速进行疾控定位。
疫情之下,为什么要选云超算
本次新冠病毒研究中,有一大类应用叫无创检测的标准,即核酸检测,问题是慢。据媒体报道,在高度保护的状态下提取核酸样本,仍然要花3个小时来检测。
而基于大量的临床数据,以及病人肺部CT体征等信息,就能够利用大数据机器学习确认是否被感染,但问题是需要大量计算力。
在做弹道判断“起家”的计算机行业中,高性能计算发展得最早。近几年,GPU的加入让计算力有了长足进步,很多过去需要算几天,甚至几个月的,都可以用GPU加速实现。
超算中心有强大的计算力,但疫情期间要面临同样的问题,被隔离。要变配、要升级,在云上具备更灵活的优势。原因在于,像阿里、AWS、微软这样服务上百万家公司的企业,是绝对不允许暂时中断的。
同时,新药筛选是一个并发过程。高性能计算中有大量分子动力学、计算化学和基因拼装等应用,需要提供高通量的并行计算,进行药物模拟制备和虚拟筛选。
两年多以前,尽管中国已有太湖之光、天河2号等位列全球超算前两名的超级计算机,超级计算仍然是少数人才能攀登的“珠穆拉玛峰”。于是,早年业内有人提出HPC as a service,但计算、存储、网络都要达到超算的标准。
为了变“珠穆拉玛峰”为“青藏高原“,2017年阿里云在神龙服务器的基础上,开发了一套超级计算机群——通过低延迟、高带宽的网络集群,对外形成虚拟化、随时可弹性伸缩的节点,与图形节点、登录节点、存储产品共同构成的平台。
目前,阿里云在工业仿真、芯片设计器等大计算上,都是通过高性能超级计算机群来提供服务。
对用户来说,只要有阿里云账号,任何人都可以登陆由EHPC提供的云上高性能计算资源,也可以通过EHPC支持的GHDDI共享研发平台,共享药物研究成果。
超级计算机群的另一个优势是,只要云计算的可用区在全球分布够广,药物研发就可以很快链接全球开放的药物数据库。
对药物筛选来说,基于阿里云EHPC,可以用卷积神经网络,或者叫知识图谱的方法进行筛选,极大地缩短了药物发现过程,而这些可以用机器学习加以提速。得益于这样的AI算力,阿里云支持的GHDDI在其公共平台上公布了针对新冠病毒8个靶点的药物筛选数据。
高性能计算在云上
高性能计算的应用,大致可分为三大领域。
一类是公共科学(public section),与科研相关。一类是行业计算,如汽车碰撞、汽车结构、半导体、芯片等,这些需要连续计算,而且计算规模也非常大。另一类是学校或科研单位,计算时间与计算规模都随需要变化。
其中,行业计算需要长期稳定性,即能够随时获得较大规模的计算资源。自建或租用超算中心比较难,因为它们并不具备云计算最大的特点——弹性、稳定性、可获得性。云公司最大的投入,就是稳定性和弹性,以及在背后支撑运维的人和技术,这也是云公司最重要的优势。
那么,在云上能解决的计算规模有多大呢?
事实上,我们看到那些非常大规模的计算,并不适合在云上进行;不是不能实现,而是不经济。
如果你要发一篇论文,或是去打一个榜,完成之后,这部分机器就不用了。这时,就体现出云计算的另一个特点——可以共享,即你不用的时候别人恰好用,取所有人使用规模的公约数。
另外,高性能计算解决的问题,与AI能解决的问题也有很大不同。
高性能计算是求解目标对象的行为方程,这个方程会分解到各个节点去做计算,而且是同步到每一个时间节点上做同步通讯,然后再进行下一步。如果一个节点慢了,那么其它节点都要等。这意味着,高性能计算是一个对计算、存储、网络要求都非常高的行业,对延迟的容忍度也很低。这主要集中在气象、大规模的分子动力学模拟,以及汽车碰撞等网格节点数特别多的计算规模中。
虽然有些计算对延迟的要求不高,但是有大量的IO行为或高速的大内存访问,例如做渲染、电子电路设计等,这就需要非常大的内存。这些在阿里云上都是能够实现的。
回到生命科学本身,很多应用都需要大量的MPI通讯,由于计算十分密集,所以有很多应用发展了不同的GPU版本。目前,用的比较多的是GROMACS和LAMMPS。它们都是做分子动力学模拟的,从分子的角度来说,把你看成你的运动,包括你的相互作用,它只是不同的力的类型,去通过单个分子的行为模拟群体,所以群体会显示出气态、液态或其他形式。如此大规模的计算,在各个药物的制备中是最常用的。
把高性能计算,变成一个PaaS产品
曾经,云计算并没有被很多做高性能计算的人看好。理论上,单个节点的实验中,物理机的性能一定比虚拟机高,而高性能计算领域的“潜规则“是,要买就买最好最快的机器。
但是,阿里云发现,对于大计算特别是高性能计算来说,通过神龙服务器可以实现虚拟化,“虚拟化损失“这部分被HPC行业鄙视链诟病的虚拟化开销,完全可以省掉。
2017年问世的神龙服务器,主要通过自研芯片和MOC卡来实现虚拟化功能,并将存储网络的管控放上来,使得CPU本身不再浪费,100%地为计算者提供服务。它的优势显而易见,但理论上还是会耗掉一点资源。
在容器的情况下,随着节点数的增加,原来浪费的东西会发生组合爆炸,即性能越高,越会趋于性能拐点。但是,在神龙服务器上,集群的性能反而会越来越好,因为MOC卡不但会全部将其进行分流,而且还能起到协同作用。
单节点的问题突破后,高性能计算还需要高速网络。我们会考虑,节点之间通讯的管控是否可以像在公共云上一样,实现基于VPC的良好管控,也就是主动运维。
这种情况下,就要适应更多其他的计算模式,可以通过基于RDMA的方式实现。只要用RDMA连接,对外通过虚拟化和MOC卡接入,来得到物理机的性能与虚拟机的接口,再把并行文件系统做上来就万事俱备了。这种方式仍然保留了云计算最重要的特点——计算、存储、网络分开,且分别通过不同的产品接入。
通常情况下,如果要建一个超算中心,或者超算集群,需要买计算节点、文件存储做盘阵,以及PC服务器,这都是硬件的搭建工作。
在云上,就只需要一个词,叫做生产。通过超级计算机群,可以生产节点,这其实就是生成虚机实例的过程。虽然是虚机实例,但可以通过神龙服务器得到物理机的功能,同样可以生产出文件存储、NAS和并行文件系统,包括节点。
这些生产可支持弹性伸缩,是云计算里面,包括高性能计算在云上最强的能力。它可以根据预先制定的策略,快速生产和部署新的机群。
目前,我们可以做到一分半钟弹性伸缩,并且复制装过的所有软件。
在云上使用高性能计算作为一个服务时,上传文件有几种选择,通过在局部云盘上做缓存后集中放在共享文件系统上,也可以直接放过去,然后再在上面计算,包括可视化计算都可以完成。
试想一下,在云上面只要点一下鼠标,不需要花很多时间去学习如何搭建高性能计算系统,就可以完成所有计算。
国内外的差别也在于此。国外很多老师或用户,更喜欢云超算的原因就是,既不用去学习高性能计算,也不用成为IT专家,只需要对应用了解就可以了。
从这个角度上说,在阿里云上的高性能计算是一个PaaS产品,通过 Open API可以挑选任何一种计算节点。因此,阿里云现在既能支持超级计算机群,又天然地可以支持很多ECS弹性计算。
弹性计算上云:用1/10的性能,换9/10的成本
弹性伸缩是高性能云上最强的一个地方。你可以确定遇到什么样的节点,当计算力压了多长时间的时候,或者你有什么命令的时候,我可以去扩容。扩容有很多参数,你可以确定它的扩容时间间隔或扩容比例,包括缩容。
如果弹性伸缩与抢占实力配合,就可以得到一个非常了不起的结果——只损失1/10的性能,但节省9/10的成本。
这叫做抢占式实例,即你抢到一个资源,虽然它可能有一定规则,只让你用1个或3个小时;如果没计算完,高性能计算有很多应用,它是有 check point,叫闲时计算,会在释放之前保存,进行断点续算。
针对基因计算,不是每天都算,而是来一个任务才算,就需要复合的弹性伸缩的高性能计算。当任务量增加时,自动生产出新的机器;算完后,发现负荷降低了,再进行释放。这个过程中就跟用电一样,靠的是后台技术。
另外,弹性计算可以跨区域跨可用区进行扩张,甚至可以扩张异构节点。例如,基因筛选是并发计算,它并不在乎两个节点之间的配置是否一样,如果能够比较好地进行调度,可以用异构节点做一些别的事情,这是非常大的灵活性。
长期以来,超算领域有点像军备竞赛。业内工程师喜欢把一个性能挤得非常高,但每次只能服务单个用户或单个应用。虽然看起来很爽,说起来很牛,可真正普惠的是需要这种生产方式的变化,或者叫计算方式的变化。
云计算就是这样一个计算方式的变化,真正的技术突破点都来自神龙服务器在云上实现的调度。它带来的是,让每一位普通人不用离开家就能进行在线学习、远程办公等生产生活活动,这些背后就是普惠性技术在起作用。
正如阿里云所说,所谓新基建就是我们不要再去弄一个个烟囱,而是要建一个大的发电厂。
阿里云超算疫情期间支持的案例包括GHDDI、清华大学,他们所做的研究大家可以参考:
十昼夜奋战 十秒内诊断
讲座回顾 | 关于新型冠状病毒药物研发,丁胜主任帮你划重点