• 18834196600
专访Intel程浩:浅谈龙采科技Apache Spark框架性能调优札记
作者:龙采科技 / 2016-08-14 11:55 / 浏览次数:

【嘉宾】程浩,英特尔软件与服务部大数据研发经理。Intel亚太研发中心Spark团队研发经理,Apache Spark活跃开发者,致力于Apache Spark框架在Intel平台架构上的性能分析与优化。

CSDN:请介绍下您和您所在的团队,以及目前的工作重点。

程浩:我们团队隶属于英特尔软件与服务事业部系统技术优化部门,早在2012年就开始与UC Berkeley的AMPLab实验室合作交流,在Spark开源生态圈中保持密切合作,在过去的几年中,我们为Apache Spark生态圈组件提交了大量的功能、性能优化代码,并辅助国内外公司在实际大数据生产环境中落地Spark应用,随着Apache Spark日趋成熟稳定,逐渐为大数据处理领域内最广泛使用的框架之一,我们团队也把注意力放到研究最佳的技术方案,包括Spark软件本身的改进,也包括采用英特尔的硬件及其软件加速库来提高Spark的运行效率,为Spark用户在英特尔的硬件架构平台上提供最佳性价比技术解决方案支持。

CSDN:Spark框架在英特尔平台上的融合,在架构上具有怎样的特点?有哪些具体的适用场景?

程浩:英特尔的软硬件平台在数据中心部署占据了很高的比例,随着Spark功能越来越完备,很多公司都采用了Spark作为其最主要的大数据计算引擎之一,但是Spark框架诞生之初,并非为英特尔的硬件平台量身打造,如何充分挖掘现有英特尔架构平台的计算性能,优化Spark应用的执行效率,对于提升硬件资源利用率,降低成本有非常大的效益。

Apache Spark开源社区公平性原则很强,对于特定硬件厂商的优化技术方案很难合并到Spark的主干代码中,而英特尔对其自身的硬件平台往往提供了很多软件驱动和加速库,这些性能优化在单机基准测试中体现非常明显,我们团队做了大量将Spark和英特尔相关加速库集成的工作,并通过授权相关优化代码给关键客户、走第三方大数据发行商(比如Cloudera)或者开源相关功能代码等方式,把我们的优化方案提供给Spark终端用户。另外,英特尔的硬件技术发展推陈出新非常快,新的硬件技术对于传统的软件架构设计会产生很大影响,比如,通常我们认为磁盘是比较慢的设备,但是英特尔的最新一代SSD将提供极大的吞吐率、超高的IOPS,颠覆了现有的软件框架设计时的前提假设,这些软件架构需要大量改写甚至重写才能发挥出英特尔硬件的优势,不仅仅是存储,英特尔在内存、网络、计算芯片等硬件设备上也有大量的创新和新产品,我们团队和英特尔内部相关技术专家密切合作,做了一些前瞻性的原型开发,希望对于未来的大数据软件架构设计产生积极影响。

CSDN:影响Spark性能的因素有哪些?有哪些优化层面?您认为在Spark性能优化中应坚持哪些原则?

程浩:Spark是一款非常优秀的分布式内存计算框架,涉及到网络,磁盘,内存,软件算法实现,作业调度策略等,影响Spark应用程序性能的因素也往往是多方面的。比如数据调度本地性对于网络负载会有很大影响,分布式环境下任务调度均衡性、任务调度的粒度、磁盘和内存的设置,甚至用户程序自身有没有充分考虑现有的软硬件架构配置等,往往需要具体问题具体分析。

通常来说,我认为Spark性能优化基本原则是分析先行,即通过各种性能分析工具包括Spark自带的作业实时运行状态监控工具,先宏观分析Spark应用的瓶颈出现在哪里(网络、磁盘、CPU或者分布式作业调度均衡、Java GC等),或者压根没有出现任何瓶颈(作业调度的并行度设置太高,或者作业量太小等),有必要时可以使用比如Visual VM或者VTune等工具和程序日志,分析程序执行时单机热点。Spark集群和应用提供了大量的配置参数,需要根据性能监控分析,进而有针对性的调整Spark集群配置,Spark应用配置,直至应用代码优化甚至是Spark自身的软件代码优化。当然一方面需要对于Spark框架的基本原理有一定理解,甚至是阅读Spark的相关代码,另外也需要一定的性能监控分析工具使用的经验。

CSDN:不同的业务场景和数据情况,需要对Spark作业进行多方面的调节和优化。硬件调优在Spark性能调优中扮演了什么样的角色?具体调优内容有哪些?

程浩:通常为了Spark应用能达到最好的性能,需要通过修改各种软件参数配置,设置程序代码等手段,确保程序运行时充分利用计算机系统硬件资源,让应用的瓶颈落脚到硬件能力的限制上来,比如CPU的利用率保持在80%-90%以上,磁盘或者网络吞吐率已经到达理论的上限带宽等,在这种情况下,我们认为应用程序的性能基本已经到最佳状态了。此时,若想更进一步提升应用性能,升级受限的硬件设备或许是唯一选择。比如对于Spark SQL或者ETL类作业而言,磁盘的吞吐率可能是最大的性能瓶颈,只能通过升级磁盘来达到提升性能目的。

【龙采业务】网站建设、网站设计、服务器空间租售、网站维护、网站托管、网站优化、百度推广、自媒体营销、微信公众号
如有意向---联系我们
热门栏目
热门资讯
热门标签

网站建设 网站托管 成功案例 新闻动态 关于我们 联系我们 服务器空间 加盟合作 网站优化

备案号:晋ICP备19000634号 

公司地址:山西省太原市南中环街清控创新基地 咨询QQ:1715793209 手机:18834196600 电话:0351-2371270