专栏名称: 二爷鉴书
第一时间向大家推荐好书和介绍,同时坚决揭露烂书,以IT、互联网行业为主。个人品味,仅供参考。
目录
相关文章推荐
湖南省广播电视局  ·  【资讯】长沙广电赋能青年创新创业 ·  11 小时前  
湖南省广播电视局  ·  【资讯】长沙广电赋能青年创新创业 ·  11 小时前  
sven_shi  ·  #蒋雨融说堂堂正正争取# ... ·  昨天  
酷玩实验室  ·  进化掉食欲的打工人,已经开始吃饲料了 ·  昨天  
51好读  ›  专栏  ›  二爷鉴书

计算引擎的前世今生和发展未来

二爷鉴书  · 公众号  · 科技自媒体  · 2021-03-20 17:30

正文

请到「今天看啥」查看全文



↑Ion Stoica 教授↑


MapReduce 和 Spark 都是批处理模式,也就是分批针对某个时间段的数据进行计算。这种计算由于数据量大,需要花费几十分钟甚至更长。同时这种计算的数据是非在线实时获取的数据,也就是历史积累的数据,也就是离线数据,这种计算又被称为“离线计算”。


那么,有没有可能对实时数据进行计算呢?可以。


2011年,Twitter 开源了它的实时数据计算系统 Storm,它将计算数据的间隔缩短到足够小,收到一部分数据就计算一部分,也就是流式计算了。Storm 填补了大数据实时计算的缺失,并且便于使用,一经推出就风靡业界。


不过,逐渐的,人们对 Storm 的性能也开始产生不满,它要占用太多的机器资源了。为了更好的性能,人们又开始鼓捣新玩意儿。


这个新玩意儿就是 Flink,它原本是由 3 所地处柏林的大学和欧洲的一些大学共同进行的研究项目,2014 年加入 Apache 基金会引起了业界注意,最终因为其新颖的设计和高性能受到越来越多的公司青睐。


在 Spark 的世界观中,一切都是由批次组成的,离线数据是一个大批次,而实时数据是由一个一个无限的小批次组成的。


而在 Flink 的世界观中,一切都是由流组成的,离线数据是有界限的流,实时数据是一个没有界限的流。


正因为如此,Flink 不仅仅能够做流式计算,它还能进行批处理,也就是流批一体。


但我们也不能说 Spark 的世界观就错了,它们只是角度不一样,事实上后来 Spark 也通过“微批处理”为原理的 Spark Streaming 支持了流批一体。


计算引擎发展到这个程度,在数据处理这个维度上,终于可以宣称暂时告一段落了。


但这是否意味着计算引擎领域再无新鲜事呢?


当然不是,下面就轮到我们的重头戏——Ray 出场了。


计算引擎新星 Ray,回归分布式计算本质


上一波关于批和流的领域变革,驱动力来源于对海量数据的分析和挖掘的需求,而新的驱动力,来自人工智能时代的呼唤。


2017年,由 AMPLab 升级而来的 UC 伯克利 RISELab 实验室里,Ion Stoica 等人在研究强化机器学习的过程中,发现现有的计算引擎不能很好的满足机器学习的需求,这一次,他们选择回归分布式计算的本原。


这里我要提一下 RISELab 实验室的另一位大佬 Michael I.Jordan,他是机器学习领域的杰出科学家,美国三院院士,培养出AI领域很多大牛,包括吴恩达、图灵奖得主 Yoshua Bengio 等都曾是他的学生。


Michael I.Jordan教授


正是由于 Michael 和 Ion 将机器学习和分布式计算进行的碰撞,才诞生了 Ray。


分布式计算是相对于集中式计算来说的,是利用各自独立的计算设备来共同完成一个计算任务。现代编程语言是以单机应用程序为目标设计的,要开发分布式计算程序,需要考虑很多额外的东西,比如一致性、数据完整、通信、容灾、任务调度等。


另一方面,机器学习的训练和调参过程需要计算海量数据并且进行反复学习,他们对算力的需求远远超过了摩尔定律的增长,更何况,如今摩尔定律已经快失效了。







请到「今天看啥」查看全文