Skip to content

Overview

HorsePower provides a set of infrastructures for parsing and optimizing database queries. It involves all phases of query compilation from high-level source language to low-level code. Moreover, it provides a well-designed IR, HorseIR, in array programming before generating low-level code. Based on HorseIR, sophisticated compiler optimizations can be applied for database operations. Furthermore, using array programming offers a promising option for the fine-grained parallelism.

Horse flow

Research Ideas

At current stage, we focus on the research ideas as follows.

  • High-level source language design
  • Fine-grained primitives and highly tuned library
  • Static analysis for an array-based IR (i.e. HorseIR)
  • Query optimizations with heuristics
  • Query optimizations with data-flow analyses

Settings

  • Platform : Cross-platform
  • Languages : C/C++
  • Auto tool : Flex \& Bison
  • Parallelism : CUDA/OpenMP/OpenACC
  • GitHub Issue : Issues

Experiments