zoukankan      html  css  js  c++  java
  • Spark tungsten 项目阅读笔记

    Spark tungsten 项目阅读笔记

    Spark tungsten 项目的宣言就是:Bringing Apache Spark closer Bare Metal。 我的理解就是不要让硬件成为Spark性能的瓶颈,无限充分利用硬件资源(CPU,内存,IO,网络)。

    tungsten主要有3大动作。

    1. Memory Mangement and Bianary processing:利用应用程序的语义去管理内存,减少JVM的开销和垃圾回收。

     我的理解是利用sun.msic.UnSafe 去管理内存,不使用JVM的垃圾回收机制。在1.4 和 1.5中可以使用此特性。unsafe-heap 和 unsafe-offheap 的hashmap可以处理100万/s/线程聚合操作。相比Java.util.Hasp 2倍的性能。

    2. Cache-aware Coputation:algorithm and data structure to exploit memory hierarchy。(算法和大数据结构利用多级内存)

    利用CPU的一级、二级、三级缓存来提高排序的cache命中率(如何提高没看明白)。相比之前版本排序提高3倍。对排序、sort merger、高cardinality聚合性能有帮助

    3. Code-genaration:using code generation to exploit modern compilers and CPUs。(代码生成利用modern compiles和cpu)

    code generation从record-at-a-time 表达式评估 到 vectorized 表达式评估。可以一次处理多条数据。shuffle的性能相比kryo版本提高两倍(shuffle8百万的测试场景)

    参考文献:

    https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html

    http://stackoverflow.com/questions/37505638/understanding-spark-physical-plan

  • 相关阅读:
    [SDOI2009]生日礼物(单调队列)
    [luogu1638]逛画展(单调队列)
    【最短路】·SPFA算法实现
    [UVA10474]大理石在哪儿
    【转载】C++中string erase函数的使用
    【转载】高精度减法的OP写法
    【转载】ST表
    串门赛: NOIP2016模拟赛——By Marvolo 丢脸记
    Bzoj 3813 奇数国 题解 数论+线段树+状压
    Bzoj 2064 分裂 题解
  • 原文地址:https://www.cnblogs.com/nurseryboy/p/5662085.html
Copyright © 2011-2022 走看看