Sie sind hier: Startseite Lehre Projekte

Projekte

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.

Ort und Zeit

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.

 

Intelligente Türschilder auf E-Ink-Basis

Insbesondere für Räume mit wechselnden Belegungen, wie Vorlesungssäle, Seminarräume oder Computerpools bietet es sich an, statt des wöchentlichen Wechselns papierner Belegungspläne auf moderne elektronische Türschilder zu setzen. Wenn diese besonders energiesparend sein sollen, verwendet man häufig E-Ink-Lösungen. Auf diesen können nicht einfach klassische Webbrowser im Fullscreen laufen, sondern sie werden üblicherweise anders mit Informationen bestückt. In diesem Projekt soll untersucht werden, wie ein möglichst effektives und skalierendes System für eine Versorgung von größeren Gebäuden mit solchen E-Ink-basierten Türschildern aussehen kann und wie die Umsetzung der Datenquellen (aus HIS-in-One bzw. mit Informationen zur tatsächlichen Belegung von Computer-Pools) für die Darstellung erfolgen sollte (z.B. Erzeugen von Bildern aus Webseiten, die dann geeignet an die Displays verteilt werden). Dieses Projekt sollte auf die Vorarbeiten zur allgemeinen Belegungsanzeige im Rahmen des bwLehrpool-Projekts zurückgreifen. Es umfasst sowohl die Recherche geeigneter Hardware (inkl. Stromversorgung via Power-over-Ethernet), Tests, Evaluation als auch eine praktische Umsetzung für fünf Räume ab Februar 2018. Das Projekt kann daher auch in Gruppenarbeit erfolgen.

Voraussetzungen

Gewisse System- und Hardwarekenntnisse, Programmierkenntnisse, Webprogrammierung

Kontakt

Dirk von Suchodoletz

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

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 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".

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.

Sinnvolle Vorkenntnisse

Basiskenntnisse Virtualisierung, Windows, Skripting

Kontakt

Dirk von Suchodoletz

 

Netzwerk-Performance-/Fehlerindikatoren für PC-Pool-Betrieb (auf Basis bwLehrpool)

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. Die Funktion der lokalen Rechner hängt stark von einer fehlerfreien und performanten Netzwerkanbindung ab. Es kann zu schwierig zu debuggenden Fehlersituationen kommen, wenn hier Störungen auftreten. Um solche Störungen möglichst früh zu erkennen und um Indizien für mögliche Fehlfunktionen zu identifizieren, soll die schon bestehende Self-Monitoring-Componente der einzelnen Maschinen geeignet erweitert werden. Etliche Daten/Informationen werden auf den Bootserver als Log übertragen, diesen Teil gilt es ebenfalls geeignet zu erweitern (mit größerer Datenmenge und steigenden Client-Zahlen wird es sehr schnell unübersichtlich). Indikatoren sind geeignet zu ermitteln und eine prototypische Umsetzung auf Basis der bestehenden Umgebung zu realisieren.

Das Ganze ist auf späteren Einsatz angelegt und erfolgt als praktische Mitarbeit im Team in einem laufenden Infrastrukturprojekt des RZ gemeinsam mit der HAW Offenburg (vgl. https://www.bwlehrpool.de).

Sinnvolle Vorkenntnisse

Voraussetzung für das Projekt sind Netzwerk- und Programmiererfahrungen.

Kontakt

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

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.

Hier 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. 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.

Sinnvolle Vorkenntnisse

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

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

Disk image format identification

In order to ease the use of arbitrary digital objects given as disk images, they have to be characterized to match suitable emulators and/or to determine how to proceed with this type of data.

The focus of this project is to identify the technical characteristics of an image file using the disktype tool (https://github.com/eaas-framework/disktype). Unfortunately, disktype in its current version is not producing machine-readable results, hence we cannot automate the characterization process.

Expected tasks:

  • develop a concept for hierarchical (technical) image information (e.g. media-type, partition-table etc.)
  • emit machine-readable data

Preconditions

C programming skills.

 

Contact

Klaus Rechert