Publication
Data + AI Summit 2021
Talk

Enabling Vectorized Engine in Apache Spark

Watch video

Abstract

This talk explains how to enable a vectorized engine in Apache Spark to accelerate Apache Spark programs. Vectorization is an exciting approach to maximize performance as Delta Lake and other commercial database use. On the other hand, the current Apache Spark does not use the vectorization technique yet because it is not easy to use vector instructions in the current Java language. First, this talk reviews Vector API for ease of use of the vector instructions in Java 16. Then, this talk discusses three possible approaches to vectorize Apache Spark Engine by using Vector API: 1) replace external libraries such as BLAS library, 2) use a vectorized runtime such as a sort routine, and 3) generate vectorized Java code by Catalyst from a given SQL query. Finally, this talk shares analysis and performance results by these approaches. Here are takeaways of this talk: 1. Overview of Vector API to vectorize Java programs 2. Multiple approaches to use a vectorized engine in Apache Spark 3. Analysis and performance results by these vectorization approaches

Date

Publication

Data + AI Summit 2021

Authors

Topics

Share