信息无障碍通道
您的位置:首页>>互联网

计算引擎的那些事儿

发布时间:2021-03-23 14:14  来源:互联网    背景: 无障碍阅读通道

  导语:又到了一年一度应届生实习找工作的时候,有些同学在学校期间对大数据技术感兴趣,但现在也不免心中忐忑:火了十多年的大数据技术还有前途吗?现在进入还有发展机会吗?

  对于这个问题,我找到蚂蚁资深技术专家、新计算引擎架构师周家英一通追根究底,试图拨开浮在大数据表面的迷雾,弄清这个技术领域的来龙去脉和发展前景。

  不过需要说明的是,大数据技术分为多个方面,本文只涉及其中的核心底层技术之一,也就是计算引擎。正是这个引擎的轰鸣,载着我们走过精彩纷呈的移动互联网,一头撞入充满未知的AI时代。

  从MapReduce到Flink,计算引擎都经历了哪些进化?

  何谓计算引擎,一言以蔽之,就是专门处理数据的程序,在大数据之前,人们用数据库来处理数据,人们常说的SQL,它是一种DSL,它的背后正是数据库的计算引擎,但是数据库的计算和存储通常被集成在一起,统称为数据库引擎。

  互联网时代到来之后,由于需要计算的数据量太大,计算引擎和存储引擎分开各自演进,这一分开,让两者获得解放,从而有了无数可能,也就开启了狂飙突进的大数据时代。

  从谷歌论文的大数据三驾马车到现在,计算引擎经历了多重演进。

  2004年前后,谷歌发布了三篇重要的论文,也就是大数据的三驾马车:分布式文件系统GFS、计算引擎MapReduce、分布式数据库BigTable。

  2006年,Lucene项目的创始人 Doug Cutting依据论文原理,开发出类似GFS和MapReduce的功能框架,后来被命名为Hadoop。Hadoop套件中的MapReduce实现了传统数据库计算能力之外的种种操作,让搭建一个大数据平台成为可能,它的种种设计理念,一直影响着后来者。

  (Hadoop之父Doug Cutting)

  Lucene是第一个提供全文搜索功能的开源项目,在很长时间里都是开发者的首选。当时,Cutting和同为程序员出身的Mike Cafarella决定开发一款可以代替当时的主流搜索产品的开源搜索引擎,这个项目被命名为Nutch。Doug Cutting 希望以开源架构开发出一套搜索技术,类似于现在的谷歌搜索或是微软的必应(Bing)。刚好谷歌的论文发布了,Doug Cutting 利用 Google 公开的技术扩充他已经开发出来的 Lucene 搜索技术,进而打造出了 Hadoop。

  Hadoop后来演变成了一个庞大的生态,Facebook、Yahoo以及高校和社区都为它贡献了大量的组件,让Hadoop在一段时间内成为大数据平台的事实标准。

  2012年,UC 伯克利AMP 实验室的一位博士,在使用 MapReduce 进行大数据实验计算时,发现性能非常差,不能满足其计算需求。为了改进这种效率低下的工作方式,他们开发出了一个性能优越的替代产品,叫做 Spark 。由于Spark 性能卓著,一经推出,就受到了业界的认可,开始逐步替代 MapReduce。

  UC伯克利AMPLab是大数据领域的顶级实验室,甚至可以说没有之一,这个实验室贡献了大数据以及Hadoop生态里非常多的主流组件,包括Spark、Mesos、Alluxio (前身为Tachyon)等。在这些项目的背后,是UC伯克利计算机教授Ion Stoica,Ion是操作系统和分布式计算领域绝对的大佬级人物,后面你可以看到他几乎是扛着这个领域在前进。

  (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。

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

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

  Ion Stoica在他的博客写道:

  “根据OpenAI的一篇流行博客,从2012年起,满足最新机器学习的计算量就以几乎每3.4月翻一倍的速度增长,这等于每18个月增长40倍,也就是摩尔定律的20倍!因此,哪怕摩尔定律没有失效,我们也迟早会面对算力增长难以满足机器学习需求的情况。”

  ——《The Future of Computing is Distributed》,Ion Stoica

  而这导致了机器学习训练过程所花的时间越来越长。

  从2014年到2019年,自然语言识别的主流算法的训练过程所消耗的时间增长了5000倍;从2015到2018年,图像识别的ResNet模型的训练时间增长超过11000倍。

  更别提,在强化学习这一类别中,因为它的算法通常包含很多不同类型的仿真器(simulation),算法复杂、计算范式多样,因此算法难以在高性能的专用平台上运行,比如GPU,而只能在进行通用计算的CPU上运行。因为GPU上的指令集较为简单,只能运行给定的几种计算模式。

  因此提升机器学习计算效率、打造一个通用的分布式计算引擎势在必行,这也正是Ray的使命。

  为了简化分布式编程,Ray提供了一套简单、通用的分布式编程API,屏蔽了分布式系统中的这些常见的难题,让开发者能够使用像开发单机程序一样简单的方式,开发分布式系统。

  Ray系统中有三个基础概念Task、Object、Actor,分别对应分布式任务、对象和服务。而常用的面向过程的编程语言中,也刚好有三个基本概念,函数、变量和类。在Ray系统中,可以通过简单的改动,实现它们之间的转换。

  这里我们可先建立一个概念:

  单机程序 + Ray => 分布式计算程序

  看到这里,很多人可能还是不能理解Ray的厉害之处,快速开发分布式计算应用,又能怎么样呢,跟我们又有什么关系呢?

  别着急,下面为你来揭晓。

  有了Ray,我们可以做很多好玩的事情,其中的一个,就是把两个或多个不同的计算模态或者模块整合在一块,产生更好的计算能力。这就是蚂蚁基于Ray所打造的融合计算。

  说起这个,我们先来看看为什么要这么做。

  以在金融行业非常重要的安全风控为例。目前国内移动支付已经非常普及,体验都差不多,我们买完东西点击支付按钮,很快就支付成功了,看上去很简单,几乎感觉不到延迟。但就在这短短的数百甚至数十毫秒之内,支付系统就需要评判这笔支付是否存在欺诈、账号被盗、套现、赌博等违法违规行为,更要命的是,判断这些需要使用不同的计算方式,通常属于不同的系统,一笔支付需要在这些系统里面流转,通关之后才能支付成功。

  因此,一个实际的问题摆在我们面前,我们需要将这些不同的计算方式以最优的方式重新组合,让这些系统处理每一笔支付的时间越短越好,也就是性能的极致需求。

  Ray说,这个我在行!于是一拍即合。

  在蚂蚁,他们已经利用Ray打造了这样的几种融合模式,并已经在生产环境中取得了不错的效果。

  流计算 + 图计算 + Ray => 流图融合

  流图融合又叫做在线图计算,它被用在金融风控的实时反套现的场景,也是上面提到的安全风控中的一部分。另外它还被用在蚂蚁森林场景,蚂蚁森林中有多种形式的好友互动,如支付宝好友之间可以互相收取能量,以及好友、亲人之间可以一起合种一棵树。这里面其实就是关系,在蚂蚁森林中有人与人的关系,以及人与树的关系等。它需要实时的去处理和查询这些关系,刚好对应到流计算和图计算的应用场景。

  流计算 + 机器学习 + Ray => 在线学习

  传统的在线机器学习系统是一系列子系统组成的任务管道,原始的实时数据需要流经过滤、采样、特征工程、训练和部署等系统,才能发挥作用。这就给我们带来了数据一致性、系统稳定性、多平台等挑战。

  蚂蚁基于Ray开发出端到端的在线机器学习架构,这一端给出数据,那一端直接出结果,中间的数据处理、模型训练和部署等等都是紧密集成在一起,并且这一切还是实时的。

  在蚂蚁,他们在实践中摸索出了一套“底盘+插件式”的架构。底盘是Ray分布式计算系统,插件则是这些不同的计算范式子系统,需要哪些就用哪些。

  当然,这套架构还远未完善,所覆盖的场景还不足够多,我们可以想象,如果插件足够丰富以后,我们可以任意组合不同的插件去打造一个性能最优化的系统,同时还易于维护升级等,无论多么变态的需求都能轻松搞定,给后端同学留下幸福生活。

  在未来,一切计算都应该是分布式的,而Ray将是我们通向未来的有力帮手。

  计算引擎领域,我们的机会与挑战

  前面说了那么多,跟同学们又有什么关系呢?这里我想借阿里和蚂蚁在计算引擎上的研发投入,来说说这个问题。

  我国网民数量庞大,国内互联网公司对大数据也一直有很强烈的的需求。

  在谷歌发布了大数据三篇论文之后,国内快速跟进。

  在子柳的《淘宝技术这十年》中记载了当时的情况,由于淘宝的图片存储服务器不堪重负,谷歌公布了GFS论文之后,2007年淘宝开发了自己的分布式文件系统TFS。

  历史总是惊人的巧合,在我们准备研发文件存储系统的时候,Google走在了前面,2007年,他们公布了GFS(Google File System)的设计论文,这给我们带来了很多借鉴的思路。随后我们开发出了适合淘宝使用的图片存储系统(TaoBao File System,TFS)。3年之后,我们发现历史的巧合比我们想象的还神奇,几乎跟我们同时,中国的另外一家互联网公司也开发了他们的文件存储系统,甚至取的名字都一样——TFS,太神奇了!(猜猜是哪家)

  ——《淘宝技术这十年》,子柳

  Hadoop发布后引起了国内的热捧,从2008年起,阿里也借鉴并开发了自己的大数据处理系统“云梯”,它分为两个阶段,云梯1以Hadoop为核心,云梯2则是自研,并且是阿里云操作系统“飞天”的核心功能模块。

  到了Storm出现,开始引领实时数据处理的时候,阿里开发了JStorm,也就是Java版的Storm,当然里面也包含不少阿里根据自身情况进行的创新。后来阿里将JStorm贡献回了开源社区。

  Flink出现后,也很快引起了国内公司的关注,2017年,阿里以9000万欧元收购了Flink背后的公司Data Artisans,到现在阿里已经是Flink社区最大的贡献者之一。

  同样是2017年,蚂蚁与上面提到的Michael I.Jordan教授展开合作,刚好参与到Ray早期的建设当中,与Ray团队互补,从产业界的角度为Ray填补缺失的功能,并为其提供实践案例。从那以后到现在,蚂蚁一直是Ray社区排名第二的贡献者,为Ray的发展壮大立下汗马功劳。

  把上述经历和计算引擎的发展历史结合起来,我们可以发现一些有意思的事情:

  一、大数据领域的创新几乎都起源于国外。

  二、随着计算引擎的发展,国内逐渐从追赶跟随转变到并驾齐驱,到了Flink和Ray的时代,国内已经是计算引擎领域创新的主力之一。

  国内计算引擎领域的发展,正是国内大数据技术的一个缩影,也是其它千千万万个技术行业发展的缩影。

  从这个角度来说,正因为国内大数据的应用天地广阔,因此对应技术领域的研发也正如火如荼。我们可以对国内计算引擎的发展有信心,这将是一个持续发展并不断突破的领域。

  从另一角度看,我们还可以观察到一个事实:

  大数据和实时数据处理这样从无到有的创新,都来自企业界;而像Flink、Ray这样的颠覆式创新,都来自于高校的实验室。

  这可能是因为,从实际出发的强需求可以倒逼创新,但一旦有了解决方案,企业可以通过堆机器来解决问题时,他们创新的动力减弱了,或者说害怕贸然采用新的想法导致失败,而学术界则更倾向用新想法来解决老问题以产出创新成果。

  但我们不得不遗憾的表示,在计算引擎这个领域的发展过程中,国内的高校出现的身影不多,研究较为薄弱,也缺乏相应的人才储备。

  这也导致高校难以为企业输送合格的计算引擎人才,企业只能自己培养。

  这时候有同学就要问了:计算引擎听起来这么高级,看上去也很底层,开发起来是不是很难啊?

  但周家英表示,“难”并不是计算引擎开发的关键字,相反,分布式计算的研发很可能是当代大数据领域中“皇冠上的明珠”

  分布式计算的研发处于技术栈的偏底层位置,适合对于计算机基础工程更有兴趣的同学,可以不断学习计算机领域的基础知识,如操作系统,硬件优化等等,这样才能让最大限度的发挥底层硬件的性能,把计算做到极致。

  对于社会招聘,他希望招募的是对计算引擎有一定开发经验,如搜索引擎、开源分布式引擎,或者做过SQL优化、分布式调度等工作的人才。

  对于应届生招聘,他表示同学们只要把大学计算机相关课程学好了,同时有一定的好奇心,了解下当下主流的几个计算引擎,知道它们的应用场景及原理,如果能去读一下它们的源码,了解为什么这么设计那更是求之不得。

  作为证明,蚂蚁新计算引擎团队里并不都是头顶锃亮的稳重大叔,反而是以90后为主的年轻人组成的团队。

  (蚂蚁新计算引擎团队的团建之旅)

  蚂蚁在新同学加入公司之后,会安排一位师兄对新同学进行引导,无论是工作还是生活上的问题都可以对师兄进行请教。同时对于技术新同学还会安排多轮的脱产培训,让他们了解整个公司的业务架构,以及本团队所需要的技术知识。

  所以还等什么呢?如果你对计算引擎感兴趣,赶快投递简历,加入蚂蚁新计算引擎团队吧~

特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。


返回网站首页 本文来源:互联网

Chromium FydeOS 宣布开源,openFyde 开源操作系统正式上线
11 月 14 日消息,燧炻创新近日宣布,基于 Chromium OS 的操作系统 FydeOS 已开源,openFyde 开源操作系统正式上线。
日期:11-14
10月主机大战落下帷幕:索尼折戟掉至第二 任天堂重回第一宝座
近日,NPD Group公开了2021年10月的主机市场销量报告,根据这份销量报告,任天堂在上个月成功击败索尼,重新回到了全球主机销量第一的宝座。
日期:11-13
马斯克再抛 120 万特斯拉股票:本周累计抛售 70 亿美元
北京时间 11 月 13 日上午消息,据报道,利用公司市值飙升至 1 万亿美元的迅速上涨机会,特斯拉 CEO 埃隆・马斯克(Elon Musk)本周出售了高达 69 亿美元(约 440.91 亿元人民币)的特斯拉股票。
日期:11-13
劳动力短缺,北美企业机器人订单创新高
11 月 13 日消息,据《华尔街日报》援引自动化促进协会(Association for Advancing Automation)数据,北美企业今年前九个月机器人总销售额达 14.8 亿美元(约 94.57 亿元人民币),超过了 2017 年同期 14.7 亿...
日期:11-13
这个周末,荣耀X30i让你的生活充满高光色!
每个人在生活中都有属于自己的“高光”,比如第一次获得学校的奖牌,第一次被喜欢的人表白,第一次考上理想中的大学,第一次升职加薪等等,这些时刻都让你感觉无比的幸福。但是随着年龄的增长,你...
日期:11-12
11月17日!华为MateBook E官宣
ITBEAR科技资讯11月12日消息,虽然华为P系列、Mate系列新品手机因缺少芯片而延迟发布时间,却依旧抵挡不住华为方面研发新产品的激情。微博官方账号@华为终端公司 带来最新消息,称“分身有术,就是HUAWE...
日期:11-12
SpaceX 星链第二代产品公布:全新矩形天线设计,售价不变
11 月 12 日消息,SpaceX 于近期在其美国官网正式公布了旗下星链第二代产品,产品包含一款全新设计的星链天线以及一款 Wi-Fi 路由器。
日期:11-12
Mudita Pure 极简主义手机即将发货:采用墨水屏,不支持上网
11 月 12 日消息,2019 年,《赛博朋克 2077》开发商 CDPR 的联合创始人 Michał Kiciński 众筹了一款名为 Mudita Pure 的“极简主义手机”,目的是想把人们从“虚拟世界”中解放出来,...
日期:11-12
荣耀X30 Max正式开售,2399元起大屏观影爱好者首选
近日,荣耀发布2021年迄今为止行业内唯一5G超大屏手机——荣耀X30 Max,带来了大屏幕、大音量、长续航三大Max体验,受到用户的热烈关注。11月11日10:08,荣耀X30 Max正式开售,起售价2399元,掀起...
日期:11-11
天翼云卡一体服务亮相
11 月 11 日消息,根据紫光国微的消息,在今天开幕的天翼智能生态博览会上,中国电信联合紫光国微推出的天翼云卡一体服务首次亮相。
日期:11-11
广电总局:直播卫星平台 11 月 11 日增加“山东卫视”高清频道
11 月 10 日消息,据国家广电总局卫星直播中心发布,自 2021 年 11 月 11 日 0 时起,直播卫星平台将新增传输“山东卫视”(频道号 63)高清频道。届时,直播卫星高清机顶盒(三代半和四代机)用户通过...
日期:11-10
三星Galaxy S21 FE通过NBTC认证
11 月 10 日消息,此前有消息称三星正准备在 2022 年 1 月和 2 月发布 Galaxy S21 FE 和 S22 系列旗舰手机。虽然三星目前还没有确认,但这些机型已经开始准备在多个市场发售,预计发布时间已经不会太远。
日期:11-10
维基百科新增接受苹果 Apple Pay 渠道捐款
11 月 10 日消息,维基百科近日推出了对苹果 Apple Pay 渠道捐赠的支持,与之前的信用卡、PayPal 付款并列。
日期:11-10
双十一销售额破四亿,极米家用投影应该选哪款
今年双十一才过去三天,在“开门红”即将结束的时候,极米公布了其双十一首战的战报。各渠道销售额总计突破四亿,其中极米H3S、极米New Z6X两个单品的销售额都突破了一亿。小编联想到前不久发布的I...
日期:11-10
华为双模式 VR 和 AR 耳机专利获授权
11 月 10 日消息,昨日,华为技术有限公司获得“双模式耳机”专利授权,公开号为 CN111133364B。
日期:11-10
CINNO:三季度联发科芯片出货量居首,紫光展锐同比暴增 147 倍
11 月 9 日消息,市场调研机构 CINNO Research 近日发布了 9 月份和 3 季度的中国市场手机处理器出货量报告。
日期:11-09
AMD 发布 Instinct MI200 系列:首款百亿亿次级 GPU 加速器
11 月 9 日消息,AMD 宣布推出全新 AMD Instinct MI200 系列加速器,全新 AMD CDNA 2 架构,是首个多芯片、首个支持 128GB HBM2e 显存的 GPU,也是首款 Exascale 级(百亿亿次级) GPU。Instinct MI250X 可为双...
日期:11-09
Visual Studio 2022 正式版发布
11 月 8日晚间,微软发布了 Visual Studio 2022 正式版等诸多内容,Windows 平台软件开发者的福音来了。
日期:11-09
全球首个奥林匹克频道央视 CCTV 16 已实现全国 31 个省份全覆盖
11 月 8 日消息,10 月 25 日,中央广播电视总台央视奥林匹克频道(CCTV-16)及其数字平台正式开播上线,这是国际上首个以 4K 超高清和高清标准 24 小时上星同步播出的专业体育频道。
日期:11-08
Win10 21H1 正式版即将到来
11 月 5 日消息,据 Windows Latest 报道,在 Windows 10 版 21H2(又称 2021 年 11 月更新)正式版推出之前,Windows 10 版本 21H1 已被微软批准广泛部署,这意味着它现在正被广泛推送给 PC 用户。在某些情况...
日期:11-05
  专栏介绍
半斤 的专栏
半斤发表的文章