Difference between revisions of "PSE"

From Lsdf
Line 3: Line 3:
   
 
===Überblick===
 
===Überblick===
Wissenschaftliche Forschungsprojekte nutzen oftmals mehrere heterogene Speichersysteme, um wissenschaftliche Daten im Petabyte-Bereich abzulegen. Beim „Big Data“-Projekt am SCC soll ein Werkzeug zur asynchronen Verwaltung dieser großen Datenmengen entstehen. Das Ziel ist hierbei eine Schnittstelle für die Verwaltung von Datenmengen von mehreren Petabytes zu schaffen.
+
Wissenschaftliche Forschungsprojekte nutzen oftmals mehrere heterogene Speichersysteme, um wissenschaftliche Daten im Petabyte-Bereich abzulegen. Bei diesem Projekt am SCC soll ein Werkzeug zur Visualisierung von Nutzungsdaten dieser großen Datenmengen entstehen. Das Ziel ist hierbei produktive Tools zu entwickeln, mit denen dieser teure Speicherplatz effizient verwaltet werden kann. Es soll helfen, ungenutzte Datenmengen zu erkennen und zeitnah auf kostengünstige Speichermedien (Bandlaufwerke) zu migrieren.
   
 
===Projekt===
 
===Projekt===
  +
Konkret soll eine Web Anwendung implementiert werden, bei der die Clients vom Server die Metadaten abrufen und visualisieren. Vorverarbeitungsschritte können auf dem Server durchgeführt werden.
Konkret soll eine Client-Server Lösung implementiert werden, bei der die Clients dem Server Änderungen in der Dateisystemstruktur und dem Speicherort mitteilen. Der Server muss die Anfrage auf Machbarkeit prüfen, die Durchführung planen (Optimierung, Scheduling) und garantieren und an die ausführenden Agenten weiterleiten. Letztere kopieren, verschieben oder Archivieren die vom Nutzer ausgewählten Dateien.
 
   
 
===Details===
 
===Details===
* Es soll ein REST-Server konzipiert und in Python implementiert werden, der Datentransfers über Agents koordiniert. Aufgaben des Servers sind:
+
* Es soll ein REST-Server konzipiert und in Python implementiert werden, der Anfragen der clients. Aufgaben des Servers sind:
** Clientanfragen überprüfen (collision detection)
+
** Clientanfragen überprüfen (authentisierung, authorisierung)
  +
** Statusinformationen bereitstellen
** Scheduling und Priorisierung von Datentransfers
 
  +
** Vorverarbeitung der Metadaten
** Statusinformationen bereitstellen, Zeitabschätzungen
 
 
** Fehlerbehanglung, Logging
 
** Fehlerbehanglung, Logging
* Speichersystem sollen abstrakt behandelt und klassifiziert werden (Qualitäten, wie Geschwindigkeit, Kapazität, Latenz)
+
* Speichersysteme sollen abstrakt behandelt und klassifiziert werden (Qualitäten, wie Kosten, Verfügbarkeit, ...)
 
* Es sollen durch Module (Agents) verschiedene Kopierprotokolle unterstützt werden (cp, scp, gridftp)
 
* Es sollen durch Module (Agents) verschiedene Kopierprotokolle unterstützt werden (cp, scp, gridftp)
 
* Clients sollen dazu dienen Datentransfers zu konfigurieren. Die Transfer-Tasks werden an den Server submittiert, der die Anfragen dann asynchron abarbeitet. Clients können jederzeit Statusabfragen machen. Es sollen geeignete Clients entworfen und implementiert werden:
 
* Clients sollen dazu dienen Datentransfers zu konfigurieren. Die Transfer-Tasks werden an den Server submittiert, der die Anfragen dann asynchron abarbeitet. Clients können jederzeit Statusabfragen machen. Es sollen geeignete Clients entworfen und implementiert werden:
** App bzw. Graphisches User Interface (Python/Java)
+
** Graphisches Web User Interface (Javascript/HTML5)
** Web Client
 
** Kommandozeilenbasierte Python-API
 
** optional: virtuelles Dateisystem (FUSE)
 
 
* Die Clients sollen von den gängigsten Betriebssystemen aus verwendet werden können
 
* Die Clients sollen von den gängigsten Betriebssystemen aus verwendet werden können
 
* Zur Kommunikation zwischen den Komponenten sollen REST Schnittstellen verwendet werden
 
* Zur Kommunikation zwischen den Komponenten sollen REST Schnittstellen verwendet werden

Revision as of 12:09, 22 October 2013

Praxis der Software Entwicklung: Entwicklung eines Big (Meta) Data Visualisers

Überblick

Wissenschaftliche Forschungsprojekte nutzen oftmals mehrere heterogene Speichersysteme, um wissenschaftliche Daten im Petabyte-Bereich abzulegen. Bei diesem Projekt am SCC soll ein Werkzeug zur Visualisierung von Nutzungsdaten dieser großen Datenmengen entstehen. Das Ziel ist hierbei produktive Tools zu entwickeln, mit denen dieser teure Speicherplatz effizient verwaltet werden kann. Es soll helfen, ungenutzte Datenmengen zu erkennen und zeitnah auf kostengünstige Speichermedien (Bandlaufwerke) zu migrieren.

Projekt

Konkret soll eine Web Anwendung implementiert werden, bei der die Clients vom Server die Metadaten abrufen und visualisieren. Vorverarbeitungsschritte können auf dem Server durchgeführt werden.

Details

  • Es soll ein REST-Server konzipiert und in Python implementiert werden, der Anfragen der clients. Aufgaben des Servers sind:
    • Clientanfragen überprüfen (authentisierung, authorisierung)
    • Statusinformationen bereitstellen
    • Vorverarbeitung der Metadaten
    • Fehlerbehanglung, Logging
  • Speichersysteme sollen abstrakt behandelt und klassifiziert werden (Qualitäten, wie Kosten, Verfügbarkeit, ...)
  • Es sollen durch Module (Agents) verschiedene Kopierprotokolle unterstützt werden (cp, scp, gridftp)
  • Clients sollen dazu dienen Datentransfers zu konfigurieren. Die Transfer-Tasks werden an den Server submittiert, der die Anfragen dann asynchron abarbeitet. Clients können jederzeit Statusabfragen machen. Es sollen geeignete Clients entworfen und implementiert werden:
    • Graphisches Web User Interface (Javascript/HTML5)
  • Die Clients sollen von den gängigsten Betriebssystemen aus verwendet werden können
  • Zur Kommunikation zwischen den Komponenten sollen REST Schnittstellen verwendet werden

Kontakt

  • Marcus Hardt SCC [1] 24659
  • Jörg Meyer SCC [2] 24327