Skip to main navigation Skip to search Skip to main content

Optimizing Near-Data Processing for Spark

  • Sri Pramodh Rachuri
  • , Arun Gantasala
  • , Prajeeth Emanuel
  • , Anshul Gandhi
  • , Robert Foley
  • , Peter Puhov
  • , Theodoros Gkountouvas
  • , Hui Lei
  • Stony Brook University
  • FutureWei
  • OpenInfra Labs

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

3 Scopus citations

Abstract

Resource disaggregation (RD) is an emerging paradigm for data center computing whereby resource-optimized servers are employed to minimize resource fragmentation and improve resource utilization. Apache Spark deployed under the RD paradigm employs a cluster of compute-optimized servers to run executors and a cluster of storage-optimized servers to host the data on HDFS. However, the network transfer from storage to compute cluster becomes a severe bottleneck for big data processing. Near-data processing (NDP) is a concept that aims to alleviate network load in such cases by offloading (or "pushing down") some of the compute tasks to the storage cluster. Employing NDP for Spark under the RD paradigm is challenging because storage-optimized servers have limited computational resources and cannot host the entire Spark processing stack. Further, even if such a lightweight stack could be developed and deployed on the storage cluster, it is not entirely obvious which Spark queries would benefit from pushdown, and which tasks of a given query should be pushed down to storage.This paper presents the design and implementation of a near-data processing system for Spark, SparkNDP, that aims to address the aforementioned challenges. SparkNDP works by implementing novel NDP Spark capabilities on the storage cluster using a lightweight library of SQL operators and then developing an analytical model to help determine which Spark tasks should be pushed down to storage based on the current network and system state. Simulation and prototype implementation results show that SparkNDP can help reduce Spark query execution times when compared to both the default approach of not pushing down any tasks to storage and the outright NDP approach of pushing all tasks to storage.

Original languageEnglish
Title of host publicationProceedings - 2022 IEEE 42nd International Conference on Distributed Computing Systems, ICDCS 2022
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages636-646
Number of pages11
ISBN (Electronic)9781665471770
DOIs
StatePublished - 2022
Event42nd IEEE International Conference on Distributed Computing Systems, ICDCS 2022 - Bologna, Italy
Duration: Jul 10 2022Jul 13 2022

Publication series

NameProceedings - International Conference on Distributed Computing Systems
Volume2022-July

Conference

Conference42nd IEEE International Conference on Distributed Computing Systems, ICDCS 2022
Country/TerritoryItaly
CityBologna
Period07/10/2207/13/22

Keywords

  • modeling
  • near-data processing
  • pushdown
  • resource disaggregation
  • spark

Fingerprint

Dive into the research topics of 'Optimizing Near-Data Processing for Spark'. Together they form a unique fingerprint.

Cite this