【云栖大会】阿里云如何“计算”地震?

简介: 每次我们拼尽全力记下的数据,都只是抬高知识瀚海的涓涓细流。当我们提笔开始繁复演算的时候,期待的是阿基米德跳出浴缸、牛顿举起苹果的那一刻。王伟涛博士正是这样计算的执笔人,他来自中国地震局。他想知道的,是我们脚下大地的每个细节。

本文转载自 雷锋网 原文链接

阿里云如何“计算”地震?

我们的祖先凝望星河闪耀,却花费万年时间才摸索出天体运行规律。我们的前辈坐看潮涌潮平,却历经千秋万代才能航行到大洋彼岸。而我们自己,在这片土地上繁衍至今,却仍旧对脚下的大地懵然无知。从观察记录到规律预测,几乎是人类科学史的全部逻辑。但每次我们拼尽全力记下的数据,都只是抬高知识瀚海的涓涓细流。当我们提笔开始繁复演算的时候,期待的是阿基米德跳出浴缸、牛顿举起苹果的那一刻。王伟涛博士正是这样计算的执笔人,他来自中国地震局。他想知道的,是我们脚下大地的每个细节。

51f04d90f430c26f5faf08d5fc38db8d26a37d37

【王伟涛】

浩如烟海的计算

我们经历的每一次地震,都在提醒自己预测和预警这种灾害的迫切性。但是,我们距离这个目标还很远。为更好的认识地震这一物理现象,需要极其的详细的地壳结构影像,而为了绘制这张地下地图,又需要详尽的数据计算。目前为止人类打到地下最深的井是前苏联钻探的科拉超深井,约12.2公里,但是地震的震源深度往往在地下十几到几十公里,当前的科技根本无法在震源深度开展直接观测。所以我们需要依靠分布在全国的数千个地震台来对地震波进行探测,震波在地下的传播特性,受到地质结构的影响,这也是地震波可以用来绘制地底图像的原理。这些地震台可以感知地震的“大震波”,也同样可以捕捉日常的“大地噪声”,例如海潮拍击大陆的震动。王伟涛说。

9155cb8be7dab1e4a0825eb5e1e70ebcb06c5f96

【根据地震波进行地底成像的原理/图片由王伟涛博士提供】

王伟涛说,像他这样的地球物理科学家几乎都是半个程序员。因为从地震波到地底成像,中间要经过超越一般人想象的大规模程序计算。他的计算模型是这样的:每一次震动都会由近至远依次传递到各个地震台,所以理论上来说,每个地震台都会对同一次震动做出自己的记录,这些数据既有差异有又联系。利用这些数据,可以计算出一些“虚拟地震”。用每两个地震台之间进行数据互相关对比计算,就可以获取研究中国地下的总体结构所需要的宝贵数据。

58045b5ece1f2.gif

【虚拟地震可以模拟出和真实地震一样的数据,所以可以用于本来没有发生地震的地区的地底成像】

每个地震波数据都有  E,N,Z(东西,南北,垂直)三个向度的分量,全国2000多个永久和临时地震台就是 6000 个分量,每年的数据量大概是 30TB,而我们的总数据量已经到了 PB 级别。由于我们要相互对比每一个地震台每个时间点的每个分量数据,这些计算量是呈指数级增长的。王伟涛的智慧和经验,恰恰表现在他所设计的程序和算法之上。但耗费很大心力完成这个算法的王伟涛博士发现,他才踏上了万里长征的第一步,还有一个巨大的困难横亘在面前。

7c3a8a785d20f7b891e1d172834436bdecbe7884

【图中每两个地震台之间的连线(灰色)都是需要计算的数据,总计算量极其庞大图片由王伟涛博士提供】

如果使用单机对这些数据进行计算,大概需要七年时间。按照一个人的职业生涯二十年计算的话,我在退休前只能完成三次计算。在这种情况下,大规模分布式的云计算似乎成为了唯一的选择。然而,云计算的机理绝不像听起来这么轻盈。阿里云是中国地震局的合作伙伴,在这些童鞋们看来,云计算和科学研究一样,集合了人类最顶尖的智慧。

653c60dfcbe27be62f94a21cfe4387e0426e36ae
【所需存储空间、计算量和预计单机计算所需的时间/数据由王伟涛博士提供】

分布式存储:有关农场的游戏

“云存储就像一个大的农场,每个服务器就像一个工人,而你的数据就是羊。”阿里云存储高级专家承宗说。看来他是个牧场达人。“分布式存储”,可以看作分布式计算的基础条件。也就是说,你的羊要先放进阿里云的“农场”,它的工人才会帮你照料、喂养、剪毛、纺线。对于王伟涛博士的数据来说,仅仅是存储在云端,就需要无数“黑科技”。

在将要进行的计算中,计算系统会对存储系统进行大规模的访问。而这些访问必须要平均地打到服务器上,绝不能存在热点。而这还不够,由于服务器的硬件故障在大规模集群中会变成一个常态事件,所以必须做好资源的实时调度和提供故障容忍能力。例如保证在摘掉一块硬盘的时候,其余的硬盘要迅速用备份数据把存储追齐。承宗举了以上两个例子。这两个例子换成农场的比喻,大概是如下表述:农场对于工人的工作量要平均分配,绝不能出现“对着一个羊薅羊毛”的情况发生。另外,农场每天都有工人病倒、请假,要在最短的时间把他的工作合理分配给很多人,这样别的工人也不至于负荷过大。

整个阿里云的分布式文件系统,被命名为盘古。在承宗心里,盘古还有很多智能化的“黑科技”。他举例了一个例子:我们人类看到的磁盘都一样,但是盘古看到的磁盘各不相同。它会根据历史访问数据的积累,例如写入的速度和效率,对每一块磁盘的健康度进行打分。对于健康状况不好的磁盘,就相应减轻一些工作分配。这些底层的技术,都可以为王伟涛博士下一步真正的计算做准备。

承宗说,在分布式计算中,数据带宽成为了一个重要的参数。从王伟涛博士的角度来看,如果把数据存储在自己的服务器上,仅仅利用阿里云的计算能力进行结果输出,是不能实现的。原理很简单,分布式计算的所有服务器都向一个存储单位发送数据读取请求,带宽会被瞬间堵死,再强大的算力都无法发挥。至于具体数据,百兆光纤的带宽一般是 100Mb/s,而硬盘的带宽最高可达几Gb/s,而阿里云存储内网访问带宽(云计算系统内部)可以高达Tb/s级别。

批量计算:建造一座金字塔

接下来,王伟涛博士的数据就会进入最终计算的环节。我熟悉了自己习惯的 Linux 系统,所有的计算代码都是在这个环境中完成的,如何让我的代码在云计算的环境中发挥作用,是一个很重要的问题,王伟涛说。

dff89aade16974c874053dd6c9b42ca8d6522539

【王伟涛博士地底成像数据的计算流程】

在地震科学研究方面,阿里云显然没办法提出算法建议,所以他们需要做的是,提供一个通用的接口,让王伟涛可以使用自己机房中的电脑、界面和Linux 系统,来对云上的计算进行控制。阿里云提供的兼容和适配能力,是阿里计算专家林河山颇为骄傲的地方。王博士在此之前没有使用过分布式集群,也没有使用过“超算”,所以直接跨越到云上,从操作和控制层面来说,对他来说会是个挑战。我们提供的计算接口可以让单机程序不做修改就高效执行在云环境下。用户通过几句简单的命令就能在云上调动大规模的计算资源进行分析,而不需要学习复杂的分布式计算知识。其实很多从其他地方过渡到云计算的人都会有这样的问题,所以不仅是王博士,很多其他用户也会用到我们的通用计算接口,他说。这个时候,大规模计算的障碍基本被扫清了。不过,云计算真正的核心技术,还在于批量计算的算力调度之上。

52f215e01df0d846d2da6e7cce9c9406dbca7ccd

【大规模计算的加速流程和模式】

计算规模扩大之后,就会造成对存储资源的访问非常频繁,这时,对于访问的并发量的控制就要非常“小心”了。王博士的应用有非常多的小I/O请求,如果每一次I/O请求都直接访问云存储,由此带来的延时会对计算效率造成影响。为了进一步优化计算性能,批量计算采取了“分布式缓存”的策略,把有可能会用到的数据,提前缓存到计算节点周围。这样,就可以让计算能力不受集群规模的限制,林河山说。

而即使是这样,还远远不够,对于数据访问究竟采取多大“粒度”,是考验系统智能的重要时刻。如果一次读取过多,可能造成带宽拥堵,如果一次读取过少,又会造成频繁访问。而针对不同类型的数据,都要做出合理的预判,自动地读取,是一项艰巨的任务。打个比方:这如同建造一座金字塔,数万名“奴隶”要分工合作。工程师要决定:是牺牲速度一次性运输多个石块到现场,还是牺牲数量,一次快速运输一块石头到现场。同样,面对浩瀚的金字塔工程,每时每刻要分配多少奴隶来搅拌砂浆,分配多少奴隶来搬运石块,分别分配多少奴隶来负责建造各个区块,这个即使是工程师都需要仔细考量才能完成的任务,都要交给系统自动完成,难度可想而知。

cecc0b1fa145ae8de99a614d258aa9f7b73822e0

当然,如此繁复的计算过程,出错是经常会发生的。林河山举了一个例子:在渲染追光动画的动画片《小门神》时,阿里云的容错机制就发挥了作用。(当时在峰值有 2000台服务器参与了大规模批量计算。)一般情况下, 对于视频的渲染工作是一个连续的长流程。如果某一帧渲染中哪怕只有一个节点出问题,都会造成访问的大规模延时,造成逻辑上的拥堵,产生“热点”。林河山说:“阿里云的做法是,在计算出错之后,在最短的时间内重跑,如果在跑的过程中确认节点存在问题,还会自动调度到另一个地方,这些对于用户来说都是没有感知的,但是在背后,我们必须做出大量的努力。

绘制地下的世界

原本需要一年计算时间的整个中国数千个地震台两两之间的五年数据的计算任务,在云计算中狂飙,48小时之内就计算完成了。

0d5270db4ad33a2e3f10e278645b6e3f4709aa6c

【地球内部成像,恰似人体的B超】

这在云计算时代来临以前是无法想象的。从科学研究的角度来看,这些数据是原始的地震观测数据的数据产品,同时也是后续科学研究所依赖的重要数据,可以很好地支撑王伟涛进行接下来的研究。从外界看来计算过程非常顺利,而刚才我们所感受的一切艰辛,都只发生在背后的代码世界。

ef8aeaf360c44b23602aa2f1f0cc5dfeba4ba573

【各个步骤耗时统计/图片由王伟涛博士提供】

借用阿里云产品总监李津的话:当计算结果输出的时候,我们所有的技术人员都沉默了。我们多么渴望这样的数据早几十年被计算出来,这样我们就能为人类认识地震这一自然灾害争取宝贵的时间。抛开商业的云雾,可以看到云计算真正的的锋利所在。王伟涛的研究并没有停止,他说:目前为止,我只做了2011年到2015年的一个向度上的数据分析,未来还会继续把更多向度和频率上的数据进行计算。科学研究的精确度是可以一直提高的。越来越精确的地底数据,会为矿产勘探、防震减灾和地震科学研究提供非常强的支持。

科学的有趣之处,正是在于不断地尝试。有可能一觉醒来想到新的方法,就要重新改写公式和代码,通过计算进行验证。也许有一天,属于王伟涛的那只苹果会悄然落下。那一刻,是王伟涛的胜利,也同样是人类计算力的胜利。我们倾尽全力提高算力,把数据的涓涓细流汇聚成洪荒之力,只是因为我们不愿对脚下的大地懵然无知。

35012dcc4e5d21eeb6ea30fe3954e357aa03d57a

感谢  雷锋网  对2016杭州云栖大会的精彩分享!
相关文章
|
2月前
|
人工智能 Cloud Native 关系型数据库
阿里云瑶池数据库训练营权益:2022-2023云栖大会主题资料开放下载!
阿里云瑶池数据库训练营权益:2022-2023云栖大会主题资料开放下载!
|
5天前
|
存储 机器学习/深度学习 网络协议
阿里云企业级ARM计算规格族特点、适用场景及收费标准与活动价格参考
阿里云企业级ARM计算规格族是阿里云继X86计算、异构计算、弹性裸金屈服务器、超级计算集群之后推出的全新架构云服务器,ARM计算规格族有通用型实例规格族g8y、计算型实例规格族c8y、通用型实例规格族g6r等。下面是阿里云企业级ARM计算规格族特点、适用场景及最新收费标准和活动价格参考。
阿里云企业级ARM计算规格族特点、适用场景及收费标准与活动价格参考
|
1月前
|
存储 机器学习/深度学习 并行计算
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下不同类型的云服务器有何不同,主要特点及适用场景有哪些。
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
|
1月前
|
存储 安全 网络协议
2024阿里云上云采购季活动,云服务器计算型c8a、通用型g8i/g8a/g8y实例区别及价格参考
在阿里云2024年的上云采购季活动中,除了以往活动中有的轻量应用服务器和经济型e、通用算力型u1、计算型c7、通用型g7实例之外,阿里云还新增了计算型c8a、通用型g8i/g8a和g8y实例规格,这些都是具有超高性能的AMD&Intel&倚天第八代云服务器,那么这几个云服务器实例规格的性能及适用场景是怎样的呢?本文为大家介绍阿里云计算型c8a、通用型g8i/g8a和g8y实例规格性能及适用场景。
368 0
2024阿里云上云采购季活动,云服务器计算型c8a、通用型g8i/g8a/g8y实例区别及价格参考
|
2月前
|
存储 弹性计算 安全
云服务器ECS_云主机_服务器托管_计算-阿里云
云服务器ECS_云主机_服务器托管_计算-阿里云,阿里云服务器是什么?云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,云服务器可以降低IT成本提升运维效率,免去企业或个人前期采购IT硬件的成本,阿里云服务器让用户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器
云服务器ECS_云主机_服务器托管_计算-阿里云
|
2月前
|
弹性计算 大数据 测试技术
阿里云服务器服务费怎么计算?详细解析2024新版
阿里云服务器服务费怎么计算?详细解析2024新版,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月
47 1
|
2月前
|
存储 弹性计算 大数据
云服务器ECS_云主机_服务器托管_计算-阿里云
云服务器ECS_云主机_服务器托管_计算-阿里云,阿里云服务器全方位介绍包括云服务器ECS优势、云服务器租用价格、云服务器使用场景及限制说明,阿里云百科分享云服务器ECS介绍、个人和企业免费试用、云服务器活动、云服务器ECS规格、优势、功能及应用场景详细说明
34 0
|
3月前
|
存储 缓存 资源调度
阿里云购买云服务器选择经济型、通用算力型、计算型、通用型、内存型实例参考
在我们通过阿里云的活动选购云服务器的时候会发现,相同配置的云服务器往往有多个不同的实例可选,而且价格差别也比较大,这会是因为不同实例规格的由于采用的处理器不同,底层架构也有所不同(例如X86 计算架构与Arm 计算架构),因此不同实例的云服务器其性能与适用场景是有所不同。本文为大家详细介绍阿里云的经济型、通用算力型、计算型、通用型和内存型实例的性能特点及适用场景,以供大家选择参考。
阿里云购买云服务器选择经济型、通用算力型、计算型、通用型、内存型实例参考
|
3月前
|
存储 机器学习/深度学习 人工智能
阿里云倚天云服务器计算型c8y、通用型g8y、内存型r8y实例性能介绍及活动价格参考
计算型c8y、通用型g8y、内存型r8y是阿里云推出的基于ARM架构的新一代阿里自研倚天实例,采用阿里自研倚天710处理器,基于最新一代CIPU架构,通过芯片快速路径加速手段实现计算、存储、网络性能的大幅提升。其中计算型c8y实例网站应用、各种类型和规模的企业级应用,通用型g8y实例适用于网站应用、各种类型和规模的企业级应用,内存型r8y实例适用于网站应用、各种类型和规模的企业级应用。本文为大家详细介绍倚天云服务器实例的主要性能和最新活动价格情况。
阿里云倚天云服务器计算型c8y、通用型g8y、内存型r8y实例性能介绍及活动价格参考
|
3月前
|
存储 弹性计算 安全
阿里云七代云服务器计算型c7、通用型g7、内存型r7实例性能介绍及活动价格参考
阿里云第7代云服务器主要实例规格包括计算型c7、通用型g7、内存型r7,其中计算型c7实例适用于计算密集型业务,如Web服务器Apache、Nginx等场景,通用型g7实例适用于通用业务,如网站应用、各类企业级应用、中间件,内存型r7实例适用于内存密集型业务,如数据库系统、缓存、搜索集群。本文为大家详细介绍七代云服务器实例的主要性能和最新活动价格情况。
阿里云七代云服务器计算型c7、通用型g7、内存型r7实例性能介绍及活动价格参考

热门文章

最新文章