Verteilte Anwendungen, Plattformen und Systeme - Themen

Auf dieser Seite finden Sie ausgeschriebene offene Themen zu den Projektmodulen Verteilte Anwendungen, Plattformen und Systeme. Falls Sie sich für eines der Themen interessieren, wenden Sie sich bitte (gerne auch während des Semesters) an den genannten Betreuer. Häufig haben wir auch noch kurzfristig zusammengestellte Themen, bei denen wir nicht selten auch auf Ihre Vorlieben eingehen können. Sollte in der folgenden Liste nichts für Sie dabei sein, kontaktieren Sie bitte einen der Betreuer oder Prof. Hauck.

„ByTI: Simulation Environment for a Byzantine Timer for State-Machine Replication,“ Projektarbeitarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2020 – Verfügbar.
Byzantine fault tolerance can handle not only crashing nodes but also nodes with arbitrary faulty behaviour (hacking, intrusions, sporadic and intermittent faults). State-machine replication (SMR) can tolerate Byzantine failures by replicating a service onto multiple nodes and deploying a communication protocol that distributes requests to all replicas in the same order. Each replica node needs to run deterministically in order to achieve the same output in correct nodes. For implementing a deterministic timer (wall clock, interval timer), we developed a heartbeat-based distributed algorithm called ByTI (Byzantine Time Intervals). In order to improve and visualise its behaviour, this project is supposed to develop a simulation environment for the ByTI algorithm. The simulation environment should visualise the sent messages and its temporal distribution including the outcome of ByTI results (current time, interval lengths). The simulator should be able to simulate configurable message delays, delay distributions and predefined Byzantine behaviour. Further, the simulated algorithm should be adaptable in order to implement improvements. The student may decide on the technology used for implementation.
„in.Crease-Reg: Design and implementation of a web application for student regulations,“ Projektarbeitarbeit, F. J. Hauck (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2020 – Verfügbar.
Imagine you could read all regulations of your study program online. You could see diffs to previous version, see only the paragraphs that matter to you, and you can follow links to referred paragraphs and even other regulations. Official comments may explain complex wordings. Sounds interesting? You could work towards that with this project. As part of the in.Crease web application, we want to create a regulation module that does exactly that. Technologies in use are among others Angular, TypeScript, Node.js and PostgreSQL. The project has to design the user story, the user interface, the interface between frontend and backend, the data model, and the caching strategy for improving server performance. A lot of previous thoughts are available as a starting point, as is a framework of components for the UI, e.g., a sophisticated tree component and the main component to select context and the type of module of the service. As the envisioned service is rather complex, this topic could easily be split among multiple students or into multiple parts for a single student. Pairs of students are also welcome.
„Yahoo Cloud Storage Benchmark for State-Machine Replication,“ Projektarbeitarbeit, G. Habiger (Betreuung), F. J. Hauck (Prüfer), Inst. of Distr. Sys., Ulm Univ., 2020 – Verfügbar.
The YCSB is an open source benchmarking specification and framework for evaluating the performance of database-like software. Since its release in 2010, it has evolved into a de facto stan-dard for benchmarking commercial products like Redis, HBase, Cassandra and many others. Not only in the industry, but also in the scientific community, many researchers are using the YCSB to evaluate and compare their scientific findings and software artifacts against other published solutions. This project should create a YCSB Client implementation and workloads for benchmarking our platform for replicated state-machines built within our institute in the recent years. State-machine replication is a technique for providing high levels of fault-tolerance. In research projects we extended the existing BFT-SMaRt framework for our use. In the future we would like to use the results of this project to evaluate performance changes when extending the framework further. Students with previous knowledge in these areas are preferred, but the necessary skills can also be acquired during the project. At the end of the project, a thorough comparison of the newly YCSB-enabled software artifacts should be conducted.