Spark-RDMA
目录
概述
SparkRDMA 是一个 Spark 的高性能的 ShuffleManager 插件,由 Mellanox 开发。
Spark和RDMA
RDMA 是一种技术,目前有多种的实现,比如说传统的以太网 RDMA over Covered Ethernet,还有 Infiniband(IB) ,以及 Intel 的 技术等。RDMA 全称是 Remote Direct Memory Access,在需要 Shuffle 的时候,可以减少 CPU 时间,降低内存使用量,绕过操作系统,直接进去内存拷贝,从而达到高性能 Shuffle 的效果。
关于 SparkRDMA 作为插件或者内置的选项合并进入 Spark 里,有一个 JIRA 在讨论。当然了,最后讨论是没有结论的,但是 SparkRDMA 确实值得一试。但是使用的话需要主机硬件支持 RDMA。Kubernetes 集群的机器可以通过给设备打上合适的网卡的标签,可以促使 Shuffle 阶段放入这些机器中执行。
TeraSort Benchmark
关于 TeraSort 的项目。
参考资料
- Accelerated Spark on Azure: Seamless and Scalable Hardware Offloads in the Cloud
- Running Apache Spark on a High-Performance Cluster Using RDMA and NVMe Flash - Patrick Stuedi
警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。