目录

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 的项目

/spark-rdma/image_1dm54784hp6umis5q81ieb110e9.png

参考资料

  1. Accelerated Spark on Azure: Seamless and Scalable Hardware Offloads in the Cloud
  2. Running Apache Spark on a High-Performance Cluster Using RDMA and NVMe Flash - Patrick Stuedi
警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。