BIGO全球计算平台的技术挑战Tech说

首先从计算基础设施视角看,用户地区全球分布的特点驱动BIGO在全球建设了近100个IDC,进而业务计算需要在多个IDC间进行合理规划与布局,其次多地区不同运营商的网络服务质量参差不齐,无法满足高品质音视频传输和其他服务的要求,需要自己动手构建BIGO的全球基础网络。

从大数据计算的视角看,数据规模以每年3倍速度增长,2019年BIGO的HDFS存储规模已经达到100PB,逐步碰触到hadoop开源系统的技术盲区,暴露出一系列计算瓶颈和稳定性问题。大数据的另外一个视角是数据中台,数据赋能业务的水平对增长,留存和成本指标的影响日渐增大,成为业务竞争力的要素之一,如何提升数据化运营水平,更好的运营数据资产,最优化数据成本的工作优先级显著提升,而数据赋能因业务属性的不同而存在明显差异,没有成型的方法与路径可循,需要BIGO探索出自身的数据中台建设之路。

从机器学习的视角看,视频推荐,内容生产,内容审核,自然语言处理的水平提升极其依赖机器学习技术,其机器学习的核心推动力是更高精度的算法模型,强大的算力以及丰富实时的特征信号,机器学习平台层面如何支持复杂模型结构的高效训练和预估,如何支持万亿级别参数,如何实时记录和计算特征,如何保证onlinelearning流程的稳定可靠,如何支持100个算法工程师的并行研究,如何有效利用CPU/GPU/ASIC异构硬件算力都是需要攻克的前沿技术课题。

从基础架构的视角看,计算的全球布局带来了应用系统的碎片化治理难题,这要求分布式服务治理体系,自动化交付能力,在线数据管理和应用单元化切分的技术标准抬升一个层次,所以BIGO正在基于CNCF技术生态构建一套BIGO的全球化服务架构标准。另外BIGO业务催生了多样化的分布式数据存储模型,研发和维护多个分布式存储系统的代价非常高,有没有可能通过一套通用的存储架构范式来把底层的复杂技术组件化?譬如数据持久化,一致性和可用性设计,高性能单机存储引擎,从而使得不同业务场景能根据需要配置出合适的定制存储系统是我们正在探索的技术方向。

从推荐平台的视角看,推荐已然是直播和短视频产品流量分发的中枢,推荐在BIGO直播和短视频中接入的流量分发场景超过50个,将推荐能力通过平台化做到多场景可插拔具有重要意义,一方面更多场景接入推荐能力可以提升产品整体流量分发效率,另一方面也让复杂的推荐系统研发效率大幅提升,成本大幅下降。

2.BIGO为什么不选择依赖云服务?

在展开介绍技术前得先回答一个技术路线选择的问题,那就是近年来以AWS为代表的云计算服务成为很多创业公司的选择,而BIGO为什么从创立开始就没有依赖云服务来构建其技术体系,而是选择了自我研发这条更为艰难的路。

1)公共云服务无法满足BIGO对技术的高要求和定制能力

拿BigoLive直播业务来举例,视频流要在500ms内完成视频的上传,编码,审核,PK场景的多路视频合并和全球下发,这严重依赖和用户分布高度匹配的CDN节点覆盖,依赖定制的网络路由算法,依赖独特的视频编解码算法,还依赖弱网环境下传输协议和系统内核的高度优化这一系列前沿技术定制能力,而这些能力是公共云服务无法在成本和效率约束下提供的。

2)可持续掌控的技术领先优势

欢聚集团最早定义了直播行业的产品形式和技术标准,BIGO创始团队从欢聚集团分离出来时自然而然继承了欢聚集团的技术领先优势,并深刻认知到技术在直播和短视频行业竞争中的重要性,所以从开始就在战略层面明确了BIGO要持续掌控音视频领域的技术领先优势,其实这5年来BIGO在海外业务上的高歌猛进的确和其技术优势是分不开的。

3)计算成本大幅下降

在全球几万台服务器的规模下,BIGO自研的技术方案的单用户成本还不到云服务技术方案的50%,这不仅大大提升了BIGO全球化业务的利润空间,还获得了商业竞争策略上的主动性。

3.全球计算布局

既然BIGO明确了从上到下自研的技术策略,首先要考虑的就是全球机房和计算的布局。BIGO全球近百个IDC被划分为4个逻辑计算层次,业务计算任务会根据延迟,网络质量,吞吐量和成本的综合指标要求来确定其部署层次。

图1:BIGO全球计算布局

1)前端节点放置在最靠近终端用户的地方,提供高品质接入

3)大区计算中心主要部署内容审核以及其他近线计算,取得在延迟和成本的平衡

4)全球联合计算中心则部署模型训练,数据分析,数据挖掘等高吞吐量计算任务,通过整合全球2-3个大集群进行联合计算任务调度

4.全球基础网络系统

再来介绍下BIGO全球的基础网络系统,由于BIGO全球IDC的多个运营商的服务能力参差不齐,需要BIGO自己动手建设全球基础网络系统BGNS(BigoGlobalNetworkSystem),为上层应用提供可靠和高效的网络传输服务,其中包含一系列自研的核心技术,也是BIGO音视频传输技术领先行业的技术底座。

1)透明路由系统(BAS):虽然IDC之间提供了专线连接,但是各区域各运营商的专线质量参差不齐,还是偶尔会发生丢包,中断和抖动的情况,为了能够快速感知并切换网络路径,透明路由系统BAS运用流量分析与调度算法能快速感知网络故障,然后将网络流量分流到更优路径,当专线网络故障恢复后又将流量自动恢复到原有路径,做到了对上层业务的完全无感知。

3)用户质量探测和调度:当一级的BAS和二级的BVTS系统来保障服务器间的网络质量后,终端用户的接入选择就成为网络接入”最后一公里”的问题,为此我们通过少量用户主动探测边缘节点的反馈数据,最终还原出全球终端用户视角看到BGNS各节点服务质量状况,然后实时分析用户网络状况和运营商服务质量变化,及时调整终端用户的接入点并平滑切换。

4)城域网的波分多环:城域网内核心和边缘节点间互访流量巨大,多供应商多线路的管理成本较高,BIGO通过波分复用技术在海外允许使用darkfiber的区域构建了同城传输网络,具备了毫秒级的故障自愈能力,同时提供超大的网络容量。

5)BGP跨区调度:由于不同国家运营商接入全球互访方式的多样性,BIGO借助自身的全球骨干网和出口网络灵活调整覆盖区域的接入点,达到成本和质量最好平衡。

5.多集群联合计算架构

到2021年BIGO大数据存储规模将达到EB级别,再考虑到用户在全球多地区分布的特点,中心化的大数据集群管理模式已经无法在吞吐量,网络传输和计算成本上获得最好的整体收益,且单集群规模过大后系统稳定性问题突出,据此BIGO正在建设跨大区的多集群联合计算架构。

图2:BIGO多集群联合计算架构

首先在存储层部署多个HDFS存储集群,并提供统一的存储视图,存储客户端通过请求联合路由服务来定位HDFS集群,这样的架构设计获得了集群粒度的扩展能力,多个集群可以提供出EB级存储规模,而且集群数量可以灵活配置,集群的软件版本也可以非同步升级,另外的好处是可以将冷热数据存储采用不同的数据存储结构,譬如为冷数据引入Erasurecoding可以节省50%的存储成本。

上层GlobalScheduler负责全局计算任务调度,它会根据计算任务依赖的数据位置来调度任务到对应集群,任务提交者在大部分情况下不需要感知数据物理位置,当然这需要对业务数据进行合理规划,尽量避免跨集群的数据依赖。

6.工业级机器学习平台

机器学习是视频推荐,内容理解,内容生产,内容审核场景下的核心技术能力,而机器学习的能力提升依赖更高精度的算法模型,强大的算力,丰富实时的特征信号以及高效的算法试验,BIGO工业级机器学习平台主要面向后面三个目标来建设。

在2019年BIGO完成了训练和预估能力的重大升级,以阿里开源的XDL技术成果为基础结合一系列技术创新,将模型训练的参数规模从百亿扩充到万亿的水平,支持了TB级模型的训练,分发和预估,支持了RNN,Attention,Transformer和胶囊网络等复杂模型结构,构建了onlinelearning需要的实时样本流,另外还创新性的提出了子图交替训练的模式,在CV领域上线了模型并行训练的能力,算法效果在这些基础能力升级打开了效果优化的天花板,持续获得指标提升。

2019年的另一条工作线是异构计算的极致性能优化,通过GraphOptimization,kernelfusion,CPU/GPU混合调度,TensorRT应用,混合精度等技术手段将训练速度整整提升了5倍,在线预估延迟从100ms下降到15ms,达到行业领先水平。

来到2020年,机器学习平台最重要的目标是将算法的有效试验效率做到极致,希望在统一的平台上支持100个模型并行生产和试验,并支持图像,语音,推荐的多领域模型,这是极有难度的工作,需要从相对聚焦的训练预估技术领域扩展到算法原始数仓建设,样本和特征管理,模型交付与服务,多租户workspace隔离,资源配额管理的更广阔技术范围,行业内并没有成熟的经验可借鉴,TFX的设计理念不错但在工业场景应用的距离还很遥远,又一次只能自己动手了。

7.碎片化服务的治理

全球化部署面临碎片化服务的治理难题,区域性的互联网应用通常只需在2-3个IDC部署,而BIGO的全球化应用大多需要在5-10个IDC部署,这对分布式服务治理,自动化交付,在线数据管理,单元化切分提出了更高的技术要求,否则会严重拖慢产品的升级迭代速度,针对这些挑战BIGO正在进行一些前沿的技术实践:

1)应用无状态化:在线应用通过架构改造不依赖任何本地存储,可以随时被停止和可重入,于是可被灵活的调度,同时这也使得应用描述更简单,可以轻易的构建一键克隆生产环境的能力,研发和测试的并行度可获得5倍以上的提升

2)容器化:将应用交付通过容器标准化,并让计算和物理资源的绑定关系可灵活调整,获得计算分配的极大灵活性

3)统一在线数据视图:为全球应用提供统一的在线数据视图,当离线计算的结果数据需要交付到在线服务时,平台会根据数据消费者的订阅来负责数据的全球分发,在线服务只需要监听自身的数据变化完成本地加载即可

4)自动化交付:基于Kubernetes的应用治理能力让软件,数据,配置的交付过程全自动化,每一次交付的过程会历经test->staging->productA->…->productN的灰度发布过程,每一步交付都可以停止和回滚

5)单元化切分:为了优化成本并让应用在地区间进行灵活的容量配置,我们让在线服务只加载本区域的用户数据,将应用切割成较小的部署单元

8.可插拔的推荐能力

推荐已然成为移动场景下流量分发的中枢,BigoLive和Likee两款产品中就有50个场景通过推荐来优化流量分配效率,但多个场景的推荐系统有80%的框架,服务以及数据可以共享,我们正在实践通过平台化使推荐成为可插拔的能力,一方面能更快更好的赋能产品留存,内容消费,营收等核心业务指标优化,另一方面也能大幅提升推荐系统研发效率,降低研发成本。

图3:BIGO推荐平台架构

BIGO推荐平台分为三层:

1)基础架构层:提供标准化的计算调度,资源管理,分布式服务治理,持续交付,试验平台,分布式参数服务的基础能力,这层的组件或服务是业务逻辑无关的

2)业务架构层:提供推荐领域多种召回,预估,粗排序,重排序业务子系统,通常以服务化的形式在多推荐场景共享

3)内容聚合层:提供场景化的内容聚合逻辑定制,聚合层首先调用多个业务架构层的服务获得内容数据,然后执行不同场景下定制的聚合,过滤和重排序逻辑,大部分推荐场景的接入和迭代只需要在业务聚合层就可以完成

其中基础架构层和业务架构层的服务一般由工程架构团队来研发和维护,而内容聚合层的研发完全开放给算法工程师,以后甚至可开放给产品和运营,这种专业化的分工倍数的提升了效率。

9.可灵活选择可用性和一致性的分布式存储

BIGO的业务场景对分布式存储的需求相当多样化,正在使用和研发的就有文件存储,对象存储,键值存储,表格存储,关系型数据库,图数据库,其中在分布式存储系统设计上的设计难点就是可用性和一致性选择,在BIGO跨地区和跨大区部署的情况下则需要更加严谨的考量和更加灵活的调整,根据不同数据中心的网络质量,不同场景下延迟,数据可靠性,可用性和一致性的要求来综合设计存储系统架构,BIGO为此研发了一个分布式存储系统通用架构范式。

图4:BIGO分布式存储系统架构

如上图所示,DataView面对业务提供多种访问API,一致性模型和CRDT(Conflict-freeReplicatedDataTypes)能力,DataDurability&Replication主要负责数据的持久化和复制,通用的分布式日志,而存储引擎层是对已经持久化的数据进行单机数据组织。

通用架构为不同数据模型的存储系统提供了统一框架,可共享大量复杂的底层技术能力,另外还为不同场景提供了灵活选择可用性与一致性能力,就像是一个可拖拽的进度条,这是分布式系统设计领域前沿的技术创新,在通用架构的基础上研发定制分布式存储变得简单了很多。

10.全球时钟服务

图5:BIGO全球TrueTime服务架构图

11.写在最后

BIGO作为中国互联网全球化的探索者,在直播和短视频的行业上取得了不错的成绩,过去5年BIGO吸纳了行业中优秀的技术成果,也在全球化业务背景下提出了BIGO自己的技术解决方案,可为后来者提供一些参考。面向未来审视,全球直播和短视频业务对技术的要求越来越高,譬如支持更精细的本地化策略,手机端和云端的联合计算模式探索,数据化运营能力提升,利用高端硬件算力赋能视频内容生产,支持更深入的视频内容理解,这些问题对计算平台都提出了更高的要求。

THE END
1.十大学习网站排名网上学习平台哪个好在线网络学习网站推荐近年来,网络学习环境在网络接入性、学习支持服务方面表现优异,整体发展水平得到质的提升,已成为流行趋势。本文中maigoo网编辑为广大学子盘点了中国大学MOOC、Coursera、慕课网、网易公开课、EdX、学堂在线、TED、大学资源网、腾讯课堂等较受欢迎的网络学习平台,一起了解下这些学习网站的优势! 排排榜 关注榜 点赞榜 https://www.maigoo.com/top/420080.html
2.国人最常用的十个学习平台,网易占三席!“2015在线课程学习大调查”显示,在中国在线课程学习者最常用的10个课程平台中,中国本土产品占据七席,其中前三位均被网易教育产品揽下,它们分别是总排行第一名的网易公开课、第三名的中国大学MOOC和第四名的网易云课堂。那么,网易教育产品何以如此出众呢? https://study.163.com/topics/studyblog12_m/
3.深入揭秘:最全学习网站大盘点,适合所有人!今天,我为大家整理了一些优秀的学习网站,涵盖了各个学科和领域。无论你是想提升自己的语言能力,还是深入研究科学、数学、编程等专业知识,这些网站都能满足你的需求。聚集了无数优秀的教育频道,涵盖各类主题。 只要你有学习的热情和动力,就一定能在这些平台上找到丰富的资源。让我们好好利用这些工具,充实自己,追求更高https://blog.csdn.net/qxf865618770/article/details/141730390
4.初中网络学习平台哪个好网络学习平台推荐初中网络学习平台推荐:猿辅导、新东方在线初中网络课堂、学大教育、简单学习网、学而思网校、精锐教育、阿卡索外教网、101网校、中小学教育网、高途课堂。 1初中网络学习平台哪个好 初中网络学习平台:高途课堂 高途课堂是依据国家政策要求,由上市教育公司高途整合成立的非盈利学科机构,并已获得教育主管部门的审批。该机构主要http://m.chusan.com/zhongkao/361294.html
5.支持个性化推荐的网络学习平台设计与实现为此,本文尝试建立了支持个性化推荐的网络学习平台,在该平台中将引入知识地图为学习者导航,解决认知迷航问题,同时利用推荐技术根据学习者的个性化特征为学习者推荐学习资源。本文主要从以下几个方面详细阐述: (1)深度分析了国内外网络学习平台的研究现状、知识地图导航的研究现状以及网络学习资源的个性化推荐研究现状,总结了https://wap.cnki.net/touch/web/Dissertation/Article/-1014402645.html
6.高中网络学习网站有哪些:十个优质网课平台推荐高中是学生学术生涯中至关重要的阶段,选择一个合适的网课平台能够显著提升学习效率和成绩。如今,市场上有许多优秀的网课平台为高中生提供了丰富的课程资源和专业的教学服务。以下是一些备受推崇的网课平台,希望能助力高中生的学业进步。 简单学习网是一个覆盖多个学科领域的在线教育平台,提供全面的课程内容和优质的教学资https://www.thea.cn/xgz_wx_568320-1.htm
7.十大学习网站排名网上学习平台哪个好在线网络学习网站推荐核心提示:近年来,网络学习环境在网络接入性、学习支持服务方面表现优异,整体发展水平得到质的提升,已成为流行趋势。本文中小编为广大学子盘点了中国大学MOOC、Coursera、慕课网、网易公开课、EdX、学堂在线、TED、大学资源网、腾讯课堂等较受欢迎的网络学习平台,一起了解下这些学习网站的优势! http://www.zhuoyunkang.com/news/show-38531.html
8.防疫期间网络教学实施方案(精选11篇)3、教务处要调整教学计划安排,制定线上课程表和作息时间表,做好网络学习平台的推荐和学习资源的分享,科学制定课表和学生作息时间。 4、各年级、各学科根据线上教学学情,科学制定教学进度,灵活安排课时安排,有效完成本学期教学任务。以班级为单位组织实施开展线上教学,班主任与科任教做好线上教学组织和协调,精选学习内https://www.ruiwen.com/word/fangyiqijianwangluojiaoxuessfa.html
9.学堂在线学堂在线为学生提供线上学习支持,包括但不限于:(1)包括图文、视频、讨论、作业等学习单元的学习;(2)视频下载及离线观看;(3)公告区与讨论区师生、同学间互动;(4)线上考试。 网络行为准则 您同意对您使用本产品和您的用户发布内容承担责任。“用户发布内容”是指您和本产品的其他用户在本产品上提交、发布、发表https://next.xuetangx.com/app/protocol
10.揭秘京东超大规模联邦学习平台,如何打破信息孤岛实现安全共建整个平台可以支持百亿级/百T级超大规模的样本匹配、联合训练,并且针对跨域与跨公网的复杂环境,对可用性与容灾设计了一系列的机制与策略,保障整个系统的高吞吐、高可用、高性能。 9N-FL模型算法 9N-FL联邦学习平台对于目前的算法具有非常好的支持,即支持LR、树等经典的机器学习算法,又支持神经网络算法,对于业务有良好https://cloud.tencent.com/developer/article/1816097
11.网络平台学习心得体会范文(精选20篇)网络平台学习心得体会范文(精选20篇) 当我们受到启发,对学习和工作生活有了新的看法时,将其记录在心得体会里,让自己铭记于心,这样我们可以养成良好的总结方法。那么心得体会怎么写才能感染读者呢?下面是小编帮大家整理的网络平台学习心得体会范文,欢迎阅读与收藏。 https://yjbys.com/xuexi/xinde/1950299.html
12.育路网络课堂育路网网络教育频道拥有上千种网络教育培训课程,提供在线学习和交流,课程包括外语类培训,职业认证考试等,http://www.yuloo.com/netedu/