English

Architectural Impact on Performance of In-memory Data Analytics: Apache Spark Case Study

Distributed, Parallel, and Cluster Computing 2016-04-29 v1 Hardware Architecture Performance

Abstract

While cluster computing frameworks are continuously evolving to provide real-time data analysis capabilities, Apache Spark has managed to be at the forefront of big data analytics for being a unified framework for both, batch and stream data processing. However, recent studies on micro-architectural characterization of in-memory data analytics are limited to only batch processing workloads. We compare micro-architectural performance of batch processing and stream processing workloads in Apache Spark using hardware performance counters on a dual socket server. In our evaluation experiments, we have found that batch processing are stream processing workloads have similar micro-architectural characteristics and are bounded by the latency of frequent data access to DRAM. For data accesses we have found that simultaneous multi-threading is effective in hiding the data latencies. We have also observed that (i) data locality on NUMA nodes can improve the performance by 10% on average and(ii) disabling next-line L1-D prefetchers can reduce the execution time by up-to 14\% and (iii) multiple small executors can provide up-to 36\% speedup over single large executor.

Keywords

Cite

@article{arxiv.1604.08484,
  title  = {Architectural Impact on Performance of In-memory Data Analytics: Apache Spark Case Study},
  author = {Ahsan Javed Awan and Mats Brorsson and Vladimir Vlassov and Eduard Ayguade},
  journal= {arXiv preprint arXiv:1604.08484},
  year   = {2016}
}
R2 v1 2026-06-22T13:43:38.770Z