说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

百度大数据首席架构师林仕鼎:新计算时代

HTML文档下载 WORD文档下载 PDF文档下载
2013中国大数据技术大会上,百度大数据首席架构师林仕鼎从大数据系统架构师的角度,分享了应用驱动、软件定义的数据中心计算。林仕鼎认为大数据需要新的硬件体系结构,整个数据中心是一台计算机,软硬件协同创新。

【CSDN现场报道】中国最具影响、规模最大的大数据领域盛会——2013中国大数据技术大会(Big Data Technology Conference,BDTC)于2013年12月5-6日在北京举行。数十家领军企业,近七十场主题演讲,不仅覆盖Hadoop生态系统与流式计算,实时计算与NoSQL、NewSQL等技术方向,还对互联网、金融、电信、交通、医疗等创新案例,大数据资源的法律法规、大数据商业利用的政策管制等有深入讨论。

百度大数据首席架构师林仕鼎从一个大数据系统架构师的角度,分享了应用驱动、软件定义的数据中心计算。大数据的两个典型应用是面向用户的服务和搜索引擎,主要特点是:第一,数据处理技术比面向用户服务的技术所占比重更大;第二,数据规模比以前大很多;第三,通过快速迭代进行创新。随着对大数据系统更深层次的理解,林仕鼎认为大数据需要新的硬件体系结构,整个数据中心是一台计算机,软硬件协同创新。


百度大数据首席架构师 林仕鼎

以下为演讲实录:

百度的大数据系统有两个典型的应用:

第一是面向用户的服务,主要包括logic、cache、data这样的技术,绝大多数应用通常放在MySql、Nosql里面。这种应用的特点是每次用户查询来的时候我可能对于这个logic要求比较好,这个好处就是一个PC并不需要访问很多的数据。用户可能会有一些突发性的增长,就是尖峰的到来使这个系统压力变得更大。

还有一种典型应用是搜索引擎,通常来说它有几部分。我们希望从网络中爬那个数据,爬下来之后放在大的网页库里面,对网页库进行挖掘和分析,把那些作弊的网页去掉,找到每一个页面全值对它进行监控,进大排表。这里有几个不一样的地方,用户查询来的时候会访问大排表,但是每一次的访问对大排表的数据基本上每台机器都要访问到,另外后面处理是不间断的进行的,我们要把网页更新抓下来放到网页库分析。到中间有一个大的存储,逐渐又要发展成更实时的结构,我们希望借助更新的变化可以更快反馈到用户这边来,比如说谷歌做的系统就是这样的。

这两类应用都有一些特点:首先,越来越多的Workload转向离线数据处理。百度开始就是后台处理机器比用户服务机器多的公司。我们关注怎么帮助用户存储UTC,怎么让他访问UTC,不一定跟钱有关系的交易,客户逻辑这些工作。我们慢慢过渡到做大量的数据处理,数据处理从大规模越来越做得复杂、实时。

其次,随着我们对整个业界和数据越来越重视,每个公司的数据量都在增加,这是我们新应用的特点。今天我们数据量大概是1000PB,每天我们处理100PB以上的数据,网页数量接近一万亿章,中文加其他语言的页面,每天我们响应请求数量也是在百亿的数量级。我们这种请求跟普通用户的PV不一样的,因为每一次的查询是后面的这些机器,放到大排表的机器都需要访问一遍,每天产生一个TB的日志,这样的数据量大家可以看到会比一般公司高一到两个量级。

第三个应用的特点就是整个互联网的服务是以迭代式的方式开发的。很多时候我们做功能并不能一开始就做好,我要通过不断的实验去找出来哪一种做法是好的,而这种实验越来越多需要在线上完成,我们利用一小部分用户让他去做实验。比方说我们有两种算法A和B,我不知道哪个好,从线下调研下都很难知道哪个好,还有我们界面的改版只有让用户评价才知道哪个是好的。我们把大量的离线分析和在线实验结合起来,在线需要很多数据,通过大量线下数据进行处理才能生成,这个速度又非常重要,怎么把用户在线产生的数据更快速跟线下数据结合,再推到线上来。这个带来了很多问题,比如说发现同样一种功能其实在线上跑好几个版本的,我怎么对多版本程序逻辑管理,怎么为他们分配资源,怎么给导流,分配数据都是一个大问题。

比如说搜索引擎的迭代,我们看基本的网页库存储以外,我们需要有一个平台,根据网页库要分析的数据我们做特征的训练。在用户去做查询的时候我们可能分配不同小的用户去做CN,这个CN里面有不同的策略和算法,很多时候需要全量的数据,你做一个实验需要有全量大排表的数据,这个实验要根据结果做很快的分析。对于普通面向用户的产品实际上也需要做不断的迭代,我们从一个产品的想法到它的原型,然后变成系统到产品你可以做做运维,做运营的过程你要根据用户使用去做更快速的调整,这里面每个步骤要有大量技术支持.从想法开始,你可能需要一些数据分析验证你的想法,不一定说你非要做这个产品出来,你可以在事前验证究竟是不是靠谱。PM可能需要你的主意,你要怎么做,用最快的方式把原型拿出来,我们就可以使这个产品更快把功能确定下来,然后测试,这是典型的互联网产品所需要迭代的过程。

对于这样的一些问题,数据中心运用的模式是这样的,云计算、大规模存储,我们都做了很多系统。然后有大规模的计算,现在基于实时数据的分析和处理。我们有虚拟机可以支持多租户的环境,使得以前的应用可以更频繁的迁移过来。我们还做了App Engine,整体来说我们做这些功能是要解决Scalability的问题,但是这个是不是够我们可以看一下。大家可能不仅仅做了这些,像我们做了很多的存储,一开始的时候我们给每一个都做一套系统,随着系统越来越大之后我们发现很多问题是共性的,存储系统跟你数据组织和接口无关的这些技术我们需要处理。所以我们开始去整合这些系统,就重新设计一套这个系统希望说用一套系统支持不同数据的结构,好几个接口。这是我们统一的系统,然后我们构建一个数据结构,希望用内存加速这种实时的数据处理。这样的话我们去平衡应用需要大流量,高并发看起来比较矛盾的需求,通过一些技术组合去实现矛盾的需求。同时我们也去做数据访问,把数据不仅存下来而且传输也是统一的。在计算方面我们做了混合式的计算,从批量到增量到更实时的处理引擎。我们做了这么多,是不是够呢?这里又个有问题:

第一个问题就是所有的快速交付在向底下基础设施要需求的时候,你要让我快速把业务拿到,让我部署上去把业务运行起来。最好就是说我提出这个需求的时候我马上拿到这个资源。对于一个业务来说还好办,但是对于底下的基础设施来说你需要的需求不一样的,有时候需要硬盘大的等多样性的需求和快速交付有一个天然的矛盾问题。怎么解决这个矛盾的?首先说我们要改变传统的预算模式。我们还是业务线提这个预算,我们需要做这个审核,每年有几次的预算审核,如果大家有过几十万台大数据中心,你发现每年预算这个复杂性基本上是不可承受的工作。而且每个预算提出来的时候,他希望我最好拿到我需要的资源,但是这是不可能实现的事情。因为需求的越多样就意味着说你每个量PC就越少,就是越需要定制,越不能交付。提供交付能力我们改变这个运算模式,由按需预算改成定期扩容。我们做over provisioning,利用系统冗余资源满足业务突发需求和多样性的需求。你提前准备好这种资源一定是确定的,来自业务线的需求是不确定的。我们怎么能够做到这点,你要做provisioning你必须是标准化的需求。对于上面应用来说最重要能力就是做快速迭代,它拿到资源以后可以利用上去去做实验,去升级它的版本。但是我们怎么使这个迭代做的更快,除了我们现在提供的这些功能之外,实际上还需要很多很多东西,一个我们需要有更好的资源调度,需要有平台帮你处理容错和扩容的问题。这个实际上很难,我们做了很久,整个业界也做了很久,实际上这个还是很难做到的。我们下面有一个平台,上面的业务还是要做处理,需要把模块之间关系曝露给你,需要把数据提取出来,前面需要逻辑的部分是无状态的,这时候我才能在错误出现的时候做调度,流量变大的时候做扩容,但是这个意味着你这个结构需要重构,而且底下的系统需要有更好的错误监测和调度的能力。对于应用来说你需要有更好的部署能力,这个部署能力在大规模的系统里面,实际上也是一个很复杂的事情。我们典型的在线服务可能是几百个上千个模块在里头。我们做部署的时候你发现我们部署一个系统,它有很多的模块间的依赖关系,每个模块有好多个版本,要做多版本的迭代,这时候业务要存一个多版本的数量。怎么由系统帮助你维护服务之间的拓扑关系,这是需要解决的问题。我们有了一套环境之后你可能要扩建多个环境出来。

第二个问题:我们分发可能经历灰度过程从5%到10%到90%到100%,这个过程中间需要处理,这个业界很少做这个研究的。资源首先应该是弹性的,基站位网络还有机器,这是真正可以弹性扩张的。下面你快速迭代,服务运营的需求,对这种服务运营的需求你同样也需要支持这种弹性扩张。我们说到系统的弹性,它应该每个上面都有这种端到端统一做交付,由这些能力加起来才是真正弹性的平台。根据多年关于Elasticity的经验,你没有一个更好的预算模型,更好的硬件系统架构的话,是一个很大的瓶颈。当你把资源问题解决掉,功能解决掉,对上面的业务来说实际上最典型要处理的问题就是它需要做快速的迭代,做快速的版本升级,这里面需要有很多环境的支持。然后做运营的时候有大量收集数据和分析数据的需求,这些都应该集成到我们整体的平台上去才行,只有把这些做起来才是真正弹性的平台。我们为了解决这个问题,我们需要什么东西?我们考虑这个数据中心体系是什么?你本身基础设施怎么升级做到标准化,在标准化下满足应用多样性的需求。我们需要把那些资源都给出来,现在的机器一个一个节点都是CPU、内存、硬盘、SID,我们有那么多台机器插入的时候,整个基站和数据中心是单位,我们还可以把那些资源拿出来,CPU、内存、硬盘都拿出来,拿出来以后我们有很多的灵活性,我们就可以重新构造成一台一台的机器。这个有点像是说我们需要定义数据中心的体系,这个体系对于单机来说更像是原体系机构,我们配置这些原体系机构变成一台一台机构的体系结构。

另外我们在这个上面需要OS,可以帮助我们做资源的调度、更好的部署整个发布的管理,这是整个OS需要的功能。disaggregation我们把每一个节点里面CPU和电源拿出来放在后面去,下一步可能把网络拿出来放到后面去,这是无物理机的方式,这个不会改变整个系统的disaggregation。下面我们会做一件事情就是把里面机器节点直接联系起来,现在有这样一些技术可以使它们联系起来。一些机器可以访问另一台机器的某一个设备。再一下我们彻底的把它们重组起来,我们通过disaggregation出来,然后就可以形成一台一台需要的机器。这样我们可以在标准化系统交互的标准下满足应用多样化的需求。

我们需要有机器的管理,这个上面我们可以帮助做部署和发布,这时候应用的架构需要做变化,我们需要每一个应用里面服务依赖关系抽出来由系统管理,这个我们叫PIS的服务。然后一些应用可能服务加大,有一些它的数据,这个数据同样要列出来在前期管理,我们对应用做迁移和扩容的时候是无状态的也可以,很容易扩容。对应用的多个版本我们同样需要做软件包的管理,把它所依赖软件的环境都抽离出来由系统统一管理,这样我们可以构建出多种多样的环境出来,多个版本的环境出来。上面还要构建一些兼容系统,这个系统本身运行也会产生大量数据,我们对这些数据分析可以帮助我们指导系统的优化。这个我们已经做了一些工作,我们对磁盘做了大量的改进,现在可以把磁盘误报的错误率降低80%。在这个基础上还可以做机器CPU内存使用情况,网络通信情况,模块和模块之间通信的情况,我们把数据收集起来可以做分析,异常的检测,把异常的检测和错误事件解决连接起来,这样可以发现这个系统存在的问题防止一些错误的发生。

第三个问题,我们今天所说的大数据不仅是规模大,更重要是其他的特点。第一个我们需要有大规模的数据管理和处理能力。第二个特性是多样的,数据从多个来源来的,它的形态不一样的,我们需要有多模态的管理能力,我们需要管理视频,管理视频的特征,还有图片语音的特征,而且能够对它特征进行更好的分析查询的服务。我们需要具有关联分析能力,数据从多个来源来的时候,一定把多个来源的数据放再一块分析才可以发掘你要的东西出来。另外一个数据是不断的变化的,我们除了具有大规模数据处理能力之外还需要有智能的数据挖掘算法。

多媒体的分析、NOP、广告这些,中间是数据处理和管理包括大规模数据仓库和平台,后面是技术架构,软件架构包,实时的数据计算以及硬件的基础设施。这个基础之上我们可以把一个完整的大数据系统构建出来,比如说对于大规模的数据通过分布式的存储和计算引入进来。我们初步处理以后可以灌到机器学习算法里面去,通过引擎把消费者连接起来。让人标注可以帮助到我们的学习,现在所谓众包就是这个概念,有这样的系统之后我们可以支持评估、推荐、智能交通这样一些APP。对于实时的存储和计算我们除了做那些功能,我们还需要把完整的体系构建出来。我们需要有分布式的结构,你要做实时的分析数据一定要放在内存里面,你把数据放在内存应该在上面直接构建分布式数据处理。

我们发现说我们做了这么久软件上的架构还是不够的,很多问题还是解决不了,比如说我们做一个迭代,大家知道它是PSP的模型,所有的节点都需要你装满数据,这个基本上系统的瓶颈都在最后的交互数据上。这些东西除了我们软件做很多模型,更重要我们需要有新的硬件体系机构支持它。包括Power-efficent,还有以数据的移动和处理为中心,新的存储、通信、计算架构,异构化,同时还引入ARM、GPU、FPGA等技术。

我们现在做新的CRAY,这个CRAY机器里面有很多线。今天有了更多的数据以后我们还是要回到以数据交互为中心,而且这个需要跟其它服务共享基础设施,才可能成为真正的大规模系统,提高内聚性、配件池、标准化交付,满足应用层的差异性需求。以软件接口的方式隐藏异构性。现在我们做的事情就是新的软硬件一体的集成方案,包括应用驱动、软件定义、实现全系统的集成。这里想给硬件公司提几个建议:一个是硬件应该尽量简化。赢家呢可控制性、剥离控制逻辑应放在更重要的位置,硬件应尽可能多地收集数据,包括历史统计、当前状态,并通过数据分析去做更多的优化和智能。谢谢大家!

更多精彩内容,请关注直播专题2013中国大数据技术大会(BDTC)  ,新浪微博@CSDN云计算

【OSTC讲师专访】Thomas Yao:开源社区最缺有能力的领导者 对比MySQL,你究竟在什么时候更需要MongoDB 不以“大小”论英雄,对比IBM、AWS,谁才是Hadoop界的MVP? 参加“我们都用JIRA”视频征集大赛 赢取乐视TV超级电视 开发者下一个待开发市场:印度 一周消息树:80%开发者背井离乡,70%经常加班 移动周报:最受欢迎的跨平台开发工具推荐 研发周报:Mt.Gox破产,都是错误编程惹的祸 数据挖掘+人工智能,教育定制化下的学霸量产 通过700合作伙伴的进一步细分,Google变得越来越像微软 一周热点:高薪必备:Hadoop求职者的6大攻略 谷歌Android主管:两周内为开发者推出可穿戴设备SDK 【OSTC讲师专访】魏子钧: “中国式开源”没有“然后” 揭秘CarPlay欲将颠覆汽车产业的真相 联想王岳源:利用Web App推动互联网转型 IT经理人:提高团队工作效率的11个方法 30美元一小时,数据科学家的收入是否太低? 选择Go语言的12个理由 动鱼数码携三款大作参战Unity游戏及应用大赛 从Google、Apple、Dropbox、Twitter和Square学到的管理哲学 软件开发就像炒股,关键看你怎么选股票! iOS 7.1正式版:新增CarPlay连接功能、完美支持iPhone 4 【OSTC讲师专访】马全一:Docker,Hadoop的竞争者来了! 福布斯:全球那些富可敌国的科技大佬们 抢工作、争资源,如此聪明的AI你拿什么阻止? iUI:移动Web应用开发必备的开源框架 支持iOS 7.1!苹果发布Xcode 5.1更新 视频云将成为2014年乐视新的发力点 3月12日:万维网迎来理念诞生25周年 《近匠》云适配CEO陈本峰:跨屏移动,曲线一样救国 Intel陈荣坤:赢取移动市场的几个先决条件 200分求 网路精灵XP V2.0.7 简体中文版 的注册机? 200分求 网路精灵XP V2.0.7 简体中文版 的注册机? 200分求 网路精灵XP V2.0.7 简体中文版 的注册机? 请问用VBSCRIPT怎么写这个正则表达式,在线等, JB做打印可以吗? lz32.dll 基于MIDP1.0的CS结构有没有好的解决方案 200分求 网路精灵XP V2.0.7 简体中文版 的注册机? 关于不同包package内的静态变量访问的问题,帮忙解答 求crystal report enterprise8.5的keycode,谢谢 Windows Server 2003 Enterprise Edition 激活问题 好学生通宵学习。遇到问题! 如何得到N个月以前的年、月 大家都来说说从记事起到现在有哪些经典的歌曲曾经红遍大街小巷,我开FTP,大家帮着搜集一下 ““struct”类型重定义”” 是什么意思? 哈稀表如何遍历一边? ie突然打不开ftp网络了 谁能帮我解决这个对我来说的难题!!!(分数不够可以再加) 大家对2008奥运标志有什么看法?? 第一次在LINUX下使用GCC.... ie突然打不开ftp网络了 好久没来了 来看看 最优三角剖析的问题 why squid can not start? 关于字符串的问题,数组和指针有什么区别? 这个日历是怎么搞出来的,比较实用,怎么做一个 一个调用存储过程小问题 来看看 很简单的问题,请教一下 软件工程中哪本教材比较好? 看BCB5的书,在BCB6编译是否完全能通过? 正义的高手门请伸出你们的手黑了这个彩票网站吧!(海南私人彩票害了很多人倾家荡产,家破人亡,我家也深受其害) ie突然打不开ftp网络了 我的MATRIX观----生命的究极存在形式 关闭窗口的问题 因为昨天晚上的积极表现。 我的真情告白·!#¥%…… 遇到了“Destination host unreachable.”,谁能简单的帮我分析一下出错的可能性。 关于安装windoew 2003的初级问题.解决立刻给分. 如何在LISTVIEW里输出打印? 现在你应该睡了~ 困了,睡觉去~~~~~~~~~ 有没有可能在outlook express中加入自已的按钮? 有没有可能在outlook express中加入自已的按钮? 一个sql表达式的问题 JBUILDER9中用代码改变程序的外观, 难?易?,如何写,见贴内,谢谢! 我的电脑里的g盘分区损坏(磁盘坏道)请问有没有补救的方法? 谁有培训教材,单位培训的?? 印章问题?? 如何实现文件上传?在线急等!!! 已知三角形两个顶点的坐标,及三条边的长度,求另一个顶点的坐标 的公式.是帮一个在建筑公司工作的朋友问的. What is he like?与What does he look like?有何区别与共同点? what is he like 和what does he look like 在区别 三极管的发射结处于正偏,集电结处于反偏.请问什么叫做正偏,什么又叫做反偏? industry用英语怎么读 降幂题 帮我解这道降幂题把多项式-5x6次方+x2次方y2次方-2x3次方y+6x2次方y3次方按y降幂排列为————,其中最高次项是—— 《凡卡》中的老板和伙计是怎样的人,说明理由 什么动物四处游 什么是hyper-v 关于涡流的物理题答案选AC,谁能帮我讲解下吗? 涡流有关的物理题我怎么觉得B和D都是对的?C是错的?最大高度应该能超过MN吧? Oculus Rift将生产安卓手机\"人民币女郎\"病危就医 为新中国治污减霾刻不容缓 中国展开“呼吸保卫云南绿春县发生滑坡灾害 1人因石岩坍宁波银行倾力支持灾区重建 6亿专项贷浙江革命烈士纪念馆开展中国共产党92“人民币女郎”病危就医 为新中国首位绍兴市调整行政区划 撤销绍兴县上虞市武义江遭日化企业偷排污水 环保部门立浙江象山:消防安全宣传走进“千年古驿德摄影师记录搏击场上的泰拳儿童:成父我国确诊首例MERS中超第12轮对阵顾客等待心理的十条原则两军级以上干部涉嫌违纪被调查“巨石”强森:愿意为女儿付出一切英女子体毛超浓密 自称“骄傲”无需掩珠海将办首届“智能电网展”夏日 味蕾的华丽邂逅个别公司退市风险值得关注婴儿乘车病危 列车临停救人中国学霸“承包”哥大统计系 欧美数学
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘