钨
回到术语表钨项目是什么?
Tungsten是对Apache Spark执行引擎进行更改的伞形项目的代号,该项目专注于大幅提高Spark应用程序的内存和CPU效率,将性能推向现代硬件的极限。钨项目包括以下举措:
- 内存管理和二进制处理:利用应用程序语义显式地管理内存,并消除JVM对象模型和垃圾收集的开销
- 支持缓存计算:利用内存层次结构的算法和数据结构
- 代码生成:使用代码生成来开发现代编译器和cpu
- 没有虚函数分派:这减少了多次CPU调用,当调度数十亿次时,这会对性能产生深远的影响。
- 内存和CPU寄存器中的中间数据:Tungsten Phase 2将中间数据放入CPU寄存器。从CPU寄存器而不是从内存中获取数据的周期数减少了一个数量级
- 环路展开和SIMD:优化Apache Spark的执行引擎,以利用现代编译器和cpu的能力,有效地编译和执行简单的for循环(而不是复杂的函数调用图)。
额外的资源
回到术语表