Accelerating spark RDD operations with local and remote GPU devices

Yasuhiro Ohno, Shin Morishima, Hiroki Matsutani

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Citations (Scopus)

Abstract

Apache Spark is a distributed processing framework for large-scale data sets, where intermediate data sets are represented as RDDs (Resilient Distributed Datasets) and stored in memory distributed over machines. To accelerate its various computation intensive operations, such as reduction and sort, we focus on GPU devices. We modified Spark framework to invoke CUDA kernels when computation intensive operations are called. RDDs are transformed into array structures and transferred to GPU devices when necessary. Although we need to cache RDDs in GPU device memory as much as possible in order to hide the data transfer overhead, the number of local GPU devices mounted in a host machine is limited. In this paper, we propose to use remote GPU devices which are connected to a host machine via a PCI-Express over 10Gbps Ethernet technology. To mitigate the data transfer overhead for remote GPU devices, we propose three RDD caching policies for local and remote GPU devices. We implemented various reduction programs (e.g., Sum, Max, LineCount) and transformation programs (e.g., SortByKey, PatternMatch, WordConversion) using local and remote GPU devices for Spark. Evaluation results show that Spark with GPU outperforms the original software by up to 21.4x. We also evaluate the RDD caching policies for local and remote GPU devices and show that a caching policy that minimizes the data transfer amount for remote GPU devices achieves the best performance.

Original languageEnglish
Title of host publicationProceedings - 22nd IEEE International Conference on Parallel and Distributed Systems, ICPADS 2016
PublisherIEEE Computer Society
Pages791-799
Number of pages9
ISBN (Electronic)9781509044573
DOIs
Publication statusPublished - 2017 Jan 18
Event22nd IEEE International Conference on Parallel and Distributed Systems, ICPADS 2016 - Wuhan, Hubei, China
Duration: 2016 Dec 132016 Dec 16

Other

Other22nd IEEE International Conference on Parallel and Distributed Systems, ICPADS 2016
CountryChina
CityWuhan, Hubei
Period16/12/1316/12/16

    Fingerprint

Keywords

  • Apache Spark
  • CUDA
  • GPU
  • PCIe over 10GbE
  • RDD

ASJC Scopus subject areas

  • Hardware and Architecture

Cite this

Ohno, Y., Morishima, S., & Matsutani, H. (2017). Accelerating spark RDD operations with local and remote GPU devices. In Proceedings - 22nd IEEE International Conference on Parallel and Distributed Systems, ICPADS 2016 (pp. 791-799). [7823823] IEEE Computer Society. https://doi.org/10.1109/ICPADS.2016.0108