Sie sind hier: Startseite Lehre Projekte, Abschlussarbeiten

Projekte, Abschlussarbeiten

Aufgrund der Nähe zum Rechenzentrum kann der Lehrstuhl für Kommunikationssysteme ein breites Spektrum an Themen anbieten. Ziel ist es, dass jede(r) möglichst ein Thema bearbeiten kann, welches den eigenen Interessen nahe kommt. Der Lehrstuhl für Kommunikationssysteme bietet Praktika und Projekte sowohl für den Bachelor- als auch den Masterstudiengang an. Die unten aufgeführten Themen sind in der Regel für beide Studiengänge geeignet und können entsprechend flexibel erweitert werden.

Die Reihenfolge der hier Angebotenen Arbeiten entspricht nicht unbedingt unseren Präferenzen oder der Dringlichkeit unseres Interesses. Sie werden sukzessive nach Idee hintereinander eingeordnet. Deshalb ist die Zahl der angebotenen Arbeiten weit höher als die Zahl der Studierenden, die wir zu einem gegebenen Zeitpunkt in der von uns erwarteten Qualität betreuen können. Aus diesen Gründen spiegelt diese Liste auch nicht immer unsere freien Kapazitäten wider! (Hier müssen wir auch dringend auf die Konkurrenz verweisen!)

Die meisten der unten aufgeführten Projekte könnten mit entsprechend angepasstem Umfang und Schwerpunkt auch als Abschlussarbeit (Bachelor-/Masterarbeit) bearbeitet werden.

Ort und Zeit

Alle vorgestellten Projekte/Abschlussarbeiten können jederzeit begonnen werden. Hierzu bitte Kontaktaufnahme per E-Mail.

Je nach Vereinbarung und Interesse gibt es regelmäßige Treffen. Die Treffen finden im Rechenzentrum im Institutsviertel (Hermann-Herder-Str. 10) statt.

Zielsetzung

In dieser Veranstaltung soll unter Anleitung ein Software- oder entsprechendes Projekt selbständig geplant und umgesetzt werden. Diese bauen zum Teil auf bereits erfolgten Arbeiten auf oder können ihrerseits eine spätere Bachelor- oder Master-Arbeit vorbereiten.

Ziele dieser Veranstaltung liegen in der Vermittlung von Programmier- und Projekterfahrung, Koordination, Verständnis und die selbständige Bearbeitung von (komplexeren) Softwareprojekten.

 

Themen

Bei Interesse an einem der folgenden Themen bitte beim jeweiligen Mitarbeiter melden.

 

Optimierung von Desktop-Remote-Access (Streaming/HW-Encoding; Master- oder Bachelorarbeit)

Verschiedene Usecases im Bereich des RZ-Betriebs (E-Prüfungsumgebungen in der Cloud, Remote-Visualisierung für HPC, Zugriff auf leistungsfähige Imaging-VM) erfordern einen effizienten und performanten Remote-Zugriff auf komplette Desktop-Umgebungen (GUI mit teilweise hohen Auflösungen, in denen 3D-beschleunigte Inhalte etc. angezeigt werden).

Für den schnellen Remote-Zugriff wird ein effizientes Encoding der Desktop-Anzeige benötigt, wozu potenziell Kombinationen aus Hardware (verschiedene Typen Grafikkarten) und einschlägige Video-Libraries (FFmpeg, GStreamer, ...) zum Einsatz kommen. Für den Transport zum Endnutzer werden weitere Kanäle beispielsweise für bidirektionales Audio, den Zugriff auf USB oder Teile des Filesystems oder Security Tokens benötigt. Eine Open-Source-Implementierung liegt mit SPICE vor.

Hier gilt es zu untersuchen, wie sich das Protokoll so optimieren lässt, dass verschiedene Qualitäten der Netzwerkverbindung (Bandbreite, Jitter, Delay; Schwankungen dieser Parameter) zu einem guten (durch den Nutzer beeinflussbares) Ergebnis führen. Diese Thematik wird in Forschung und Praxis, beispielsweise an den verschiedenen VNC-Implementierungen schon länger diskutiert und soll auf SPICE im gegebenen Setup mit der auf Open Stack basierenden bwCloud untersucht werden. Verbesserungspotenziale sind prototypisch zu implementieren und zu evaluieren.

Sinnvolle Vorkenntnisse

Umgang mit Video-En-/Decoding(-workflows), Netzwerkkenntnisse, grundlegende Systemkenntnisse Linux (Treiber, Hardware, Bibliotheken, Compiler, ...)

Kontakt

Dirk von Suchodoletz

Evaluating and implementing observability tools

The Emulation-as-a-Service (EaaS) framework (https://gitlab.com/emulation-as-a-service/eaas-server) developed by the University of Freiburg lets users access preserved digital assets using their Web browser by starting software emulators (e.g., QEMU) in virtual machine instance in the cloud. While it has it very rudimentary "dashboard" showing basic data like the number of currently used virtual machine instance, currently consumed and available memory, or the number of accesses, it lacks more sophisticated observability tools.

The goal of this bachelor/master project/thesis is to evaluate such obeservability tools, both for showing basic metrics in a dashboard (e.g., using Nagios, Grafana, OpenSearch Dashboards) as well as for supporting debugging by letting developers see aggregated log files from different sources in a unified way (e.g., using SigNoz, HyperDX). Some basic examples (e.g., using the OpenTelemetry standard) of data sources should be implemented in the existing EaaS framework and be connected to a chosen observability tool.

Depending on if this work is done as a bachelor/master project or thesis, the focus and depth can vary, e.g., students can focus on evaluating and comparing different frameworks or looking and implementing one single framework in more depth.

Kontakt

Rafael Gieschke

 

Comparing performance of public/private clouds

The Emulation-as-a-Service (EaaS) framework (https://gitlab.com/emulation-as-a-service/eaas-server) lets users access preserved digital assets using their Web browser. To do so, it starts a software emulator (e.g., QEMU) per emulation session in a virtual machine instance in the cloud (multiple emulation sessions can run on the same virtual machine). The virtual disk images which are connected to the emulators are stored in S3-compatible storage buckets and are accessed via HTTP(S) range requests while the emulator is running.

This nested approach (emulator on VM) presents a computationally relatively challenging scenario for computing clouds, which different cloud providers handle differently well. However, a benchmark to judge the performance (e.g., latency, starting delay, availability, interaction between computing cloud and S3 storage, ... vs. price) of different installations on different clouds is currently missing in the EaaS project.

The goal of this bachelor/master project/thesis is to examine how well the OpenStack-based private cloud operated by the University of Freiburg as part of the bwCloud project performs with this scenario in comparison to different (commercial) public cloud providers (e.g., Google Compute Engine, OVH, Vultr, possibly together with external S3-compatible storage providers like Backblaze). As part of the project/thesis, a benchmark scenario should be developed and tested on different clouds.

Kontakt

Rafael Gieschke

 

Energieeffizientes Scheduling in der bwCloud (Bachelor- bzw. Master-Arbeit, Teilmengen als Projekt)

Gestiegene Strompreise und Erwartungen seitens Green-IT machen es erforderlich, deutlich stärker über die Optimierung des Betriebs von IT-Infrastrukturen nachzudenken. Ein relevanter Block ist die bwCloud, die sowohl für den Campus als auch landesweit Dienste erbringt und derzeit über 100 sog. Compute-Knoten, auf denen die VMs laufen, verfügt. Je nach Tageszeit oder Bedarfen in Forschung und Lehre ergeben sich stark schwankende Lastprofile.

Im Zuge dieses Projekts wäre zu untersuchen, welche Möglichkeiten der permanenten Optimierung des Betriebs durch beispielsweise Zusammenfassen von VMs auf weniger Compute-Knoten und Abschalten der leergelaufenen Knoten existieren. Ebenso könnte es sinnvoll sein, Maschinen für eine Zeit zu suspendieren und diese zu anderen Zeiten wieder aufzuwecken (z. B. wenn eine Anforderung einer kurzfristigen Reduktion des Strombedarfs vorliegt). Hierzu sollte ein externer Dienst (außerhalb des OpenStack-Frameworks) erstellt werden, der via API solche Steuerungsvorgänge (move, suspend, resume, ...) von VMs vornehmen kann. Dabei sollten auch längerfristige und regelmäßig wiederkehrende Zeitsteuerungen umsetzbar sein.

Diese Überlegungen und Maßnahmen sind experimentell, praktisch zu überprüfen (Implementierung) und dabei erzielte Einsparungen abzuschätzen. Dabei soll gleichzeitig untersucht werden, welcher Typ von Maschine sich gut verschieben lässt und welche Einbußen an Nutzerkomfort u. U. damit einhergehen.

Sinnvolle Vorkenntnisse

Linux, Kommandozeile, Umgang mit Cloud-VMs

Kontakt

Dirk von Suchodoletz

Modernisierung eines Moduls (als Web-Tool) zur Verwaltung von virtuellen Lern- und Lehrumgebungen (Projekt/Bachelor-Arbeit)

Für die Verwaltung von virtuellen Lern- und Lehrumgebungen wird eine in die Jahre gekommene Java-Applikation eingesetzt, die eine Reihe von Nachteilen hat. Hier ist auf Basis bisheriger Entwicklungen und Erfahrungen diese geeignet in eine Web-Anwendung zu überführen. Hierbei sind die Anforderungen anhand der bisherigen Applikation und der Erwartungen seitens der Lehrenden zu erstellen. Es liegt bereits eine erste Umsetzung einer solchen Web-Anwendung vor, die jedoch diverse Funktionslücken aufweist. Dabei sollen verschiedene Anforderungen analysiert und geeignet umgesetzt werden. Für die Anwendung sollten moderne Web-Frameworks zum Einsatz kommen.

Sinnvolle Vorkenntnisse

Programmiererfahrung, Umgang mit modernen Web-Frameworks, Schnittstellenprogrammierung

Kontakt

Dirk von Suchodoletz

System and Unit Testing (Project/Bachelor-Thesis)

Software and system testing is still a major issue in certain scenarios. Especially if (semi-)automated update procedures are deployed on complex software stacks (like desktop operating system with a plethora of installed applications and dependencies or HPC environments with complex software stacks for different science domains), a verification of proper execution of tasks would be very helpful to evaluate the result. Modern project development environments like GitLab or GitHub allow to integrate "Continuous Integration", "Continuous Development" workflows.

This would be desirable for automated setups of operating systems (like scripted installation of Linux plus additional applications with Ansible or Packer). Implicit software updates take place, which might break required workflows or applications. Virtualization encapsulates such software stacks and makes them easier to operate compared to physical machines (start, stop, suspend/resume, checkpointing, ...).

For ongoing research and development projects of the eScience department, solutions on continuous integration (CI) are sought after. This project should look for usable approaches to system and unit testing of service environments (e.g., running in virtualization or containers). This is to be integrated into development frameworks like GitLab for demonstration and evaluation purposes.

Desirable/Required knowledge

Linux, Operating Systems, Virtualization, Development & Testing

Contact

Dirk von Suchodoletz

Untersuchung/Portierung (X86 🡆 ARM) eines größeren Software-Projekts am Beispiel Raspberry Pi 4/5 (Projekt/Bachelor-Arbeit)

Das Rechenzentrum betreibt bwLehrpool als Grundlage für PC-Pools und Digital Signage (elektronische Türschilder, Info-Displays) in unterschiedlichen Varianten. Diese Umgebung ist derzeit X86-zentriert. Für eine Reihe einfacherer Einsatzgebiete, wie Recherche-Terminals, el. Türschilder, Kiosk-Systeme, wäre die ARM-Architektur eine attraktive Alternative, insbesondere, da eine große Auswahl an Hardware in Form sog. Single Board Computer (SBC) zur Auswahl steht. Moderne Boot-Methoden erlauben zunehmend das Laden initialer Betriebssystembestandteile via HTTP(S), was eine sinnvolle Alternative zum klassischen (i)PXE-Boot sein könnte. Das U-Boot ist hier ein klassischer Ansatz im Bereich der SBC.

Im Projekt wäre zu analysieren, welche Komponenten wie angepasst bzw. geändert werden müssen, so dass auf der bestehenden Code-Basis eine funktionierende Boot-Umgebung sowohl für X86 als auch ARM erzeugt werden kann. Hierbei spielen die Virtualisierung und virtuelle Lehr- und Lernumgebungen eine nachgelagerte Rolle, Container-Support sollte betrachtet werden. Die Generierung und Bereitstellung der Umgebung würde auf Basis der bisherigen X86-Server-Infrastruktur erfolgen. Der Fokus liegt primär auf alternativer Client-Hardware (am Beispiel eines Raspberry Pi 4/5), die sich möglichst nahtlos in die bestehende Landschaft integrieren lassen sollte.

Sinnvolle Vorkenntnisse

Weitergehende Betriebssystemkenntnisse, Programmierkenntnisse, Cross-Plattform-Entwicklung

Kontakt

Dirk von Suchodoletz

 

Optimierter Web-Client für SPICE (Remote Access/VDI)

Für erweiterte Funktionalität für den Desktop-Remote-Zugriff bietet sich SPICE an, welches einerseits ein offenes Protokoll ist (vergleichbar zum proprietären RDP) und andererseits in verschiedenen Implementierungen existiert. So existiert seit geraumer Zeit die Referenzimplementierung und davon abgeleitet optimierte Varianten wie EyeOS oder als Option in Guacamole. Leider sind die Entwicklungen nicht mehr ganz taufrisch und es gibt verschiedene Diskussionen zu Optimierungen.

Aufgabe der Arbeit ist es, ausgehend von Vorarbeiten einen aktuellen Überblick zum Stand der Entwicklungen zu gewinnen. Dabei soll auf Basis vorliegender Codes eine Weiterentwicklung vorgeschlagen und prototypisch umgesetzt werden. Als Input kann einerseits das laufende System von bwLehrpool Remote Access dienen und andererseits die verschiedenen Überlegungen für ein VDI-System auf Basis einer OpenStack Cloud, wie sie in verschiedenen Kontexten diskutiert werden. Das würde die Einsetzbarkeit des Systems deutlich verbessern und zusätzliche Kanäle, wie beispielsweise bidirektionales Audio, USB-Zugriff, Zugriff auf Drucker oder Homeverzeichnisse schaffen, was das jetzige System in bwLehrpool noch nicht bietet.

Sinnvolle Vorkenntnisse

Programmierkenntnisse Web, grundlegende Netzwerkkenntnisse

Kontakt

Dirk von Suchodoletz

SPICE - Hardwarenaher Remote-Access für bwLehrpool

Es besteht ein zunehmender Bedarf für entfernt nutzbare Desktop-Ressourcen. Diese wurden in bwLehrpool bisher durch verschiedene Hypervisoren für die Desktop-Virtualisierung zur Bereitstellung verschiedener Lehr- und Arbeitsumgebungen, u. a. der Windows-Plattform, in traditionellen Lehrpools angeboten. Die konkrete Umsetzung für den Fernzugriff nutzt Guacamole und VNC für das Abgreifen des Xorg-Bildschirms des einzelnen Clients.

Inhalt dieser Arbeit ist zu untersuchen, wie das in bwLehrpool für den Remote-Access eingesetzte Xorg/VNC gegen SPICE ausgetauscht werden kann. Dabei geht es primär um ein möglichst effizientes Abgreifen des Framebuffers und schnelles (hardware-unterstütztes) Encodieren (in z. B. H.264-Stream). Hierbei sollte betrachtet werden, wie man den Framebuffer möglichst generisch (Xorg, in Zukunft auch Wayland) erreicht, so dass Hardware-Rendering, Video-Decoding etc. bereits auf der lokalen Grafikkarte erfolgen. (Eine parallele lokale Bildschirmausgabe ist eher nur zu Test- und Debug-Zwecken erforderlich.)

Die Arbeit soll dabei auf bestehende Vorarbeiten zur Performance-Evaluation bzw. Quality of Experience bzw. parallel laufende Aktivitäten zum Abgreifen des Framebuffers in QEMU/KVM zurückgreifen und kann dazu bereits vorliegende Erfahrungen und Komponenten nachnutzen. Zur Demonstration sollte es eine entsprechende Implementierung geben, die eine Evaluation erlaubt.

Sinnvolle Vorkenntnisse

Programmierkenntnisse C/C++, Linuxkenntnisse

Kontakt

Dirk von Suchodoletz

Modulares Remote-Access-Gateway für bwLehrpool und bwCloud (Anpassung, Theming, Int. einer Django-Webanwendung)

Für den entfernten Zugriff auf grafische Desktop-Ressourcen in bwLehrpool und bwCloud (QEMU/KVM-Hypervisoren für die Desktop-Virtualisierung zur Bereitstellung verschiedener Lehr- und Arbeitsumgebungen u. a. der Windows-Plattform) wird ein Access-Gateway benötigt, welches verschiedene Aufgaben (Authentifizierung, Scheduling geeigneter Ressourcen, Session-Auswahl, Interaktion mit weiteren Systemen, ...) übernimmt. Hierzu kommt "Bumblebee" der Australian Research Data Cloud zum Einsatz, welche für eine Virtual Desktop Infrastructure auf Basis von OpenStack entwickelt wird.

Das Ziel dieser Arbeit besteht darin, zu analysieren, wie die Webanwendung der Australier:innen so flexibel ausgerichtet werden kann, dass für die verschiedenen Einsatzzwecke (Australien, bwLehrpool, bwCloud) jeweils Anpassungen im Look-and-Feel und im Funktionsumfang vorgenommen werden können. Dabei soll der Code gemeinsam pflegbar bleiben. Die Arbeit soll dabei verschiedene Usecases (Lehrveranstaltung mit N Teilnehmenden, E-Assessment, individuelles Lernen) betrachten, und Vorschläge entwerfen, wie eine entsprechende Umsetzung aussehen könnte.

Je nach Status und Fortschritt der verschiedenen Aktivitäten in diesem Bereich können unterschiedliche Aspekte adressiert werden. Die Arbeit soll dabei auf bestehende Vorarbeiten zurückgreifen. Zur Demonstration sollte es eine entsprechende Implementierung geben, die eine Evaluation erlaubt.

Sinnvolle Vorkenntnisse

Programmierkenntnisse Python, Kenntnisse Django hilfreich, OpenStack/Cloud

Kontakt

Dirk von Suchodoletz

Untersuchungen für Energiesparmöglichkeiten durch Rescheduling auf einer OpenStack Cloud

Das Rechenzentrum betreibt die zentralen IT-Infrastrukturen für den Campus der Universität. Zu diesen zählen die bw- und de.NBI Cloud, die zusammen mit über weit 100 Compute-Knoten zum Hosten von Virtuellen Maschinen u. a. für das wissenschaftliche Rechnen dienen. Wegen der Energiekrise und ökologischen Anforderungen besteht das Ziel, den Betrieb dieser Infrastruktur zu optimieren, ohne dass sich dabei für Nutzende (erhebliche) Leistungseinbußen bemerkbar machen.

Hierzu soll ausgehend von der Nutzung der Rest-API bzw. des CLI für die Steuerung der Cloud zum Starten, Stoppen, Verschieben, Einfrieren und Wiederauftauen von virtuellen Maschinen untersucht werden, wie sich hier eine Optimierung vornehmen lässt. Ein möglicher Input könnte das Lastmonitoring der Compute-Hosts sein, um festzustellen, ob die Menge der laufenden Systeme auf insgesamt weniger Maschinen konsolidiert werden kann und der Rest dann abgeschaltet würde. Hierfür wäre zu untersuchen, wie gut sich aus vorliegenden Informationen Pläne für die Verschiebung erstellen lassen. Ebenfalls wäre zu überlegen, ob man eine generelle "Nachtabsenkung" für einen bestimmte Typ von VMs vornimmt (die beispielsweise Dienste bereitstellen, die nur im Laufe des Tages nachgefragt werden, wie BBB). Dabei wäre anhand einer prototypischen Implementierung zu evaluieren, wie hoch der Aufwand der jeweils einzelnen Schritte der API-Steuerung ist und wie zuverlässig die Aktionen ablaufen. Daraus sollte dann eine generelle Abschätzung von Einsparpotenzialen erfolgen.

Sinnvolle Vorkenntnisse

Grundsätzliche Erfahrung im Umgang mit Cloud-Systemen, virtuellen Maschinen; Programmierkenntnisse, sinnvollerweise Plattformkenntnisse Linux

Kontakt

Dirk von Suchodoletz

State-of-the-Art energieeffizienter Rechenzentren (Bachelorarbeit)

Das Rechenzentrum betreibt die zentralen IT-Infrastrukturen für den Campus der Universität. Zu diesen zählen die Serverräume, in denen unter anderem größere Installationen für Cluster-Systeme für das wissenschaftliche Rechnen gehostet sind.

Diese Systeme haben zusammen mit den an weiteren Stellen betriebenen Maschinen sicherlich eine Leistungsaufnahme von ca. 1 MW elektrischer Leistung, die geeignet weggekühlt werden muss. Angesichts der Energie- und Klimakrise sind dieses zunehmend relevante Größenordnungen, die auf verschiedenen Ebenen der Stromversorgung (aus erneuerbaren Quellen), der effizienten Kühlung und der Abwärmenutzung adressiert werden müssen.

Diese Bachelorarbeit soll den State-of-the-Art des RZ-Betriebes zusammenstellen und aufzeigen, an welchen Stellen mit welchem Aufwand welche Verbesserungen erreicht werden können. Gerade aus dem stark wachsenden kommerziellen RZ-Betrieb sollte es eine Reihe von Best-Practices geben, die für den Betrieb eines Universitätsrechenzentrums evaluiert werden sollten.

Für die erfolgreiche Durchführung der Arbeit sollte ein gewisses Grundverständnis von IT-Infrastrukturen, ihren Energiebedarfen und den physikalischen Konzepten vorhanden sein. Am Ende sollte sie Empfehlungen abgeben, auf denen weitere Entscheidungen für eine bessere Energieeffizienz fußen können

Kontakt

Dirk von Suchodoletz

bwLehrpool als temporäre GPU-Cloud Ressource (Master-Projekt / Master-Thesis)

Für den effizienten Ressourceneinsatz kann es interessant sein, Pool-PCs für bestimmte Zwecke in alternativen Nutzungsformen bereitzustellen. Das RZ stellt mit den Projekten bwLehrpool und bwCloud mögliche Basisplattformen für solche Zwecke bereit, jedoch muss eine geeignete Unterstützung und Steuerung des Betriebs und späteren Zugriffs organisiert werden. Interessant wäre es in dem Zusammenhang auch, vorhandene GPU-Ressourcen bereitzustellen. Damit sollte ein (integriertes) bwLehrpool- und bwCloud-Angebot auf Basis bestehender Hardware Lücken schließen.

Fragstellungen hierbei sind: Es gibt eine Reihe von potenziell geeigneten Maschinen (mit GPU) drin, die auf Eignung zu evaluieren wären. Bekommt man ein Setup in bwLehrpool hin, wo der grafische Desktop auf der Standard-CPU-Karte abgehandelt wird und die GPU nicht durch den X-Treiber blockiert wird. Oder kommen die sauber aneinander vorbei? Eignung der verschiedenen Karten: Nvidia ist preislich auf die Dauer eher unattraktiv, gibt es alternative Angebote, die in die bestehende Infrastruktur passen könnten?

Viele Maschinen in bestehenden PC-Pools ließen sich um eine GPU oder vergleichbar recht einfach erweitern - was wären die Empfehlungen, so dass es reinpasst? Es wäre zu untersuchen, welche Anpassungen an der bwLehrpool-Plattform für den flexiblen Poolbetrieb mit GPU notwendig wären.

Auf der Basis dieser Erkenntnisse würde man aufbauen, so dass man die Rechner in den bestehenden PC-Pools flexibel in verschiedenen Modellen nutzen kann:

  • Tags von 8 bis 20 Uhr (oder was auch immer die Gebäudeöffnungszeit ist) für alle Arten von Kursen interaktiv. Hierzu wird die Karte geeignet eingebunden (muss getestet werden, wie das am besten geht - da sind ein paar Experimente zu machen, s.u.)
  • Nachts und am Wochenende könnte man die Maschinen umbooten/WoL-aktivieren und dann die Studierenden für ihre Experimente zuweisen. Dafür bräuchte es dann noch geeignete Infrastruktur (Software, Scheduling), die das transparent regeln kann.

Eine Reihe von prototypischen Modulen gibt es in bwLehrpool schon und aus dem Projekt ViCE Erfahrung mit Virtualisierung/Containerisierung. Hiermit könnte man Erfahrungen sammeln und das Ganze dann schrittweise ausweiten. In weiteren Schritten wären dann Fragen des Schedulings, Multiplexings und Integration der verschiedenen Infrastrukturen zu diskutieren.

Voraussetzungen

Solide Linux-Kenntnisse, Umgang mit (GP-)GPU, grobe Idee der softwaretechnischen Anforderungen für KI.

Kontakt

Dirk von Suchodoletz

Optimierungspotenziale im Scientific Computing

Das Rechenzentrum betreibt verschiedene Scientific- und High-Performance-Computing-Systeme mit insgesamt deutlich über 1000 Knoten und entsprechendem Energiebedarf. Auf diesen Systemen rechnen sehr verschiedene Forschungsgruppen mit unterschiedlicher Software auf Basis verschiedener Programmiersprachen (so ist beispielsweise Python deutlich ineffizienter in der Code-Ausführung als C/C++/Rust). Die Forschenden sind dabei nicht zwingend Experten in der Optimierung der jeweiligen Problembearbeitung. Es gibt viele Ansätze zu einer besseren Effizienz zu kommen, die teilweise jedoch recht aufwändig sein können. In dieser Arbeit geht es deshalb darum, bezogen auf die gegebenen Umgebungen einen Überblick zu gewinnen, welche Optimierungspotenziale generell bestehen, und anhand der gegebenen Jobs und der genutzten Software eine erste Prioritätenliste zur Verbesserung der Effizienz zu erstellen.

Erforderliche Kenntnisse

Linux, Systemmonitoring, Programmierkenntnisse

Kontakt

Dirk von Suchodoletz

Evaluierung von FDM-Diensten

Am Rechenzentrum werden Dienste und Infrastrukturen für das Forschungsdatenmanagement angeboten, die zunehmend von den unterschiedlichsten Fachdisziplinen nachgefragt werden. Je nach Fachkultur unterscheiden sich die Anforderungen erheblich, so dass es nicht eine Plattform für alle Bedürfnisse gibt. Während erste Angebote Dienste wie abgesicherte SMB/NFS-Bereiche bereitstellen, gibt es mit GitLab eine Plattform zum Versionieren und Teilen von Daten und Code und mit InvenioRDM eine Datenpublikationsplattform. Damit sind jedoch nur Teile der Bedürfnisse der Forschenden bedient.

Aufgabe dieser Arbeit ist es, geeignete Kandidaten an Software bzw. Frameworks zu evaluieren, die einen Teil der Anforderungen, wie Open Source, S3-Backend, Nutzbarkeit via Web-interface, Benutzerverwaltung durch Anbindung an LDAP/AD, oder besser OAuth/OIDC, Möglichkeit zum Teilen von Daten mit Nutzern/Gruppen oder per WWW, umsetzen. Weitere zu untersuchende Punkte wären Cross-Plattform-CLI-Client-Software (zum Transfer größerer Datenmengen) oder die optionale Verfügbarkeit eines GUI-Clienten (wobei Webinterface + CLI + API ausreichen). Für bestimmte Anforderungen könnten Fuse-Implementierungen von Vorteil sein. Weitere Kriterien wären die Einfachheit der Benutzung, Zuverlässigkeit, Skalierbarkeit, Performanz und, ob sich die Software in aktiver Entwicklung befindet und über eine größere Gemeinde verfügt. In Frage kommen die folgenden Tools (wobei eigene Recherchen diese Liste ergänzen können):

Erforderliche Kenntnisse

Grundlegende Programmierkenntnisse, Umgang mit verschiedenen Softwareumgebungen/OS, evtl. Erfahrungen mit Containerisierung etc.

Kontakt

Dirk von Suchodoletz

Modularisierung, Anpassung eines Webframeworks für den Zugriff auf grafische Remote-Desktops in der bwCloud (in Bearbeitung)

Für den Zugriff auf allgemein entfernt nutzbare Desktop-Ressourcen wird eine zentrale Einstiegsadresse benötigt, was in heutiger Zeit am besten durch eine Web-Applikation erreicht wird. Im Zuge dieser Arbeit soll für das Virtual-Desktop-Infrastruktur-Projekt untersucht werden, wie sich eine in Australien entwickelte Zugangsschnittstelle (Bumblebee) so anpassen lässt, dass sie als Gateway für unser VDI-Betriebsmodell der bestehenden OpenStack-Cloud (bwCloud) nutzen lässt. Dabei geht es um eine geeignete Modularisierung des Django-Frameworks, um ein flexibles Theming zu erreichen, verschiedene Erweiterungen vorzunehmen, flexibel das Thema AAI zu adressieren und dabei eine gut wartbare, kollaborativ weiterentwickelbare Code-Basis zu erreichen.

Die Arbeit soll dabei ausgehend von Anforderungen für verschiedene Usecases (Online-Lehrveranstaltungen, Trainings, Remote-Visualisierung, Standard-Desktop, ...) Zur Demonstration sollte es eine prototypische Anpassung, Implementierung geben, die eine weitergehende Evaluation und Nutzung im Projekt erlaubt.

Erforderliche Kenntnisse

Anforderungen: Gute Programmierkenntnisse, Web-Frameworks wie Django, ...

Kontakt

Dirk von Suchodoletz

Untersuchungen zur besseren Absicherung von Diensten (Proxy-Server, konsolidiertes Logging, Analysen)

Dienste im öffentlichen Netz (betrieben z. B. in Cloud-Infrastrukturen, Bare-Metal, Virtualisierung) sind immer wieder standardisierten Angriffen aus dem Internet ausgesetzt. Wenn dann die Betreiber*innen sich nicht um regelmäßige Sicherung und Aktualisierung kümmern bzw. aus Unwissenheit Einfallstore öffnen, fallen solche Maschinen als Angreiferinnen (z. B. in DOS-Kampagnen oder als Zwischenhop für weitere Angriffe) an anderer Stelle auf.

Um die Angriffsfläche zu verkleinern, gibt es z. B. die Möglichkeit eines vorgeschalteten (Web-)Proxys oder Reverse-NAT über spezielle Gateways. An dieser Stelle wäre zu untersuchen, wie ein solcher Proxy ausgestaltet werden kann und andererseits, wie er (automatisiert) bei der Bereitstellung von Diensten für diese Zwecke konfiguriert werden könnte, so dass die meisten Funktionen für die involvierten Dienstadministrator*innen transparent konfiguriert werden.

Neben der Einschränkung von Zugriffsmöglichkeiten sollte umgekehrt durch Logging und Monitoring potenzielle Angriffe oder Schwachstellen erkannt werden. Dazu macht es Sinn, Log-Informationen geeignet zu aggregieren (z.B. die vom Proxy und dann vom jeweiligen Dienst) und auch Dienst-übergreifend auswerten zu können. Hierzu existieren verschiedene Frameworks, um dieses zu erleichtern (Logstash, Docker-ELK).

Sinnvolle Vorkenntnisse

Grundlegendes Verständnis Kommunikationsnetze; Verständnis von Linux-Firewalls, Traffic-Monitoring, Netzwerkanalyse

Kontakt

Dirk von Suchodoletz

Untersuchungen zur besseren Absicherung von Cloud-VMs (Dienstprofile und Netzwerksegmentierung) (in Bearbeitung)

Virtuelle Maschinen in Cloud-Infrastrukturen sind immer wieder standardisierten Angriffen aus dem Netz ausgesetzt. Wenn dann die Betreiber*innen sich nicht um regelmäßige Sicherung und Aktualisierung kümmern bzw. aus Unwissenheit Einfallstore öffnen, fallen solche Maschinen als Angreiferinnen an anderer Stelle auf. Da die meisten Maschinen für klare Nutzungsszenarien (z. B. GitLab-Server für eine Lehrveranstaltung, Chat- und Kommunikationsserver für bestimmte Aufgaben, Datenhub, ...) genutzt werden, sollte sich aus ihren Profilen anfallenden ankommenden und abgehenden Netzwerkverkehrs Muster lernen lassen, die dazu genutzt werden könnten, geeignete Netzwerkeinschränkungen vorzunehmen. Das bedeutet eine gewisse Segmentierung des Internets in dem Sinne, dass Bereiche ausgeschlossen werden, wohin kein zur Erfüllung des Dienstes sinnvoller Traffic läuft, bzw. umgekehrt, von woher kein Nutzer dieses Dienstes zu erwarten ist.

Sinnvolle Vorkenntnisse

Grundlegendes Verständnis Kommunikationsnetze, KI; Verständnis von Linux-Firewalls, Traffic-Monitoring, Netzwerkanalyse

Kontakt

Dirk von Suchodoletz