Hasso-Plattner-Institut20 Jahre HPI
Hasso-Plattner-Institut20 Jahre HPI

Parallel Programming and Algorithms for In-Memory Databases (Sommersemester 2015)

Dozent: Dr. Matthias Uflacker
Tutoren: Martin Boissier Carsten Meyer

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 29.04.2015
  • Lehrform: Seminar
  • Belegungsart: Wahlpflichtmodul

Studiengänge & Module

IT-Systems Engineering BA
  • Business Process & Enterprise Technologies
  • Operating Systems & Information Systems Technology
  • Software Architecture & Modeling Technology
IT-Systems Engineering MA
  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D



  • Intermediate presentations: we'll meet Monday, June 15th at 9 AM and Wednesday, June 17th at 9.15 AM for the intermediate presentations (Villa, V.2.16)
  • Slides: the introduction slides including the presented topics can be found here.


The aim of the research seminar is to teach the students the basics of scientific research and a basic knowledge of the inner mechanics of in-memory databases. The seminar is focused on parallelization of various algorithms in conjunction with columnar in-memory database systems on modern hardware. Hence, each student will work individually on a topic, resulting in a final paper (6-8 pages, IEEE) in addition to a midterm and final presentation. The topics vary from optimized (e.g., lock-free) data structures for in-memory database to general database concepts (e.g., transaction handling, memory tiering). Each topic will have an implementation component, which should be employed and closely evaluated in the resulting paper.

While the main focus of this seminar is HYRISE and parallel computation, there will also be a few more analytical topics which focus on real-world database systems and their characteristics.

Topics (for all topics, please take a look at the introduction slides):


  • HYRISE/HANA Topics (usually includes programming in C, C++ or Python):

    • Data Eviction using Phase-Change Memory on HYRISE
    • Hybrid Data Partitioning on HYRISE
    • Application-Defined Partitioning on db Level
    • In-Memory Database Coprocessing, GPUs for In-Memory Databases (Intel Xeon Phi and Nvidia Tesla)
    • Spatial-temporal Event Detection for Soccer Game Analytics

  • Analytical Topics (usually includes SQL and Python):
    • Data Footprint Reduction (in cooperation with SAP)
    • Synthetic benchmarks: How synthetic are they really?


Your coach will hand relevant related work to you as soon as you've been assigned to a topic. To get a general introduction into main memory computing, we recommend the following book:

  • A Course in In-Memory Data Management: The Inner Mechanics of In-Memory Databases by Hasso Plattner (please contact Andrea Lange in order to borrow the book for seminar preparation).


The following components determine the final mark:

PartValuation in %Type
Presentations (Mid-term / Final)30 (10 / 20)Personal grade
Results30Personal grade
Article30Personal grade
Peer-Review of an assigned paper of a fellow student10Personal grade

All of the components must be passed in order to pass the seminar.


The first meeting took place in the Villa, V-2.16, on April 13 at 9.15 AM (Slides).

We will probably meet all together twice in the first two weeks. Afterwards, there will be weekly meetings with your coach.

In case you're interested to get an introduction into paper writing or in-memory computing, we will also schedule a slot for that.