  Online Analytical Processing (OLAP) for relational databases is a business
decision support application. The application receives queries about the
business database, usually requesting to summarize many database records, and
produces few results. Existing OLAP requires transferring a large amount of
data between the memory and the CPU, having a few operations per datum, and
producing a small output. Hence, OLAP is a good candidate for
processing-in-memory (PIM), where computation is performed where the data is
stored, thus accelerating applications by reducing data movement between the
memory and CPU. In particular, bulk-bitwise PIM, where the memory array is a
bit-vector processing unit, seems a good match for OLAP. With the extensive
inherent parallelism and minimal data movement of bulk-bitwise PIM, OLAP
applications can process the entire database in parallel in memory,
transferring only the results to the CPU. This paper shows a full stack
adaptation of a bulk-bitwise PIM, from compiling SQL to hardware
implementation, for supporting OLAP applications. Evaluating the Star Schema
Benchmark (SSB), bulk-bitwise PIM achieves a 4.65X speedup over Monet-DB, a
standard database system.
