TU Berlin

Department of Telecommunication SystemsBachelor-Projekt: Verteilte Systeme

Page Content

to Navigation

Bachelor-Projekt: Verteilte Systeme


Termine
Ereignis

Termin
Raum
DozentIn
Vorbesprechung
Dienstag, 18.10.2016, um 16:00 Uhr
E-N 152
Thamsen
Schmidt
Gruppentreffen
Wöchentlich, Dienstags um 16:00 Uhr
E-N 152
Thamsen
Schmidt

Anmeldung

  • Das Projekt kann als Programmierpraktikum eingebracht werden.
  • Dieses Projekt ist auf 12 TeilnehmerInnen (die nach der Anmeldung Teams von 3 bis 4 TeilnehmerInnen bilden) begrenzt.
  • Die Anmeldung ist per Email an den Ansprechpartner möglich (siehe rechts) und die Plätze werden dann nach dem Prinzip "First-Come, First-Served" vergeben.
  • Es sind noch Plätze verfügbar und eine Anmeldung ist noch bis 31.10. möglich!

Zielgruppe

BachelorstudentInnen mit grundlegenden Programmierfähigkeiten, die Erfahrung in der Softwareentwicklung im Team und einem praktischen Projekt aus dem Bereich der Verteilten Systeme sammeln möchten.

Inhalt

Lupe

In vielen Bereichen werden die zu analysierenden Datenmengen immer größer. Aus diesem Grund erlauben es Frameworks wie MapReduce, Spark und Flink ganze Cluster aus Computern zur parallelen Datenanalyse zu verwenden. Dabei werden die Analyse-Programme, die Benutzer aus sequentiellen Bausteinen erstellen, automatisch parallel und verteilt ausgeführt. Die Benutzer müssen aber i.d.R. selbst auswählen, wie viele Ressourcen zur Berechnung verwendet werden sollen. Dabei kann die Ausführung durch viele verschiedene Konfigurationsoptionen der Frameworks beeinflusst werden. Diese Faktoren sind maßgeblich sowohl für die Laufzeit als auch die Auslastung der Cluster-Ressourcen. Jedoch ist es für Benutzer häufig nicht einfach abzuschätzen, welche Ressourcen genau (z.B. CPU oder Hauptspeicher oder Disk oder Netzwerk) die Performance eines Jobs bestimmen.

Ziel dieses Bachelorprojekts ist es daher ein interaktives Werkzeug zu entwickeln, dass Nutzern ermöglicht detaillierte Informationen zur Ressourcenauslastung ihrer Jobs explorativ zu erkunden und analysieren. Dies soll es Nutzern ermöglichen die Performance ihrer Cluster-Jobs besser zu verstehen. Sie sollen dabei sowohl konkrete Anfragen formulieren, als auch sich die Performancedaten in unterschiedlichen graphischen Darstellungen anzeigen lassen können.

Das Werkzeug soll als Webapplikation umgesetzt und mit einem bestehenden Monitoring-System integriert werden.

Bei der Umsetzung sollen moderne Praktiken des Projektmanagements eingesetzt werden. Hierbei sollen Methoden aus der agilen Softwareentwicklung verwendet werden--insbesondere ein iterativer Entwicklungsprozess und typische Werkzeuge aus der Welt der Open Source-Entwicklung. Vor dem eigentlichen Projekt werden dazu in einer initialen Phase neben Kerntechnologien auch Projektmanagementtechniken eingeführt. 

Technologien und Sprachen, die zum Einsatz kommen sollen:

  • Javascript (D3js, Reactjs, weitere möglich)
  • Webservice (Nodejs/Spring)
  • Hadoop YARN und Spark und/oder Flink
  • git

Voraussetzungen

Solide Programmierkenntnisse in einer objekt-orientierten Programmiersprache. Interesse an der Entwicklung verteilter Softwaresysteme und an skalierbarer Datenanalyse.

Navigation

Quick Access

Schnellnavigation zur Seite über Nummerneingabe