Hybrid Query Processing Engine for Coprocessing in Database Systems


HyPE is a library build for automatic selection of processing units for co-processing in database systems. The long-term goal of the project is to implement a fully fledged query processing engine, which is able to automatically generate and optimize a hybrid CPU/GPU physical query plan from a logical query plan. It is a research prototype developed by the Otto-von-Guericke University Magdeburg in collaboration with Ilmenau University of Technology.

See the publications listed below for more details.


Currently, HyPE supports the following features:

  • Entirely written in C++
  • Decides on the (likely) optimal algorithm w.r.t. to a user specified optimization criterion for an operation
  • Unrestricted use in parallel applications due to thread-safety
  • Easily extensible by utilizing a plug-in architecture
  • New: Runs under Linux and Windows
  • New: Supports the following compilers: g++ (>=4.5), clang, and Visual C++
  • Requires (almost) no knowledge about executed algorithms, just the relevant features of the datasets for an algorithms execution time
  • Collects statistical information to help the user to fine tune HyPE's parameters for their use case
  • Provides a parallel execution engine for operators

Detailed Documentation

  1. Installation
  2. Tutorial: How to use HyPE
  3. Available Components
  4. Configure HyPE
  5. Extend HyPE
  6. FAQ

Project Members

Project Members:

  • Sebastian Breß (University of Magdeburg)
  • Klaus Baumann (University of Magdeburg)
  • Robin Haberkorn (University of Magdeburg)
  • Steven Ladewig (University of Magdeburg)
  • Tobias Lauer (Jedox AG)
  • Gunter Saake (University of Magdeburg)
  • Norbert Siegmund (University of Passau)

Project Partners:

  • Felix Beier (Ilmenau University of Technology)
  • Ladjel Bellatreche (LIAS/ISEA-ENSMA, Futuroscope, France)
  • Hannes Rauhe (Ilmenau University of Technology)
  • Kai-Uwe Sattler (Ilmenau University of Technology)

Former Project Members:

  • Ingolf Geist (University of Magdeburg)


 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines