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 auch jetzt jederzeit begonnen werden. Hierzu bitte Kontaktaufnahme per E-Mail. Eine Besprechung vor Ort im Rechenzentrum ist nicht erforderlich (und zur Zeit nicht möglich!).

Die Praktika beginnen in der Regel zum jeweiligen Semesterstart und erfolgen in direkter Absprache mit den jeweiligen Ansprechpartnern. Je nach Vereinbarung, Gruppengröße und Interesse gibt es regelmäßige Treffen. Diese umfassen dann Koordination, Vortrag oder Programmieren unter Anleitung. Die Treffen finden im Rechenzentrum im Institutsviertel (Hermann-Herder-Str. 10) statt.

Zielsetzung

In dieser Veranstaltung soll (in Teamarbeit und) 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.

 

Remote Access Proxy/Gateway für bwLehrpool/bwGPUL mit geeigneten Webtechnologien erweitern

Für den Landesdienst bwLehrpool (www.bwlehrpool.de) und das bwGPUL-Projekt soll ein erster Prototyp für den Remote Zugriff auf Standard Pool PCs erstellt und evaluiert werden. Die aktuelle Krise schafft noch ein paar zusätzliche Bedarfe, um potenziell auch Kurse Remote durchführen zu können. Das Projekt soll auf Standardbausteinen (wie Guacamole und VNC mit geeigneten Webtechnologien wie AngularJS) aufsetzen. Die Aufgabe besteht nun darin bestimmte Abbildungen aus der realen Welt des PC Pool Betriebs in ein Remote-Betriebsmodell zu übersetzen.

Zu untersuchen ist, um welche Bausteine für ein solches Gateway aus Guacamole und VNC erweitert werden muss (Session- und Ressourcen-Management), um eine saubere VNC-Session-Zuordnung bei reconnect bei gleichzeitiger Absicherung und (Wieder-)Erkennung von VNC-Sessions zu realisieren. Dabei sollen Benutzern nach dem Login eine Reihe von allgemeinen und kursspezifischen Informationen angezeigt werden können, ebenso wie eine Liste der verfügbaren Clients (z.B. durch Erweiterung eines bestehenden bwLehrpool Moduls). Für das Session- und Ressourcen-Management (Abbildung virt. und reale Räume für Remote-Kurse) ist zu überlegen, wie man mit Elementen von Preemption, Dynamisches WoL und Shutdown arbeitet und hierfür geeignet mit der User-Frontend im Guacamole interagiert. Weitere Detailfragen sind eine geeignete Authentifizierung der Sessions, Bildschirmauflösungen oder eine evtl. notwendige Tastatur-Kalibrierung (für korrekte VNC-Übersetzung der User-Seite) in der Guacamole-Session.

Sinnvolle Vorkenntnisse

Gute Programmierkenntnisse, Webtechnologien, Basis-Erfahrung im Umgang mit Linux

Kontakt

Dirk von Suchodoletz

Rekonstruktion / Aufbau von historischen Builds (Reproducible Builds)

Bachelor/Master-Projekt, Bachelor-Abschlussarbeit

Organisationen wie die Software Heritage Foundation (https://www.softwareheritage.org/) archivieren Source-Code im großen Maßstab. Um diesen Code jedoch wieder zu einem funktionierenden Programm (o.ä.) zu kompilieren werden die passenden Werkzeuge (build tool-chain) benötigt. Hierfür soll untersucht werden wie archivierte Systeme möglich automatisiert für historische Builds genutzt werden können.

Sinnvolle Vorkenntnisse

Linux-Kenntnisse, Programmierkenntnisse.

Kontakt

Klaus Rechert

Rekonstruktion von historischen OpenSource Paket-Repositorien bzw. Updateserver

Bachelor/Master-Projekt

Archivierte (alte) Computersysteme stellen gewisse Erwartungen an ihre Umgebung. Zum Beispiel erwartet eine Linux Distribution Update- bzw. Paketrepositories unter bestimmten Adressen erreichen zu können. Je älter eine Linux-Distribution (oder ein anderes Betriebssystem) desto unwahrscheinlicher ist es das diese Adressen noch gültig sind und die erwarteten Ergebnisse liefern. Anstatt die Installation zu modifizieren, soll der alter Zustand extern, dh. durch ein virtuelle Netzwerkkomponenten wieder hergestellt werden. Es soll untersucht werden wie die div. Netzwerkdienste (DNS, Proxies, etc.) konfiguriert und orchestriert werden müssen, so dass die alten Systeme wieder “normal” funktionieren können. 

Sinnvolle Vorkenntnisse

Programmierkenntnisse.

Kontakt

Klaus Rechert

 

Dokumentation von Mensch-Maschinen Interaktionen

Master-Projekt, Bachelor / Master-Abschlussarbeit

Computer und Software haben einen kurzen Lebenszyklus. Wenn Software archiviert und in Zukunft wieder nutzbar gemacht werden soll wird System- und Nutzerwissen, dass voraussichtlich dann nicht mehr oder nur noch teilweise verfügbar sein wird. Daher ist es wichtig Systeminteraktionen technisch zu dokumentieren. Als ein mögliches Anwendungsbeispiel soll technisch dokumentiert werden, wie in ein einem Computerspiel ein bestimmter Spielstand erreicht werden kann, so dass (1) eine Maschine diesen Spielstand durch “Nachspielen” erreichen kann und (2) aus diesen Aufzeichnungen Wissen abstrahiert werden kann. 

 

Sinnvolle Vorkenntnisse

Machine Learning, Kenntnisse von Video-Codecs und verwandter Web-Technologie, Programmierkenntnisse.

Kontakt

Klaus Rechert

Maschinenverarbeitbare semantisch Beschreibungen von Emulationsumgebungen/Objekten

Bachelor/Master-Projekt, Bachelor-Abschlussarbeit

Komplementär zu dem Thema Recommender System für Emulationsumgebungen sollen (emulierte) Softwareumgebungen semantisch beschrieben werden. Ein wesentliches Ziel soll sein, das Algorithmen besser “verstehen” können was eine Umgebung (d.h. insb. deren Software) “kann”, zum Beispiel welche  wissenschaftliche Datensätze  Datenformate verarbeitet werden können etc.

 

Sinnvolle Vorkenntnisse

JSON-LD und co., RDF, OWL, Programmierkenntnisse.

Kontakt

Klaus Rechert

 

 

Recommender System für Emulationsumgebungen

Master-Projekt / Bacherlor/Master-Abschlussarbeit

(Komplexe) Datensätze, Sammlungen von Dateien, Festplattenabbilder, etc. sollen möglichst automatisch in geeigneten (emulierten) Umgebungen untersucht bzw. ausgewertet werden können. Programme zur Bestimmung der einzelnen Datenformate liefern idR für jede Datei ein Ergebnis. Diese Ergebnisse sollen als Input für einen Algorithmus dienen für ein zu entwickelndes Vorschlagssystem sein.

Sinnvolle Vorkenntnisse

Machine Learning, Programmierkenntnisse.

Kontakt

Klaus Rechert

 

 

Hardware detection tools (like dmidecode) with JSON output

The goal of this task is to add easily parsable output to the dmidecode tool (and/or further utilities like lspci, ethtool, ...).

The dmidecode utility is the GoTo solution for reading the SMBIOS information on modern architectures which lists details about the installed hardware, like the machine's manufacturer and model name, installed CPU, installed memory modules and their speed, manufacturer, and much more. As the tool slowly evolved over the last decades, it only supports human readable output, and the code that generates this output is not structured in a way that allows easily throwing in alternative output formats, i.e. lots of printf() calls sprinkled all over the place as the code walks the binary SMBIOS tables. Thoughtful restructuring of the code is required to successfully add different output formats.

Similar aspects are required for further utilities to detect information on network adapters and links in a system (rather simple for desktop machines with just one link, but more complex for machines with multiple links, connection speeds, IP addresses, ...).

Requirements

Basic knowledge of the C programming language, analytical skills regarding code structure, and communication with the dmidecode (or further tools) maintainers in order to produce a solution that can be accepted to be merged with the original project code. The goal of this exercise is to produce quality code that can be maintained, and wasn't just cobbled together to survive a simple demo for getting a grade.

Contact

Simon Rettberg

Evaluation von S3 Object Store bzw. virtuelle Filesysteme für spezielle Repositorien

Für die Ablage (und spätere Publikation) verschiedener Arten von Daten und die Verknüpfung mit Metadaten werden sog. Repositorien verwendet. Diese können je nach Anwendungsfall recht unterschiedlich aussehen. Im Bibliotheks- oder Archivbereich kommen hierfür Anwendungen wie Dataverse, Fedora/Dspace oder iRODS in Frage für andere Bereiche wie Microskopie OMERO. Um zu evaluieren, welche Herausforderungen anfallen, wenn das typischerweise verwendete Filesystem-Backend gegen eine S3(ElasticSearch)-Schnittstelle getauscht wird, könnte man das an kleineren Community-Projekten wie KODI oder Jellyfin bzw. mit speziellen virtuellen Filesystemen wie S3QL mal durchexerzieren.

Sinnvolle Vorkenntnisse

Weitergehende Programmierkenntnisse, Umgang mit IDE

Kontakt

Dirk von Suchodoletz

Portable Apps in separate (virtual) disk for Virtual Machines

The bwLehrpool project provides a flexible PC pool system which itself can provide various learning and working environments in a virtual machine. The handling of virtual machine images (mainly Windows) gets a bit inflexible from a certain point on: Usually there is a template image with few software installed to have a broad user base which can use it (typically the restriction is because of licenses, no technical restriction). If a software package is getting installed which is not licensed to every possible user, like e.g. Citavi there will be derivates and the number of images is getting multiplied). The image is then "transferred" into the responsibility of that lecturer/user. Derived images are not getting updated by the bwLehrpool team (question of responsibility).

Taking these considerations into account, it makes sense to look into "portable apps" to separate the "good" (unproblematic licenses) and "bad" (restricted licenses) applications and make the whole system much more versatile. The additional or problematic apps should get installed into a separate disk (or virtual CD) which should get attached to the image (automatically; without requiring the reboot of the VM). Of course, not every application behaves very helpful if not installed the standard Microsoft way ... This should be tested, e.g., with Citavi and other relevant applications.

Requirements

Understanding of the relevant OSes; scripting (e.g., PowerShell)

Kontakt

Dirk von Suchodoletz

Untersuchung/Portierung (X86 -> ARM) eines größeren Software-Projekts

Das Rechenzentrum betreibt bwLehrpool als Grundlage für PC-Pools und Digital Signage (el. 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-Plattform eine attraktive Alternative.

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 bis auf Container keine Rolle). 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, die sich möglichst nahtlos in die bestehende Landschaft integrieren lassen sollte.

Sinnvolle Vorkenntnisse

Weitergehende Betriebssystemkenntnisse, Programmierkenntnisse, Cross-Plattform-Entwicklung

Kontakt

Dirk von Suchodoletz

 

Lokale Anpassung von virtuellen Lehr- und Lernumgebungen

Das Rechenzentrum betreibt selbst und im Auftrag verschiedener Fakultäten PC-Pools in unterschiedlichen Varianten. Diese Räume dienen gleichzeitig Lehr- und Prüfungszwecken sowie dem Selbststudium mit Nutzung verschiedener (fachspezifischer) Arbeitsumgebungen. Viele davon basieren auf Windows-Umgebungen (7, 8.1 und 10).

Die zugrundeliegende bwLehrpool-Infrastruktur setzt hierfür stark auf Virtualisierungslösungen, um als diese in Form von virtuelle Desktops zur Verfügung zu stellen. In diesen virtuellen Maschinen sollen beim Start bestimmte Anpassungen (Bildschirmauflösung, Anpassung der Umgebung, evtl. Einbinden von externen Ressourcen (Shares) - eine Art "win. Profile Light" erfolgen.

Die bwLehrpool-Infrastruktur sorgt bereits dafür, dass die Maschinen beim Login die jeweilige VM konfigurieren. Für die interne Konfiguration gibt es bereits ein Tool, dieses soll geeignet erweitert, angepasst etc. werden. Weiterhin sollten Konzepte entwickelt werden, wie bestimmte Aufgaben geeignet in die virtuelle Lehr- und Lernumgebung übergeben werden können. Derzeit werden beispielsweise bestimmte Konfigurationen in verwendeten Programmen nicht gespeichert, da sie nicht im User-Homeverzeichnis hinterlegt werden. Hier sind mögliche Konzepte zu untersuchen und stabile Lösungen zu entwickeln.

Sinnvolle Vorkenntnisse

Basiskenntnisse Virtualisierung, Windows, Skripting

Kontakt

Dirk von Suchodoletz

 

Flexible Desktop-Virtualisierung

Für bwLehrpool wird auf verschiedene Hypervisoren für die Desktop-Virtualisierung (nicht im klassischen Sinne der VDI, jedoch in Punkten vergleichbar) gesetzt. Diese werden je nach Anforderung automatisch konfiguriert. Dieses geschieht einerseits auf Seite der die einzelnen Maschinen vorbereitenden Lehrenden (dann üblicherweise das individuelle Gerät mit VMware-Workstation, VirtualBox oder Linux-KVM) und später dann auf jedem Client, wo dann die VMs als Arbeitsumgebung für den Desktop ausgewählt werden. Ein wesentliches Ziel ist eine starke Abstraktion von der konkreten Lokation, so dass Images einfach zwischen verschiedenen Netzen und Standorten verschiebbar sind.

Im laufenden Projekt ergeben sich eine Reihe von Fragestellungen, die im Rahmen von Projekten bzw. Abschlussarbeiten untersucht werden könnten:

Es werden neue Konzepte gesucht, die das bisherige System für mehrere Virtualisierer (die unter Linux zur Verfügung stehen: VMware (Vorlage), VirtualBox, Linux/KVM) nutzbar machen und den Endnutzern eine höhere Flexibilität bieten. Das soll VirtualBox (und Linux/KVM) transparent einsetzbar machen. Im nächsten Schritt wären Funktionen denkbar, die die lokale Änderung von Images basierend auf Vorarbeiten ermöglichen. Derzeit geschieht dieses über eine externe Anwendung auf Drittsystemen.

Moderne Desktop-Systeme kommen inzwischen mit sehr flexiblen Bildschirmkonfigurationen daher. Dieses stellt die verschiedenen Virtualisierer und die installierten VMs (Gast-Betriebssysteme) vor Herausforderungen, da diese Konfigurationen nicht zwingend transparent durchgereicht werden. Hier wäre zu untersuchen, wie Multi-Monitor bzw. Monitor-Beamer-Setups flexibel und zuverlässig gesteuert werden können (Autodetection, Konfiguration, Benutzerinterface, ...)

Die in bwLehrpool eingesetzten virtuellen Lehr- und Arbeitsumgebungen unterliegen der Verantwortung der verschiedenen Lehrenden. So kann es passieren, dass nach Updates oder Installation von neuen Paketen nicht zwingend optimale oder überhaupt sinnvoll funktionierende Varianten zurückgespielt werden. Hier geht es um Fragen möglicher automatisierter Checks und Tests (Virenscan, Check auf optimiertes Image, Ermittlung von Paketlisten, Check der Metadaten, ...)

Sinnvolle Vorkenntnisse

Linux, Virtualisierer sollte man mal gesehen haben, grundlegende Programmierkenntnisse (Shell etc.)

Kontakt

Dirk von Suchodoletz

 

 

I-doIT/netbox

Das Rechenzentrum betreibt eine Reihe größerer Infrastrukturen, die für die Verwaltung in verschiedenen Sichten inventarisiert und gesteuert werden sollen. Dafür stehen verschiedene Tools zur Verfügung; eines ist I-doIT () ein anderes ist "netbox" von Digital Ocean. Die verschiedenen Tools sind für verschiedene Sichten und Aufgaben gut. Deshalb wird ein Interface benötigt, welches Daten zwischen beiden Systemen synchronisieren kann. Hierbei geht es um API-Programmierung und ein intelligentes Design einer Schnittstelle, die bestimmte Funktionen ergänzen kann.

Voraussetzungen

Programmierkenntnisse, API, Datenbank

Kontakt

Dirk von Suchodoletz

bwLehrpool als GPU-Cloud (Master-Projekt / Master-Thesis)

Das Thema "Ausbildung KI" erfordert den Zugriff auf geeignete Ressourcen. Das RZ stellt mit den Projekten bwLehrpool und bwCloud mögliche Basisplattformen bereit, jedoch muss eine geeignete Unterstützung und Steuerung des Zugriffs organisiert werden. Derzeit werden an vielen Stellen GPU-Ressourcen beschafft, wie diese jedoch geeignet in der Lehre nutzbar werden könnten, ist nicht ganz klar. Daher sollte ein (integriertes) bwLehrpool- und bwCloud-Angebot auf Basis bestehender Hardware Lücken schließen.

Fragen 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 gibts 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

Adding EFI support to memtest86+

The popular memory testing tool memtest86+ currently only boots via traditional BIOS. As EFI-only machines will eventually be the norm, a native EFI binary would be great.

The original memtest86 is now maintained by a company that decided to make further development closed source. Recent memtest86 versions do support EFI, but are not universally free to use. Certain features require a paid license. The task of this project would be to create an EFI loader for the now dormant memtest86+ project, so it can directly run on modern EFI machines.

Requirements

(Basic) knowledge of the x86(64) architecture, the ability to work with technical specs, example code, and getting into an existing code base (mostly C and some assembler).

Contact

Simon Rettberg

Documenting the PXE boot process wrt the iPXE environment

Freely accessible, detailed technical information about the PXE environment is not readily available on the internet. The goal of this (bachelor's/master's) thesis is to document the boot process to give a good understanding of the different stages of a boot process from BIOS/UEFI handover to the PXE stack, loading the NBP, chaining to other PXE binaries, and finally booting an OS (Linux). Emphasis should be put on the memory management at different stages, and how it affects available memory of the OS.

This thesis should aim to document the technical details of a boot process via network. An incomplete list of interesting aspects to research would be:

  • Which mode does the CPU run in at different points during the process
  • Where in memory are things located, what can and cannot be freed
  • iPXE: How does chaining affect memory usage, what is leaking, what can be reclaimed
  • How safe is it to chain from iPXE to e.g. pxelinux and back, what's happening under the hood
  • How to debug broken BIOS/UEFI implementations regarding memory corruption, hangs etc.

 

A good understanding of the x86 architecture is highly recommended for taking on this task. Since existing documentation is scarce, research will probably mostly rely on reading existing source code (iPXE, PXELINUX), so some C skills will also be helpful.

Kontakt

Simon Rettberg

 

System and Unit Testing

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. Same 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 encapsulated such software stacks and make them easier to operate compared to physical machines (start, stop, suspend/resume, checkpointing, ...)

For ongoing research and development projects run by the professorship or the eScience department of the computer center we are looking for usable approaches to system and unit testing of desktop environments (e.g. several Windows versions running in VirtualBox or VMware (or Linux KVM)) or virtualized research environments (HPC software stack in VMs) for ViCE. The first case would extend the bwLehrpool system for automated testing, evaluation (and description) of uploaded VMs, the latter case would focus on reproducible results of compute workflows.

Desirable/Required knowledge

Linux, Operating Systems, Virtualization, Development & Testing

Contact

Dirk von Suchodoletz

Automatische Migration von VMs (hypervisor-übergreifend)

In verschiedenen Szenarien und Projekten (ViCE, bwLehrpool, EaaS, ...) kann es notwendig sein, dass eine Virtuelle Maschine (VM) von einem Typ Hypervisor (z.B. VMware-Workstation) auf einen anderen Typ (z.B. Linux Qemu/KVM) übertragen werden soll. Damit geht häufig die Änderung der virtuellen Hardware einher, welches ein ähnliches Problem für viele Betriebssysteme bedeutet, wie der Ausbau der Systemplatte aus einer Maschine und Einbau in eine (hardwaremäßig) andere Maschine. Hier soll für verschiedene Betriebssysteme untersucht werden, wie weit sich dieses automatisieren ließe und wie größere manuelle Anpassungen vermieden werden können. Üblicherweise lässt sich das Zielsystem ja gut beschreiben (im Sinne der vorhandenen Hardware).

Sinnvolle Vorkenntnisse

Virtualisierer sollte man mal gesehen haben, weitergehende Betriebssystemkenntnisse (Hardware-/Treiberschicht), grundlegende Programmierkenntnisse

Kontakt

Dirk von Suchodoletz

Einsatz von Docker für Rechteseparierung

Das Rechenzentrum betreibt ein HPC-System welches durch Cloud-Funktionalität in seiner Nutzbarkeit erweitert werden soll. Zur Separierung von Nutzerrechten bieten sich Docker-Ansätze oder Virtualisierung an. Jedoch ist es schwierig elegant den Zugriff auf (gemountete) Filesysteme in den Rechten einzuschränken, da Nutzer in einer VM durchaus (unkontrolliert durch den Admin des HPC-Systems) Root (Administrator) mit vollen Rechten sein können. Hier wäre zu untersuchen, welche Möglichkeiten es gibt, geeignet performante Filesysteme des Hosts (BeeGFS, NFS via RDMA) in der Virtualisierung nutzbar zu machen, ohne dass ein Nutzer zu weitreichende Rechte erhält. Der erste Schritt wäre die Untersuchung für eine einzelne VM auf einem Clusternode, weitere Schritte würden die Zahl möglicher VMs (verschiedener Nutzer) erhöhen.

Das Ganze bietet die Grundlage für weitere Überlegungen im Bereich des Infrastrukturprojekts ViCE (http://www.alwr-bw.de/kooperationen/vice/).

Sinnvolle Vorkenntnisse

Voraussetzung für das Projekt sind Netzwerkerfahrungen und Kenntnisse von Virtualisierern, Docker sowie Linux cgroups etc.

Kontakt

Dirk von Suchodoletz