在十年前的今天即2010年4月14日,青海玉树发生7.1级地震,2698条生命永远离开了我们。除了玉树地震之外,汶川地震、唐山大地震都造成了巨大的人员伤亡和财产损失。
地震、海啸、火山爆发等自然灾害给人带来严重后果,这些突发灾害随时随地都有可能发生,在自然灾害面前,我们深知人类力量的渺小,但是随着云计算、大数据以及人工智能等技术的发展,我们能够以睿智和科学来抵御自然灾害。
自1970年以来,亚太地区平均每年有1.42亿人受到灾害影响。因此,只要我们对先进技术善加利用,它们或许就可以帮助我们抵御自然灾害,从而减少人员伤亡。
云计算怎么预测地震?
每年的地震波数据量大概是30TB,且总数据量达到PB级别。由于要相互对比每一个地震台每个时间点的每个分量数据,并且这些计算量是呈指数级增长的。
在这种情况下,大规模分布式的云计算似乎成为了唯一的选择。
云存储
分布式存储可以看作分布式计算的基础条件。在将要进行的计算中,计算系统会对存储系统进行大规模的访问。而这些访问必须要平均地打到服务器上,绝不能存在热点。
而这还不够,由于服务器的硬件故障在大规模集群中会变成一个常态事件,所以必须做好资源的实时调度和提供故障容忍能力。例如保证在摘掉一块硬盘的时候,其余的硬盘要迅速用备份数据把存储追齐。
在分布式计算中,数据带宽成为了一个重要的参数。如果把数据存储在自己的服务器上,仅仅利用云计算能力进行结果输出,是不能实现的。原理很简单,分布式计算的所有服务器都向一个存储单位发送数据读取请求,带宽会被瞬间堵死,再强大的算力都无法发挥。
批量计算
如何使代码在云计算的环境中发挥作用是一个很重要的问题。在地震科学研究方面,通过一个通用的接口来对云上的计算进行控制。
所提供的计算接口可以让单机程序不做修改就高效执行在云环境下。用户通过几句简单的命令就能在云上调动大规模的计算资源进行分析,而不需要学习复杂的分布式计算知识。但云计算真正的核心技术,还在于批量计算的算力调度之上。
计算规模扩大之后,就会造成对存储资源的访问非常频繁,这时,对于访问的并发量的控制就要非常谨慎了。
应用有非常多的小I/O请求,如果每一次I/O请求都直接访问云存储,由此带来的延时会对计算效率造成影响。为了进一步优化计算性能,批量计算采取了分布式缓存的策略,把有可能会用到的数据,提前缓存到计算节点周围。这样,就可以让计算能力不受集群规模的限制。
原本需要一年计算时间的整个中国数千个地震台两两之间的五年数据的计算任务,在云计算中狂飙,两天之内就计算完成了。这在云计算到来之前是无法想象的。
点击查看往期内容回顾
长按二维码,关注我们
新睿云,让云服务触手可及
云主机|云存储|云数据库|云网络