Please send me an Email if you need an appointment.

Gerhard Habiger

Until October 2015, Gerhard Habiger studied Computer Science at the University of Ulm. Shortly thereafter he started working at the Institute of Distributed Systems as a research assistant.

Research Interests

  • Distributed Systems
    • Parallelized state machine replication
    • Deterministic schedulers
    • Self-optimization of parallelized SMR
      • Scheduler reconfiguration
      • Resource efficiency
  • Reinforcement Learning for online optimization problems



G. Habiger, F. J. Hauck, H. P. Reiser and J. Köstler, "Self-optimising application-agnostic multithreading for replicated state machines" in Proc. of the 39th Int. Symp. on Rel. Distr. Sys. (SRDS), 2020.


J. Domaschka, C. Berger, H. P. Reiser, P. Eichhammer, F. Griesinger, J. Pietron, M. Tichy, F. J. Hauck and G. Habiger, "SORRIR: a resilient self-organizing middleware for IoT applications" in Proc. of 6th Int. Worksh. on Middlew. and App. for the Internet of Things (M4IoT), Davis, CA, Dez. 2019. pp. 13-16.
G. Habiger and F. J. Hauck, "Systems support for efficient state-machine replication" in Tagungsband des FB-SYS Herbsttreffens 2019, Osnabrück, GI, 2019.
P. Eichhammer, C. Berger, H. P. Reiser, J. Domaschka, F. J. Hauck, G. Habiger, F. Griesinger and J. Pietron, "Towards a robust, self-organizing IoT platform for secure and dependable service execution" in Tagungsband des FB-SYS Herbsttreffens 2019, Osnabrück, GI, 2019.


G. Habiger, F. J. Hauck, J. Köstler and H. P. Reiser, "Resource-Efficient State-Machine Replication with Multithreading and Vertical Scaling" in Proc. of the 14th Eur. Dep. Comp. Conf. (EDCC), Iaşi, Romania, IEEE, Sep. 2018.

State-machine replication (SMR) enables transparent and delayless masking of node faults. It can tolerate crash faults and malicious misbehavior, but usually comes with high resource costs, not only by requiring multiple active replicas, but also by providing the replicas with enough resources for the expected peak load. This paper presents a vertical resource-scaling solution for SMR systems in virtualized environments, which can dynamically adapt the number of available cores to current load. In similar approaches, benefits of CPU core scaling are usually small due to the inherent sequential execution of SMR systems in order to achieve determinism. In our approach, we utilize sophisticated deterministic multithreading to avoid this bottleneck and experimentally demonstrate that core scaling then allows SMR systems to effectively tailor resources to service load, dramatically reducing service provider costs.


B. Erb, D. Meißner, G. Habiger, J. Pietron and F. Kargl, "Consistent Retrospective Snapshots in Distributed Event-sourced Systems" in Proc. of the Int. Conf. on Netw. Sys. (NetSys), Göttingen, 2017, Mä. 2017.

An increasing number of distributed, event-based systems adopt an architectural style called event sourcing, in which entities keep their entire history in an event log. Event sourcing enables data lineage and allows entities to rebuild any previous state. Restoring previous application states is a straightforward task in event-sourced systems with a global and totally ordered event log. However, the extraction of causally consistent snapshots from distributed, individual event logs is rendered non-trivial due to causal relationships between communicating entities. High dynamicity of entities increases the complexity of such reconstructions even more. We present approaches for retrospective and global state extraction of event-sourced applications based on distributed event logs. We provide an overview on historical approaches towards distributed debugging and breakpointing, which are closely related to event log-based state reconstruction. We then introduce and evaluate our approach for non-local state extraction from distributed event logs, which is specifically adapted for dynamic and asynchronous event-sourced systems.


F. J. Hauck, G. Habiger and J. Domaschka, "UDS: a novel and flexible scheduling algorithm for deterministic multithreading" in Proc. of the 35th Int. Symp. on Reliable Distrib. Sys. (SRDS), Budapest, Hungry, 2016-09-26, Sep. 2016.
B. Erb, G. Habiger and F. J. Hauck, "On the Potential of Event Sourcing for Retroactive Actor-based Programming" in Proc. of the 1st Workshop on Progr. Models and Lang. for Distrib. Comp., Rome, Italy, 2016-07-17, Jul. 2016.

The actor model is an established programming model for distributed applications. Combining event sourcing with the actor model allows the reconstruction of previous states of an actor. When this event sourcing approach for actors is enhanced with additional causality information, novel types of actor-based, retroactive computations are possible. A globally consistent state of all actors can be reconstructed retrospectively. Even retroactive changes of actor behavior, state, or messaging are possible, with partial recomputations and projections of changes in the past. We believe that this approach may provide beneficial features to actor-based systems, including retroactive bugfixing of applications, decoupled asynchronous global state reconstruction for recovery, simulations, and exploration of distributed applications and algorithms.
G. Habiger, "Implementation of asynchronous request handling in BFT SMaRt", Institute of Distributed Systems, 2016.

Current research efforts of our institute include a project on deterministic scheduling of multithreaded applications for State Machine Replication (SMR) systems with Byzantine Fault Tolerance (BFT). One part of this project aims to integrate our own work on deterministic scheduling with the BFT SMaRt library. Currently, BFT SMaRt only supports synchronous request-response patterns, whereas our planned SMR platform needs these patterns to be asynchronous. The goals of this project are (i) to analyze the existing BFT SMaRt codebase, (ii) to implement the necessary interfaces for asynchronous request handling and (iii) to integrate these changes into the existing BFT SMaRt libraries.
G. Habiger, F. J. Hauck, J. Köstler and H. P. Reiser, "Vertikale Skalierung für aktiv replizierte Dienste in Cloud-Infrastrukturen" , 2016.


G. Habiger, "Distributed Versioning and Snapshot Mechanisms on Event-Sourced Graphs", Masterarbeit VS-M13-2015, Institut für Verteilte Systeme, Universität Ulm, Okt. 2015.

Two interesting approaches to tackle many of today's problems in large scale data processing and live query resolution on big graph datasets have emerged in recent years. Firstly, after Google's presentation of its graph computing platform Pregel in 2010, an influx of more or less similar platforms could be observed. These platforms all share the goal of providing highly performant data mining and analysis capabilities to users, enabling a wide variety of today's technologies like ranking web pages in the the web graph of the WWW or analysing user interactions in social networks. Secondly, the old concept of message logging for failure recovery was rediscovered and combined with event based computing in the early 2000s and is now known as event sourcing. This approach to system design keeps persistent logs of every single change of all entities in a computation, providing highly interesting options like state restoration by replaying old events, retroactive event modifications, phenomenal debugging capabilities and many more. A recently published paper suggests the merging of those two approaches to create a hybrid event-sourced graph computing platform. This platform would show unique characteristics compared to other known solutions. For example, computations on temporal data can yield information about the evolution of a graph and not only its current state. Furthermore, for backups or to enable offline analysis on large compute clusters, snapshot extraction – i.e. reproducing any consistent global state the graph has ever been in – from the event logs produced by event-sourced graph computations is possible. This thesis provides one of the first major works related to this proposed hybrid platform and provides background knowledge related to these aforementioned topics. It presents a thorough overview over the current state-of-the-art in graph computing platforms and causality tracking in distributed systems and finally develops an efficient mechanism for extracting arbitrary, consistent global snapshots from a distributed event log produced by an event-sourced graph computation.


G. Habiger, "Security and Privacy of Implantable Medical Devices", Bachelorarbeit, Institut für Medieninformatik, Universität Ulm, Mai 2012.

The high demand and growing market for Implantable Medical Devices shows a widespread need for invisible and unobtrusive medical treatment of medical conditions like e.g. diabetes or cardiac arrythmia. The advancements of technology in this field make devices increasingly inter-connected, allowing them to communicate wirelessly with sensors, medical telemetry systems or device programmers. However, the increased complexity and the fact that many medical devices nowadays can be programmed and controlled via wireless links, brings with it a plethora of vulnerabilities. Adversaries capable of imitating authorized device programmers could gain control over IMDs, leading to serious injury or even death of their users. Other attacks could target a patient’s private medical data. This thesis strives to give an overview over the current state of research and recent developments in the field of IMD-security and privacy. It will discuss known vulnerabilities and possible defensive measures and evaluate the current risks involved with using a modern IMD. Based on these discussions, design concerns for IMD manufacturers are then summarized.


Exercises for Lectures

  • Fault Tolerant Distributed Systems - FTDS (english) [SuSe 2020]
  • Multimedia Communication - MMK (german) [WiSe 19/20]
  • Fault Tolerant Distributed Systems - FTDS (english) [SuSe 2019]
  • Multimedia Communication - MMK (german) [WiSe 18/19]
  • Fault Tolerant Distributed Systems - FTDS (english) [SuSe 2018]
  • Multimedia Communication - MMK (german) [WiSe 17/18]
  • Fault Tolerant Distributed Systems - FTDS (english) [SuSe 2017]
  • Architectures for Distributed Internet Services - AvID (german) [SuSe 2017]
  • Multimedia Communication - MMK (german) [WiSe 16/17]
  • Architectures for Distributed Internet Services - AvID (german) [SuSe 2016]


  • Research Trends in Distributed Systems - RTDS [SuSe 2020]
  • Research Trends in Distributed Systems - RTDS [WiSe 2020]
  • Research Trends in Distributed Systems - RTDS [SuSe 2019]
  • Research Trends in Distributed Systems - RTDS [WiSe 18/19]
  • Research Trends in Distributed Systems - RTDS [SuSe 2018]
  • Research Trends in Distributed Systems - RTDS [WiSe 17/18]
  • Research Trends in Distributed Systems - RTDS [SuSe 2017]
  • Research Trends in Distributed Systems - RTDS [WiSe 16/17]
  • Research Trends in Distributed Systems - RTDS [SuSe 2016]
  • Effective Java - KTT (German) [SuSe 2016]

Lab Projects

  • Development of Middleware Systems - MWE [SuSe 2018]
  • Development of Middleware Systems - MWE [WiSe 17/18]
  • Development of Middleware Systems - MWE [SuSe 2017]
  • Development of Middleware Systems - MWE [WiSe 16/17]
  • Development of Middleware Systems - MWE [SuSe 2016]


Abschlussarbeiten und Projekte