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

对话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场干货分享,更有《中国智能交通与大数据技术峰会》专场感受智能交通如何改变生活。

Cocos2D配Box2D:逆天小白程序员作iOS游戏 招聘移动开发,老板必问的10个问题 黑客用智能手机劫持和控制民航飞机 几小时即可使互联网瘫痪的黑客 现已加入谷歌 Tsar开源:淘宝内部大量使用的系统监控工具 五款超实用的开源SVG工具 微信收费事件背后被广泛忽略的技术细节 UIDesigner 3.0架构设计总结 黑客怒了:政府花930万美金仅做一款App Email服务迎来“第二春” 未来将更加个性化 贯穿应用开发始终的八大陷阱 微评微软也推智能手表:是追求未来,还只是跟随? Firefox OS今年6月在5国首发 不含美国市场 8086/8088汇编指令手册 下一个被黑客攻击的对象—无线路由器 Windows Blue开始按钮或将回归,你怎么看? Evernote推孵化器 不占股权 基于C++和Lua的移动游戏引擎Leadwerks 3发布 苹果秘密测试iOS 7与iPhone 6 或将6月发布 酷6 CTO 陆坚:请先信任你的程序员 从电信联手i-Free,看运营商渠道的加速整合 “Animory”开发者分享HTML5游戏开发经验 Appflood SDK:连接中国与海外App流量交互平台 Apache Subversion 1.7.9正式发布! 微软IE浏览器5大动向 加速吸引开发者 开源的简繁转换库OpenCC支持Node.js 继Opera之后,Adobe表示将支持Google Blink 提高大型软件项目质量的一些实用型技术分享 谷歌推出Mirror API,开发者可为Google Glass开发应用 无需999,也不要499,99美元Linux超级计算机带回家 微软反击AWS:推出EC2并大幅降价,“价格战”正酣 大家有什么软件需要兼职人员开发的吗? 高分寻求《WEBV数据库数据规划》《数据库模型》相关书籍及其有效下载地址!! 送点分,怎么样在一台只有win2000 server的系统上运行asp.net程序?? 如何在Response.Redirect中传递HTML控件的值? 请问做安装程序时候,如何避免Installshield在控制面板的添加删除程序中增加项?? 怎样随机抽取access数据库中的n条记录呢? 请问大家看完think in java用多少时间呀? Access数据库的日期查询在2000下一切正常,在98下查询出错? vc中def文件有何用处,是否可随意删除? 关于sql语句的问题,急急急,在线等!! 请绝顶高手回复(问题的详细情况) 通用模板的问题 一个用户控件的问题!请求帮助! 关于Socket的同步和异步的问题 菜单上的变量也要定义嘛?该如何定义? 一个关于servlet的问题! dll的问题 怎样才能不用鼠标取点击按钮,直接用代码去执行按钮 高分请教SqlDataAdapter中存储过程的调用 evc中资源文件的中文乱码问题该如何解决? linux环境下的编程请教 大家有什么软件需要兼职人员开发的吗? 新手请教 关于地址转换(NAT)转发后,数据包的变化问题 调查BDK最新版本是多少? 那位大哥有Visual Studio.Net 的序列号? 关于windows下的注册表? 生成组件对象时提示我必须有<%@ Page aspcompat=true %>,这是什么意思呀? 运行时出现"找不到vcl50.bpl动态连接文件"的错误,请高手指教 打印纸的设定???? pb80+B/S 用视频采集卡采集视频数据,图象的扫描频率都高于显示器的扫描频率,为什么? ADO的臭虫、问题太多,只好用BDE了 kylix3装在RedHat7.3上界面显示不出来?高手请帮忙! 键盘"DEL"键和右键"删除"的区别? 打不开WORD文件? WIN98只能进安全模式,不能正常进入,什么原因 关于insertrow后不update而先getitemstring的问题。 tomcat 配置问题 C# 基于套接字的聊天室 遇到一个问题 高分请教!!! WIN95的序列号给一个谢了,各位兄弟,帮个忙。。 请问数据流程是指那方面的? 关于如何调用Windows Media Encoder 如何用vb实现将数据写入到excel和word中。请附源代码! 卖书拉,都是比较经典的,需要的看看巴 关于拨号连接的问题? 菜鸟问题:请问怎么安装Gcc3.0呀!随便问一下哪里有最新的版本下载? 关于存储过程的一些小心得(不知道对不对) 高手求救,ISAPI调用SQLserver的问题。在线等待! c语言编程访问大硬盘的物理扇区时坏扇区如何判断,如何跳过! WIN98+IE5和WIN2000+IE6运行JAVASCRIPT脚本的结果怎么不一样? 左宽中右窄的字有哪些 配置培养基的有机类母液时,肌醇为什么要单独配? 榨油机榨出的油渣有什么用 那种能防锈油食用?在哪里有买 MS培养基母液配制有哪些注意事项 酒店五星是指什么 如何用化学品养水晶看天天向上里面说可以用化学品养水晶 求学霸给解答是如何做到的 最好能有具体方法能让我等学渣尝试!感谢 什么胶可以将铜网与ABS塑料能粘在一起 左边车右边只什么字 就是自己在家做水晶糕..结果发现了2个问题..我是用地瓜粉做的..第一次倒入热水的时候水温不够高...没凝固..又加热了一会儿,就好了..为什么沸水能使之凝固呢?水晶糕不小心做太多...浸在薄 请问广州五星级酒店有哪些?准五星的有哪些? 左边是车字旁,右边是圣请问念什么啊?是一个繁体字,左边是车字旁,右边是圣 许愿晶石(水晶、精灵)是由什么化学物质形成的?我们用的硫酸铜溶液也可以形成固体物质,平时我们在商店里买的蓝宝石项链这样的东西是不是硫酸铜做的? 有不有比万能胶粘性更强的胶?如果请问有叫什么?有哪些利弊?3Q 如果草履虫的食物泡是绿色的,其原因是?我在做作业,好的给他加50分! 铁枣树是种什么树? 草履虫的食物进入口内,再进入什么后形成食物泡 美国中部平原发展商品性农业的有利自然条件是 KCN+H2O2+H2O=A+NH3 求A 该反应是否属于氧化还原反应,若属于指出被氧化的元素,不属于的说明理由 人体内病毒如何生存 向比我大的女生表白后说我们都还小是啥意思?我今年17,她18.然后说完这句话就不回我信息了,求专家告诉我我还有希望吗 KCN+H2O2+H2O=A+NH3 A、A是一种正盐 B、氨气是还原产物 C、H2O2做氧化剂 D、处理1molKCN转移1mol电子 HPV病毒在人体内可以存活多久? 小妾是什么 一个女同学说他要小妾.到底是什么意思呢 正常情况下,不能被免疫功能清除掉的是() A病原体和异物 B损伤,衰老,死亡的人体细胞C肿瘤细胞 D人体正常的组织细胞 人体内有哪些疾病是由病毒引起的 小清新形容女生是什么意思 在一个不导热的密闭反应器中,发生反应1:a(g)+b(g)=可逆2c(g)放热,2:x(g)+3y(g)=可逆2z(g),达到平衡后,等压时反应1衡为什么向左移?不是前后系数之和相等吗?等容时,通入惰性气体, 轮状病毒在体内只能存活一周吗 世界上农业产生最早的地区是哪里?是不是古代中国? 本人想种植枣树山西朔州,属于北方,土地为沙质,请问一下适宜不适宜中枣树,能不能种稷山的枣树经纬度为: 东经112度24分,北纬39度18分 买枣树苗买多高的耐活好种?枣树几年可要结果?产量是 时光飞逝的同义词或反义词(要4个字的,好听的) 黄土高原农业发达的地区是哪两个地区? 在一个不导热的密闭反应器中(体积可变): x(g)+3y(g)⇌2z(g);△H2>0等压时,通入z气体,反应器中温度升高为什么温度升高?等压时通入气体z会使体积增大,浓度减小,如何判断反应 看的同义词!要三个!四个字的 化工生产中有浓盐酸参与的加热反应用什么反应器好? 化学 什么是准晶体 枣树怎么才能栽活 农业发达的有利自然条件 晶体:求一些晶体的结合方式(即他们是什么键组成的) 夏天的枣树上长刺吗? 化工设计中反应器和储罐的价格应该如何估计? A和B的分子式均为C4H8,二者加溴后的产物再与KOH乙醇溶液共热,生成分子式为C4H6的C和D,D能与银氨溶液反应生成沉淀,而C不能.试推导A、B、C、D的结构式 门前栽枣树有什么说法? 黄土高原发展农业遵循什么原则 分子式为C4H8的链烃一定是烯烃? 自家大门栽两棵枣树有什么说法吗 什么是反应器的热转换器啊 他有什么作用呢,小弟刚接触化工本人还是不太懂 呵呵 比较菜 什么是枣树 枣树怎么种?用枣核能种活吗? 加氢反应器发展现状, 刀之爱中----的句子运用了------的修辞手法,作者要表达枣树具有怎样的品质那棵粗壮的枣树就静静地站在那里,用饱含沧桑的容颜,默默地迎接着刀的洗礼. 配置MS培养基母液时为什么要按顺序加入各药品?且溶解CaCl2.2H2O时,为什么要将蒸馏水加热?且溶解CaCl2.2H2O时,为什么要将蒸馏水加热?防沉淀、失效、减効。加热:除去二氧化碳。 为什么对大多数反应器来说,其主要的被控变量都是温度?(有关化工仪表及自动化的) 什么时候种枣树 MS培养基母液有哪几种?分别配置为多少浓度 请问挂五星级酒店是什么意思?跟准五星 五星 有什么区别? 什么是字的结构和间架比例? 培养基母液配制的方法如何 绵阳115型螺旋榨油机油渣不成形,出来的油渣成粉末状,这是什么原因?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘