Introduction
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.
Features
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
- Installation
- Tutorial: How to use HyPE
- Available Components
- Configure HyPE
- Extend HyPE
- 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)
Publications
- Sebastian Breß.
Ein selbstlernendes Entscheidungsmodell für die Verteilung von
Datenbankoperationen auf CPU/GPU-Systemen.
Master thesis, University of Magdeburg, Germany, March 2012.
In German.
- Sebastian Breß, Siba Mohammad, and
Eike Schallehn.
Self-Tuning Distribution of DB-Operations on
Hybrid CPU/GPU Platforms.
In Proceedings of the 24st Workshop Grundlagen von Datenbanken
(GvD), pages 89–94. CEUR-WS, 2012.
- Sebastian Breß, Eike Schallehn, and
Ingolf Geist.
Towards
Optimization of Hybrid CPU/GPU Query Plans in Database Systems.
In Second ADBIS workshop on GPUs In Databases (GID), pages 27–35.
Springer, 2012.
- Sebastian Breß, Felix Beier, Hannes
Rauhe, Eike Schallehn, Kai-Uwe Sattler, and Gunter Saake.
Automatic Selection of Processing Units for Coprocessing in Databases.
In 16th East-European Conference on Advances in Databases and Information
Systems (ADBIS), pages 57–70. Springer, 2012.
- Sebastian Breß, Ingolf Geist, Eike
Schallehn, Maik Mory, and Gunter Saake.
A Framework for Cost based Optimization of Hybrid CPU/GPU Query Plans in
Database Systems.
Control and Cybernetics, 41(4):715–742,
2012.
- Sebastian Breß, Felix Beier, Hannes
Rauhe, Kai-Uwe Sattler, Eike Schallehn, and Gunter Saake.
Efficient
Co-Processor Utilization in Database Query Processing.
Information Systems, 38(8):1084–1096, 2013.
http://dx.doi.org/10.1016/j.is.2013.05.004.
- Sebastian Breß.
Why it is
Time for a HyPE: A Hybrid Query Processing Engine for Efficient GPU
Coprocessing in DBMS.
In The VLDB PhD workshop. VLDB Endowment,
2013.
- Sebastian Breß, Norbert Siegmund,
Ladjel Bellatreche, and Gunter Saake.
An
Operator-Stream-based Scheduling Engine for Effective GPU Coprocessing.
In 17th East-European Conference on Advances in Databases and Information
Systems (ADBIS), pages 288–301. Springer,
2013.
- Sebastian Breß, Max Heimel, Norbert
Siegmund, Ladjel Bellatreche, and Gunter Saake.
Exploring the Design Space of a GPU-aware Database Architecture.
In ADBIS workshop on GPUs In Databases (GID), pages 225–234.
Springer, 2013.