Here are some of the engineering and research projects I am currently working on:

Archived projects


EdgeRun: Edge Computing & Analysis Platform EdgeRun Logo

EdgeRun is a platform for edge computing. It is built around the idea of serverless edge computing, i.e., treating geo-distributed networked compute devices as a transparent compute fabric. Operational mechanisms from cloud computing, such as scheduling or auto-scaling, have several limitations when used in heterogeneous infrastructure scenarios. Operating data-intensive application, such as machine learning workflows, is particularly difficult. EdgeRun aims to address these issues, and provides an ecosystem of tools for analysing such systems.

EdgeRun Testbed

EdgeRun comprises various loosely coupled components and tools. The core platform, tau is built on Kubernetes and OpenFaaS. At the heart sits a custom scheduler for edge-based serverless workloads called Skippy. For evaluating the scheduler, we have built a simulator using SimPy that simulates container-based severless environments called FaaS-Sim. To evaluate under different system parameters, we developed ether, an edge topology synthesizer.

Contributors

Open Problems

  1. Rausch, T., Lachner, C., Frangoudis, P. A., Raith, P., & Dustdar, S. (2020). Synthesizing Plausible Infrastructure Configurations for Evaluating Edge Computing Systems. In 3rd USENIX Workshop on Hot Topics in Edge Computing (HotEdge 20). USENIX Association. [Preprint]
  2. Rausch, T., Hummer, W., Muthusamy, V., Rashed, A., & Dustdar, S. (2019). Towards a Serverless Platform for Edge AI. In 2nd USENIX Workshop on Hot Topics in Edge Computing (HotEdge 19). USENIX Association. [Preprint]
  3. Rausch, T., & Dustdar, S. (2019). Edge Intelligence: The Convergence of Humans, Things, and AI. In 2019 IEEE International Conference on Cloud Engineering (IC2E 19). [Preprint]

Resources

EMMA: Elastic MQTT MiddlewAre

EMMA Architecture

EMMA is a distributed MQTT middlerware that connects MQTT Clients to Brokers via Gateways to enable mobility and low-latency messaging via edge resources. It dynamically reconfigures the broker–client network based on their proximity to optimize latency. It is an effort to realize the vision of Osmotic Message-Oriented Middleware.

EMMA is written in Java using NIO and Netty. Brokers implement the MQTT protocol. EMMA also implements a control and monitoring protocol that allow a controller component to orchestrate the network. Brokers and Gateways have few dependencies and can be complied AOT using, for example, Graal Native to allow running it on constrained devices without a JVM. The controller is a Spring Boot application that is intended to run in the Cloud on a VM. It uses Redis to distribute routing tables across brokers.

Contributors

Open Problems

  1. Rausch, T., Dustdar, S., & Ranjan, R. (2018). Osmotic Message-Oriented Middleware for the Internet of Things. IEEE Cloud Computing, 5(2), 17–25. [Preprint]
  2. Rausch, T., Nastic, S., & Dustdar, S. (2018). EMMA: Distributed QoS-Aware MQTT Middleware for Edge Computing Applications. In 2018 IEEE International Conference on Cloud Engineering (IC2E). [Preprint] [Presentation]
  3. Rausch, T. (2017). Message-oriented Middleware for Edge Computing Applications. In Proceedings of the 18th Doctoral Symposium of the 18th International Middleware Conference (pp. 3–4). [Preprint] [Presentation]

Resources


MC2: Mini Compute Cluster

Computational resources distributed at the edge of the network are the fundamental infrastructural component of edge computing. The operational scale of edge computing introduces new challenges for building and operating suitable computation platforms. Many application scenarios require edge computing resources to provide reliable response times while operating in dynamic and resource-constrained environments.

The MC2 is a prototype of a portable energy-aware, cluster-based edge computer that aims to address these challenges. It is portable because it is compact in size, and consumes energy at a scale that could be served by medium sized batteries. It is energy-aware because it provides a power-management runtime to access energy consumption data in real-time, and control the power state of its nodes. Finally, it is cluster-based because it comprises multiple physical nodes to provide reliable and scalable computing.

MC2 Prototype

Components

The project comprises several components used to operate and interact with the system, and define and execute experiments.

Contributors

Open Problems

  1. Rausch, T., Raith, P., Pillai, P., & Dustdar, S. (2019). Demo: A System for Operating Energy-Aware Cloudlets. In 2019 IEEE/ACM Symposium on Edge Computing (SEC’19). IEEE. [Preprint]
  2. Rausch, T., Avasalcai, C., & Dustdar, S. (2018). Portable Energy-Aware Cluster-Based Edge Computers. In 2018 IEEE/ACM Symposium on Edge Computing (SEC’18). [Preprint] [Presentation]

Resources


CPS/IoT Ecosystem Cloud

CPS/IoT Ecosystem Cloud

A central part of the CPS/IoT Ecosystem architecture is a cloud that connects the living IoT labs. For the cloud infrastructure, we are building a small-scale OpenStack cluster at one of the TU.it data centers.


Archive

These are some projects I have been working on in the past.

CInsight: Predictive Analytics for Continuous Integration Workflows

Continuous Integration is a widespread practice, and while CI has evidently improved aspects of the software development process, errors during CI builds pose a threat to development efficiency. As an increasing amount of time goes into fixing such errors, failing builds can significantly impair the development process and become very costly By identifying characteristics of development practices that cause build failures, we can predict preliminary results for an integration. This helps developers react to possible problems even before a build is initiated, thereby saving time and resources. Also, a predictive analytics framework for CI builds could potentially be used for optimized operations of CI platforms, such as Travis or Bamboo.

The CInsight framework provides methods and tools to analyze CI build failures, link the code changes that triggered them, and use machine learning to build models for predicting CI build failures.

Resources

  1. Rausch, T. (2018). Java OSS Travis-CI Build Failure Dataset [Data set]. Zenodo. https://doi.org/10.5281/zenodo.1745638

  2. Rausch, T., Hummer, W., Leitner, P., & Schulte, S. (2017). An Empirical Analysis of Build Failures in the Continuous Integration Workflows of Java-based Open-source Software. In Proceedings of the 14th International Conference on Mining Software Repositories. [Preprint] [Presentation]

  3. Rausch, T. (2016). Build Failure Prediction in Continuous Integration Workflows. Diploma Thesis, TU Wien. [Thesis] [Presentation]