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

对话Spark核心作者Ion Stoica:我的编程之路从2KB内存开始

HTML文档下载 WORD文档下载 PDF文档下载
Ion Stoica是UC Berkeley计算机教授,AMPLab共同创始人,弹性P2P协议Chord、集群内存计算框架Spark、集群资源管理平台Mesos都出自他。CSDN与英特尔中国研究院首席工程师吴甘沙共同完成了对Ion的对话。

大约一个月前, Ion Stoica和他创立的创新公司 Databricks再次成为大数据行业关注的焦点:Databricks获得了来自Andreessen Horowitz 1400万美元投资,Cloudera宣布联合Databricks提供Spark企业级服务。

Databricks由Ion Stoica与麻省理工学院计算机科学助理教授Matei Zaharia、UC Berkeley计算机科学教授Scott Shenker等共同创办,Scott还是知名SDN公司Nicira的联合创始人及CEO。Databricks专注于Spark技术的产品化。

一个月前,CSDN向Ion Stoica发出采访邀请。在漫长的等待回复期间,Databricks完成了以上两项里程碑式的演进。

图:Databricks团队成员

后排从左向右依次为:Andy(Spark Summit的组织者)、Arsalan(曾在麦肯锡主管大数据以及IT策略管理咨询)、Matei Zaharia、Ion Stoica、Scott Shenker、Mike Franklin(AMPLab director)

前排从左向右依次为:Ali( 分布式系统、分布式算法以及调度系统专家)、辛湜(Shark的作者,Spark核心成员)、Patrick(Sparrow的作者之一,也是Spark其中一个最重要的贡献者)、Aaron(Databricks工程师)

对话中,Ion Stoica强调了Spark和Mesos与Hadoop软件堆栈的合作关系,Saprk的演进方向和数据挖掘的强化,以及BDAS的远大目标。对话全文如下:

CSDN:Spark已经显示出相对于Hadoop的优势,在你看来,Spark还需要哪些方面的完善?

Ion Stoica:Spark相对于Hadoop的主要优势是高性能和易用性。Spark的高性能源于其采用内存储存数据,应用可以以内存的速度进行运算。它的易用性在于通用的API,使用户可以编写复杂的并行计算程序,使之看上去就像串行程序。这让Spark程序更容易开发和读懂。

未来,我们将在几个方面完善Spark。我主要谈谈两个主要方面:

  1. 开发强大的库,方便用户开发复杂的应用。目前,Spark提供了MLlib,这是一个机器学习(ML)的核心算法集。我们会继续扩展MLlib,并发布其它库。另一个库是将马上发布的GraphX,它将支持高效的大规模图算法。
  2. 提升性能。我们希望在以下几个方面提升性能:a. 允许多个Spark环境(context)可靠地共享内存中的数据;b. 支持更快的key-value查找;c. 支持细粒度读,如果可能的话,还包括细粒度写。

此外,我们正致力于更好地集成和支持Python生态系统,因为我们注意到用户对Python编程有着强烈需求。

CSDN:你创立了Databricks,接下来有哪些计划?

Ion Stoica:Databricks还处在隐身状态,所以很遗憾,我现在不能谈太多。不过,Databricks的使命很简单——“建立最好的计算平台,致力于数据的价值挖掘”。这一平台基于Spark、Shark和其他一些我们过去几年中在Berkeley AMPLab开发的组件。另外,我强调,Databricks坚定地建立开源的Apache Spark平台。

CSDN:Mesos是你们开发的另外一个项目,这个项目有哪些特别之处?

Ion Stoica:Mesos是第一个支持多种集群计算框架的资源管理平台,支持Hadoop、Spark及Storm等共享同一数据中心的资源。这将带来两方面的好处,首先能提升资源利用率,计算框架能够获得其他框架不用的资源。同时,能提升性能,不同的计算框架可以共享同一集群的数据(不需要在不同的集群之间移动数据)。

Mesos展示出两方面特性。首先,支持细粒度共享,在任务级别(而非作业级别)共享资源,而每个任务可能只有短短的几秒。其次,Mesos具备高度扩展性,它用C++开发并使用了模块化架构,让上层框架决定哪个任务被调度、何时被调度 (而Mesos调度器只决定哪些资源分配给那个上层框架,这是二层调度中的底层调度)。这让Mesos可以扩展到数万台物理机,同时运行数百万的任务。

CSDN:AMPLab更宏伟的一个愿景是BDAS(Berkeley Data Analytics Stack),您能描述一下BDAS吗?它能做什么?多久能够实现这样的愿景?

Ion Stoica:正如其名,BDAS是我们过去几年在Berkeley开发的一个大数据分析软件堆栈。BDAS的所有组件都是开源的,在社区的帮助下,我们希望它能在工业界、学术界和其他科研组织广泛使用。

BDAS由资源管理层(Mesos)和计算层(Spark)组成。Spark是BDAS的执行引擎,就像MapReduce与Hadoop的关系一样。在Spark之上,我们实现了几个组件来处理不同的工作负载,包括Shark——用于支持SQL API,SaprkStreaming——用于流计算,MLlib——高质量的机器学习算法库,以及 BlinkDB——一个采用近似技术的查询引擎,通过采样技术实现大规模的交互式查询。此外,我们还开发并建立了 Tachyon,一个支持多Spark实例高效共享内存数据的存储层。

BDAS的核心是支持那些Hadoop不能优化执行的工作负载,比如低延迟查询,流式和迭代计算。这将让用户更快速地分析数据并作出决策,最终将提升企业和组织的投资回报率。

好几个BDAS的组件已经可以获得。Spark、Shark和Mesos已经在一些企业中用于生产环境,包括Twitter、Yahoo!、苹果公司和Intel。例如,Mesos目前在Twitter运行了超过6000个节点,有数百个工程师在使用它。Mesos和Spark都是Apache项目,有活跃的开源社区做支撑。例如,Spark有来自23个公司的超过90个贡献者。

作为对Mesos、Spark和Shark的补充,我们发布了alpha版的SparkStreaming、Tachyon、MLlib和BlinkDB。展望未来,我们计划发布一个图计算引擎——GraphX,以及MLbase——一个机器学习框架,它提供了声明式接口(说明做什么而非怎么做),允许非专业人员使用复杂的机器学习算法。
非常重要的一点是,BDAS和Hadoop软件堆栈是互补关系(而不是竞争关系),两者在多个层次可以互操作。首先,BDAS并没有自己的文件系统,所以它可以使用Hadoop文件系统(HDFS)。其次,Spark可以运行在Hadoop YARN上,替代Mesos。第三,Hadoop也可以运行在Mesos上。第四,Shark兼容Hive,后者是Hadoop上面最流行的SQL解决方案。

图:Timex Sinclair 1000

CSDN:你从什么时候开始意识到,计算机科学是自己未来的工作?什么促使你作出这样的选择?

Ion Stoica:我在上高中的时候有了第一台属于自己的电脑—— Timex Sinclair 1000,它只有可怜的2KB内存和16KB扩展内存,不过我立即沉迷于探究通过几行BASIC代码我到底能做到什么。

CSDN:能否预告下您将在第七届中国大数据技术大会(Big Data Technology Conference 2013,BDTC 2013)上分享的话题?

Ion Stoica:我会聊聊BDAS。 

Ion Stoica:在回答以下这些技术问题前,我声明一下,最新的Spark发行版中的大多数代码贡献来自于AMPLab和Databricks之外,我们希望这种局面在未来能持续下去,因此我的回答只能代表未来Spark项目的一部分。

吴甘沙:Spark是一个粗粒度数据并行计算框架,在一些机器学习和数据挖掘(MLDM)算法上表现并非最优,因为其需要细粒度异步更新(如图并行计算)。GraphX向图并行计算迈出了一步,但它并不像PowerGraph那么高效。鉴于BDAS跟机器学习密切相关(如MLBase/MLlib),Spark将如何演化以便更好地解决细粒度和异步更新问题? 

Ion Stoica:这是一个非常好的问题。是的,在其核心,Spark执行的是粗粒度的操作。这使得Spark可以限制世系(lineage)的长度,从而能在出错时有效地实现恢复。然而,正如你提到,有些机器学习和图算法在细粒度操作下可以获得显著提升。未来,你将看到Spark增加这方面的支持。首先,我们计划增加索引功能,这将用于细粒度读操作。在更下一步,我们希望支持增量更新,这可以显著地减少写操作的代价。 

吴甘沙:为了打破MLDM算法的并行障碍,人们正在讨论有限过期性(bounded staleness),Spark会在语言这层支持吗?

Ion Stoica:有限过期性是一种有趣的概念,我们发现它在key-value数据存储的语境中有用武之地。在更一般化的情形下,忽略“掉队者(执行异常地慢的任务)”,代价是计算精度上略有损失,这在提升性能上很有价值。我们正在Spark上调研这些想法,但并没有马上将其加入到Spark的计划。

吴甘沙:为了更好地移植复杂算法到Spark,开发者最好要去了解Spark底层实现的细节。Spark团队会提供设计模式或最佳实践吗?Spark会提供非常成熟的编译器(去替代调度程序)来自动化代码调优吗?

Ion Stoica:是的,我们期待一些设计模式的出现,在更多应用开发的过程中得到实用。我们也在开发一些高质量的库(如MLlib、GraphX),通过这些库用户将实现更高效、高度可扩展的算法。此外,我们正致力于把更多的性能度量指标开放给应用开发者,帮助他们优化应用。 

最后,我们正在优化Spark应用的执行计划,这也许最终将变成一个完整的编译器。 

吴甘沙:Spark现在还不能利用硬件层的数据并行性,Java代码生成器无法获知数据并行语义,因此其生成的代码不能使用单指令多数据流(SIMD)。Spark会把这个作为一个机会吗? 

Ion Stoica:是的,我们正在评估这个机会。不过,我们才刚刚起步,现在还没有太多可以分享的。 

吴甘沙:当Spark集群扩展到数千节点后,会遇到哪些主要的技术问题?

Ion Stoica:关于规模限制我想到了两点。首先,对于非常小的任务,调度器会成为瓶颈。其次,对大规模数据进行整个集群的shuffle操作,可能占据某些作业的绝大部分时间。我们正在努力消除,哪怕至少缓解这些扩展性的瓶颈。例如,我们最近开发了Sparrow——一个完全去中心化的调度器,它可以扩展到数万台物理机组成的集群。

(文/ 包研  技术审校/吴甘沙 责编/仲浩)

吴甘沙

本期特约 吴甘沙,英特尔中国研究院 首席工程师 

其主要研究方向包括大数据的计算范式和架构,软硬件协同设计,数据安全和权利,以及数据作为服务的应用模式和支撑环境。曾经参与和主持移动受控运行时(Managed Runtime)和并行编程等研究项目。发表学术论文10余篇,获得美国专利23项和国际专利数项,另有17项专利待审中。

欢迎关注 @CSDN云计算微博,了解更多云信息。

第七届中国大数据技术大会(Big Data Technology Conference 2013,BDTC 2013)将于2013年12月5日-6日在北京世纪金源大酒店召开。Spark核心设计者、Databricks创始人兼CEO Ion Stoica,Apache HBase项目管理委员会主席Michael Stack、百度大数据首席架构师林仕鼎、华为公司诺亚方舟实验室主任杨强、Apache Tez commiter Bikas Saha大数据技术专家领衔,来自腾讯、阿里巴巴、Hortonworks、LinkedIn、小米、Intel等50余位工程师带来近60场干货分享,更有《中国智能交通与大数据技术峰会》专场感受智能交通如何改变生活。

【开源专访】Linux Deepin:做更好用的Linux桌面系统 访Andy Jassy:感受亚马逊AWS生态观,思考国内外云计算差异 站到风口,最先飞起来的能将服务做到极致的IDC 苹果Siri再获一专利:可使用自然语音输入来搜索和标记图片 研发周报:Google抛弃C语言,采用Go语言重写Go编译器 取其精华 IE11里移除和新增的功能 大胆预测亚马逊即将推出的五大产品或服务 移动周报:GitHub章鱼猫中国之行 三星与LG的新动向:同样的物联网 ,不同的玩法 从Twitter到Tinder,看社交媒体在2013年的沉浮 一周消息树:有道周枫和他的“放养”团队、太极助手惹“非议” Netflix:使用大数据驱动商业决策 “中国杯”游戏极限开发大赛报道 回顾2013软件开发:JavaScript领风骚 京东“宙斯杯”创新应用大赛,百万奖金为“你”而等待 12306上的分布式内存数据技术GemFire Canalys:苹果、三星2014年仍统治平板市场 微软压力山大 Google和苹果的下一个战场 回顾2013科技界大事件:Mayer登Vouge杂志、Ballmer离职 《近匠》第03期:移动开发工具访谈,AVOS Cloud——后端的金刚钻 次世代视觉:Avegant Glyph智能眼镜技术解析 技术栈的选择:从Groupon转向Node.js、淘宝去IOE谈起 首席数据官:一个属于你的时代已经来临 盘点2013年Facebook七大最受欢迎的hack 见证中国开源的力量:“开源力量”2013年度庆典活动亮点汇总 专访APU13讲师、西电朱虎明:概念难以理解成异构编程最大阻力 盘点2013:21款最优秀的开源数据库 苹果三星再次谈判,欲和解所有侵权案 应对iOS in the Car,Google将携手奥迪推Android车载系统 10个技巧让你更轻松地使用AWS 《近匠》第04期:移动开发技术访谈,多看科技CTO王毅——阅读未来 各位大哥,小弟有段初级链表程序,有些问题,请斑竹和高手解答,谢谢!!!!!! 关于路径设置的问题,为什么没人回答呢??? 叶剑英的孙女,李泽楷和曾荫权都在追 100分送上!!我都快被ADO逼疯了!!!真他妈的服了,各位给我指点一下吧,急用呀!!! 在linux下的C对数据库编程中,嵌套SQL语句的格式 如何启动备份服务器! 如何在窗口下对datawindow的数据进行修改后保存? 火急!急!急!急!急JBuilder完全安装怎么没有InterBase,哪又怎么安装? 求救!!! 明天上班,终于结束失业期了。 一个ORACLE备份数据导入问题。请高手指点! VC和VB下好用的控件在delphi下不好用!是不是dll的问题? 明天上班了,同喜! 大家觉得POWERSOFT公司的PB9会推出WEB SERVICE功能吗? 一个ORACLE备份数据导入问题。请高手指点!!! 请教各位高手,DirectX环境下,是否可以利用各种输入法输入汉字? 急,高手帮忙。 getchar小问题,为什么程序不能中断? 我想学游戏编程,谁能指点一下?100分! 医疗管理系统 请帮忙看看这段流操作的代码错在哪里? javabean高手请进!请赐教!!! 请各位高手指点一下,什么软件开发java比较方便,效率较高? 谁能告诉我,怎样将邮箱中的信件复制到本地硬盘.谢了 需要什么权限才能在active directory里添加用户??(实际上是想添加email帐号),谢谢各位 test 请问在winXP里该如何实现如下功能呢? 再问一次,怎么在mandrake下设显示器的刷新率!怎么想给分都送不出去! 当用c++编程时,能不能不用回收内存?100分 用VC处理XML文档时遇到的一些细微而重要的问题 大家能不能给我给我点 我有一个关于注册表的问题? delphi中要想定义一个整个工程文件中可以访问的变量怎样做才好?(说者有分) 本人泡MM精华之作,大家快看!! 25分散尽! 如何使用paradox.net? 类的定义与实现细节是否要放在不同文件 各位:我想当斑竹,位兄弟是否同意?:) 关于shell和key事件 为什么我的问题总是无人回答?给高分100!VC和VB下好用的控件在delphi下不好用!是不是dll的问题? pascal 为什么没有介绍在pIIII下汇编的书? paradox数据库的操作问题 text字段如何转换成image字段?? 东日论坛新开张 关于异常的问题,请各位大哥帮帮忙!(50分) 我有很多数字,如何以固定的间隔和行宽在打印机完整地上输出? 学过C++,想学java,难吗?多久能上手? 如何设置系统的日期,时间? 我的网卡的驱动一直装不上? 在下请问,在游戏中实现人物的移动有哪几种方法? Cl2与HCN的反应方程式是? 亚硝酸银溶于氨水吗? 亚硝酸钠防锈能防多久? 乙醛能不能发生加成反应? 硝酸银能溶于过量氨水吗? 冰醋酸的性质和作用是什么?一般是做什么用的? 乙醛自身加成反应好象是乙醛自身加成可以得到羟基醛,从而增长碳连,有谁知道该反应是怎么进行的吗,谢谢啦! 原子荧光荧光光度计预热问题.在使用原子荧光光度计时,预热时间的长短对荧光值是否有影响?消解好的样品放在冰箱一天再测砷含量其结果变低是因为玻璃的吸附么? 冰醋酸有什么作用 填空题:乙醛与HCN的加成反应属性(). 玻璃碗加热碎裂我今天用玻璃碗盛食物在蒸锅里加热,突然,玻璃碗爆裂了,还列成很多小块!以前我也用过这个玻璃碗加热食物,都没发生过这种事前.哪位大侠知道为什么的麻烦告诉我下, 高锰酸钾和浓盐酸离子式 丁烷直接氧化法制乙酸的方程式 和 乙醛与HCN加成的方程式 我要用原子吸收光谱仪测各元素含量、请问一下、前期怎么处理样品、处理完样品又怎么用仪器测各元素、 高锰酸钾与浓盐酸的离子方程式 反物质是怎么? 原子吸收光谱仪与一般的吸收光谱仪有什么不同 冰醋酸跟冰乙酸一样的吗?这两样在哪有卖的,多钱啊。 我想用它治脚气。- - 铝和少量氢氧化钠会生成氢氧化铝吗,为什么? 原子荧光光度计与X射线荧光光谱仪区别 求初三化学题..下列物质中,可以用金属直接与盐酸反应的是?A.Mgcl2 B.fecl2 C.Cucl2 D.HgCl2为什么呢?谢谢 过量铝和氢氧化钠反应会生成氢氧化铝么?RT 我们实验室用的是原子荧光光度计,想买本对应的参考书,化工出版社的一套书,挺好的,气相液相都有,但就是没有原子吸收,只有一本《X射线荧光光谱仪》,原子荧光分光光度计和X射线荧光光谱 从铁,盐酸,氧气,水及硝酸银溶液中选出一种或2种做为反应物 按下列类型各写1个化学方程式在括号内指明是否属于氧化还原反应1.化合反应_____________________( )2.分解反应_____________________( )3.置 乙醛的银镜反应、乙醛与氢氧化铜的反应、葡萄糖与银氨溶液、葡萄糖与氢氧化铜溶液的反应写出化学方程式(附加反应条件)回答全了且有速度的解答者必选 上海精密科学仪器有限公司生产的4510原子吸收分光光度计(光谱仪)怎么样?性价比怎么样? 求 下列四种X溶液,均能跟盐酸反应,其中反应最快的是下列四种X溶液,均能跟盐酸反应,其中反应最快的是()A.10度 20 mL 3 mol/L 的X溶液B.20度 30 mL 2 mol/L 的X溶液C.20度 10 mL 4 mol/L 的X溶液D.10度 10 m 怎样检验盐酸中是否有亚硝酸钠 柴油里面加亚硝酸钠能否起防锈作用 Na在有盐酸时总是和盐酸先反应,和盐反应时总是和盐里的水先反应,在和盐反应,这里就有个反应的先后顺序,铝也是样,和碱反应时先和碱里的水反应,再和oh-反应,这种顺序是不是可以用氧化 一直酮不能发生银镜反应,某饱和一元醇和酮的混合物共3g,跟足量的银氨溶液完全反应后可还原出16.2g银下列说法中正确的是( )A、混合物中可能有乙醛B、混合物中醛和酮的质量比为1:3C、 有光气怎么处理 硝酸钾很白糖混苏打的烟雾弹的烟有毒么?写出具体的方程式 硝酸银加入过量的氨水大量存在的离子 冰醋酸药店有卖吗 烟雾弹白糖与硝酸钾的比例 在哪可以买到镁粉和铝粉啊 我问个了 化工店里没有啊? 成都市药店有卖冰醋酸溶液吗 用白糖烧出来的烟有毒么? 谁知道哪里有硝酸钾、氯酸钾、红磷、生石灰、金属镁粉及铝粉.另外声明一点:我们这没有化工店和化工厂...谁知道哪里有硝酸钾、氯酸钾、红磷、生石灰、金属镁粉及铝粉.另外声明一点:我 原子荧光光度计测铅使用双道原子荧光光度计测铅,为什么经常出现这种现象测样品时样品的荧光值是0,而有浓度值出现,正常情况应该浓度也是0才对.有人知道这是怎么回事吗?浓度值是正的 为什么酮不可以被银氨氧化 原子荧光光度计是否能测定甘油 硝酸钾和糖燃烧产生的烟雾有毒吗? 果糖还原性可以与碱性银氨溶液(若氧化剂)反应,为什么不能与溴水(强氧化剂)反应? 冰乙酸属于危险品吗我想购买一批食用冰乙酸,但司机说不敢去,可能是危险品, 磨砂的玻璃杯使用安全吗 关于果糖和银氨溶液、氢氧化铜反应的问题.酮不能被银氨溶液氧化,可为什么果糖能发生银镜反应?网上说①果糖的酮基在稀碱溶液中转变成醛基. ②果糖分子中的酮基受多个羟基的影 亚硝酸钠可以防锈吗求解 用磨砂玻璃杯对身体好吗?生日那天同学送我一个磨砂玻璃杯,上网查了一下,有人说对身体不好, 乙炔可以和HCN反应吗? 果糖分子为什么能与银氨溶液反应? 原子荧光光度计有哪些型号 乙炔与CH3COOH或与HCN反应的产物是什么? ‘光气’ 是什么化学物质? 请问什么是光气吸收剂? 丙醛的与HCN的反应方程式 硫酸银溶于氨水吗 原子荧光光度计可以检测双氧水中的铁吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘